diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 147e01bf6b9..827803dc9f9 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -51812,6 +51812,375 @@ components: $ref: '#/components/schemas/SecurityMonitoringCriticalAsset' type: array type: object + SecurityMonitoringDatasetAttributesResponse: + description: Attributes of a security monitoring dataset. + properties: + createdAt: + description: The creation timestamp of the dataset. + example: 2025-03-20 10:00:00+00:00 + format: date-time + type: string + createdByHandle: + description: The handle of the user who created the dataset. + example: bruce.lee + type: string + createdByName: + description: The name of the user who created the dataset. + example: Bruce Lee + type: string + definition: + $ref: '#/components/schemas/SecurityMonitoringDatasetDefinition' + description: + description: A description of the dataset. + example: A dataset for monitoring authentication events + type: string + modifiedAt: + description: The last modification timestamp of the dataset. + example: 2025-03-20 12:00:00+00:00 + format: date-time + type: string + name: + description: The name of the dataset. + example: authentication_dataset + type: string + orgId: + description: The organization ID. + example: 123456 + format: int64 + type: integer + updatedByHandle: + description: The handle of the user who last updated the dataset. + example: chuck.norris + type: string + updatedByName: + description: The name of the user who last updated the dataset. + example: Chuck Norris + type: string + version: + description: The version of the dataset. + example: 1 + format: int64 + type: integer + required: + - description + - name + - version + - orgId + - definition + - createdAt + type: object + SecurityMonitoringDatasetCreateAttributesRequest: + description: Attributes for creating a security monitoring dataset. + properties: + definition: + $ref: '#/components/schemas/SecurityMonitoringDatasetDefinition' + description: + description: A description of the dataset (maximum 255 characters). + example: A dataset for monitoring authentication events + type: string + required: + - description + - definition + type: object + SecurityMonitoringDatasetCreateDataRequest: + description: Data for creating a security monitoring dataset. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateAttributesRequest' + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetType' + required: + - type + - attributes + type: object + SecurityMonitoringDatasetCreateDataResponse: + description: Data returned after creating a security monitoring dataset. + properties: + id: + description: The unique identifier of the created dataset. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetType' + required: + - id + - type + type: object + SecurityMonitoringDatasetCreateRequest: + description: Request to create a security monitoring dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateDataRequest' + required: + - data + type: object + SecurityMonitoringDatasetCreateResponse: + description: Response after creating a security monitoring dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateDataResponse' + required: + - data + type: object + SecurityMonitoringDatasetDataResponse: + description: A security monitoring dataset. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetAttributesResponse' + id: + description: The unique identifier of the dataset. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetType' + required: + - id + - type + - attributes + type: object + SecurityMonitoringDatasetDefinition: + description: The definition of a dataset, including its data source, name, indexes, + and columns. + properties: + columns: + description: The columns in the dataset. + items: + $ref: '#/components/schemas/SecurityMonitoringDatasetDefinitionColumn' + type: array + data_source: + description: The data source for the dataset. + example: logs + type: string + indexes: + description: The indexes to use for the dataset. + items: + example: k9 + type: string + type: array + name: + description: The name of the dataset. Must start with a letter, contain + only lowercase letters, numbers, and underscores, and be at most 255 characters + long. + example: my_dataset + type: string + required: + - data_source + - name + - columns + type: object + SecurityMonitoringDatasetDefinitionColumn: + description: A column in a dataset definition. + properties: + column: + description: The name of the column. + example: message + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetDefinitionColumnType' + required: + - column + - type + type: object + SecurityMonitoringDatasetDefinitionColumnType: + description: The type of the column in a dataset definition. + enum: + - string + - integer + - double + - boolean + example: string + type: string + x-enum-varnames: + - STRING + - INTEGER + - DOUBLE + - BOOLEAN + SecurityMonitoringDatasetDependenciesAttributesRequest: + description: Attributes for dataset dependencies request. + properties: + datasetIds: + description: Array of dataset IDs to check dependencies for (minimum 1, + maximum 100). + example: + - dataset-1 + items: + example: dataset-1 + type: string + maxItems: 100 + minItems: 1 + type: array + required: + - datasetIds + type: object + SecurityMonitoringDatasetDependenciesDataRequest: + description: Data for dataset dependencies request. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesAttributesRequest' + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesType' + required: + - type + - attributes + type: object + SecurityMonitoringDatasetDependenciesRequest: + description: Request to get dataset dependencies. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesDataRequest' + required: + - data + type: object + SecurityMonitoringDatasetDependenciesResponse: + description: Response containing dataset dependencies. + properties: + data: + description: Array of dataset dependencies. + items: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependencyDataResponse' + type: array + required: + - data + type: object + SecurityMonitoringDatasetDependenciesType: + description: The type of the response. + enum: + - security_monitoring_dataset_dependencies + example: security_monitoring_dataset_dependencies + type: string + x-enum-varnames: + - SECURITY_MONITORING_DATASET_DEPENDENCIES + SecurityMonitoringDatasetDependencyAttributesResponse: + description: Attributes for dataset dependency. + properties: + count: + description: The count of resources that depend on the dataset. + example: 2 + format: int64 + type: integer + ids: + description: Array of IDs of resources that depend on the dataset. + example: + - rule-1 + items: + example: rule-1 + type: string + type: array + resource_type: + description: The type of resource that depends on the dataset. + example: security_detection_rule + type: string + required: + - resource_type + - ids + - count + type: object + SecurityMonitoringDatasetDependencyDataResponse: + description: Dependencies for a dataset. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependencyAttributesResponse' + id: + description: The dataset ID. + example: dataset-1 + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesType' + required: + - id + - type + - attributes + type: object + SecurityMonitoringDatasetListMeta: + description: Metadata for dataset list responses. + properties: + totalCount: + description: The total count of datasets. + example: 42 + format: int64 + type: integer + required: + - totalCount + type: object + SecurityMonitoringDatasetResponse: + description: Response containing a security monitoring dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetDataResponse' + required: + - data + type: object + SecurityMonitoringDatasetType: + description: Type for security monitoring dataset objects. + enum: + - security_monitoring_dataset + example: security_monitoring_dataset + type: string + x-enum-varnames: + - SECURITY_MONITORING_DATASET + SecurityMonitoringDatasetUpdateAttributesRequest: + description: Attributes for updating a security monitoring dataset. + properties: + definition: + $ref: '#/components/schemas/SecurityMonitoringDatasetDefinition' + description: + description: A description of the dataset (maximum 255 characters). + example: Updated dataset description + type: string + version: + description: The expected version of the dataset for concurrent modification + detection. + example: 1 + format: int64 + type: integer + required: + - description + - definition + type: object + SecurityMonitoringDatasetUpdateDataRequest: + description: Data for updating a security monitoring dataset. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetUpdateAttributesRequest' + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetType' + required: + - type + - attributes + type: object + SecurityMonitoringDatasetUpdateRequest: + description: Request to update a security monitoring dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetUpdateDataRequest' + required: + - data + type: object + SecurityMonitoringDatasetsHistoryResponse: + description: Response containing the history of a security monitoring dataset. + properties: + data: + description: Array of dataset versions ordered by version descending. + items: + $ref: '#/components/schemas/SecurityMonitoringDatasetDataResponse' + type: array + required: + - data + type: object + SecurityMonitoringDatasetsListResponse: + description: Response containing a list of security monitoring datasets. + properties: + data: + description: Array of datasets. + items: + $ref: '#/components/schemas/SecurityMonitoringDatasetDataResponse' + type: array + meta: + $ref: '#/components/schemas/SecurityMonitoringDatasetListMeta' + required: + - data + - meta + type: object SecurityMonitoringFilter: description: The rule's suppression filter. properties: @@ -91214,6 +91583,390 @@ paths: summary: Get a suppression's version history tags: - Security Monitoring + /api/v2/security_monitoring/datasets: + get: + description: List all datasets for the organization with optional pagination, + filtering, and sorting. + operationId: ListSecurityMonitoringDatasets + parameters: + - description: Size for a given page. The maximum allowed value is 100. + in: query + name: page[size] + required: false + schema: + default: 10 + example: 10 + format: int64 + type: integer + - description: Specific page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + type: integer + - description: Sort datasets by name, created at, or modified at. Prefix with + '-' for descending order. + in: query + name: sort + required: false + schema: + example: -createdAt + type: string + - description: Filter datasets by name or description. + in: query + name: filter[query] + required: false + schema: + example: my_dataset + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetsListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List all datasets + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + post: + description: Create a new dataset for security monitoring. + operationId: CreateSecurityMonitoringDataset + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a dataset + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/security_monitoring/datasets/dependencies: + post: + description: Batch retrieves which security rules depend on specified datasets. + operationId: BatchGetSecurityMonitoringDatasetDependencies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get dataset dependencies + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/security_monitoring/datasets/{dataset_id}: + delete: + description: Delete a dataset by its ID. + operationId: DeleteSecurityMonitoringDataset + parameters: + - description: The ID of the dataset. + in: path + name: dataset_id + required: true + schema: + example: 123e4567-e89b-12d3-a456-426614174000 + format: uuid + type: string + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a dataset + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + get: + description: Get a specific dataset by its ID. + operationId: GetSecurityMonitoringDataset + parameters: + - description: The ID of the dataset. + in: path + name: dataset_id + required: true + schema: + example: 123e4567-e89b-12d3-a456-426614174000 + format: uuid + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a dataset + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + patch: + description: Update an existing dataset. + operationId: UpdateSecurityMonitoringDataset + parameters: + - description: The ID of the dataset. + in: path + name: dataset_id + required: true + schema: + example: 123e4567-e89b-12d3-a456-426614174000 + format: uuid + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetUpdateRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a dataset + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/security_monitoring/datasets/{dataset_id}/history: + get: + description: Get all historical versions of a dataset. + operationId: GetSecurityMonitoringDatasetHistory + parameters: + - description: The ID of the dataset. + in: path + name: dataset_id + required: true + schema: + example: 123e4567-e89b-12d3-a456-426614174000 + format: uuid + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetsHistoryResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get dataset history + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/security_monitoring/datasets/{dataset_id}/version/{version}: + get: + description: Get a specific version of a dataset. + operationId: GetSecurityMonitoringDatasetByVersion + parameters: + - description: The ID of the dataset. + in: path + name: dataset_id + required: true + schema: + example: 123e4567-e89b-12d3-a456-426614174000 + format: uuid + type: string + - description: The version of the dataset. + in: path + name: version + required: true + schema: + example: 1 + type: integer + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a dataset by version + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint is in preview and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' /api/v2/security_monitoring/rules: get: description: List rules. diff --git a/examples/v2/security-monitoring/BatchGetSecurityMonitoringDatasetDependencies.java b/examples/v2/security-monitoring/BatchGetSecurityMonitoringDatasetDependencies.java new file mode 100644 index 00000000000..cccb68fb0d6 --- /dev/null +++ b/examples/v2/security-monitoring/BatchGetSecurityMonitoringDatasetDependencies.java @@ -0,0 +1,45 @@ +// Get dataset dependencies returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SecurityMonitoringApi; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDependenciesAttributesRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDependenciesDataRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDependenciesRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDependenciesResponse; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDependenciesType; +import java.util.Collections; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled( + "v2.batchGetSecurityMonitoringDatasetDependencies", true); + SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient); + + SecurityMonitoringDatasetDependenciesRequest body = + new SecurityMonitoringDatasetDependenciesRequest() + .data( + new SecurityMonitoringDatasetDependenciesDataRequest() + .attributes( + new SecurityMonitoringDatasetDependenciesAttributesRequest() + .datasetIds(Collections.singletonList("dataset-1"))) + .type( + SecurityMonitoringDatasetDependenciesType + .SECURITY_MONITORING_DATASET_DEPENDENCIES)); + + try { + SecurityMonitoringDatasetDependenciesResponse result = + apiInstance.batchGetSecurityMonitoringDatasetDependencies(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling" + + " SecurityMonitoringApi#batchGetSecurityMonitoringDatasetDependencies"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/security-monitoring/CreateSecurityMonitoringDataset.java b/examples/v2/security-monitoring/CreateSecurityMonitoringDataset.java new file mode 100644 index 00000000000..b12e619e31e --- /dev/null +++ b/examples/v2/security-monitoring/CreateSecurityMonitoringDataset.java @@ -0,0 +1,56 @@ +// Create a dataset returns "Created" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SecurityMonitoringApi; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetCreateAttributesRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetCreateDataRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetCreateRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetCreateResponse; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDefinition; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDefinitionColumn; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDefinitionColumnType; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetType; +import java.util.Collections; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.createSecurityMonitoringDataset", true); + SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient); + + SecurityMonitoringDatasetCreateRequest body = + new SecurityMonitoringDatasetCreateRequest() + .data( + new SecurityMonitoringDatasetCreateDataRequest() + .attributes( + new SecurityMonitoringDatasetCreateAttributesRequest() + .definition( + new SecurityMonitoringDatasetDefinition() + .columns( + Collections.singletonList( + new SecurityMonitoringDatasetDefinitionColumn() + .column("message") + .type( + SecurityMonitoringDatasetDefinitionColumnType + .STRING))) + .dataSource("logs") + .indexes(Collections.singletonList("k9")) + .name("my_dataset")) + .description("A dataset for monitoring authentication events")) + .type(SecurityMonitoringDatasetType.SECURITY_MONITORING_DATASET)); + + try { + SecurityMonitoringDatasetCreateResponse result = + apiInstance.createSecurityMonitoringDataset(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling SecurityMonitoringApi#createSecurityMonitoringDataset"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/security-monitoring/DeleteSecurityMonitoringDataset.java b/examples/v2/security-monitoring/DeleteSecurityMonitoringDataset.java new file mode 100644 index 00000000000..47e0cd33c5a --- /dev/null +++ b/examples/v2/security-monitoring/DeleteSecurityMonitoringDataset.java @@ -0,0 +1,26 @@ +// Delete a dataset returns "No Content" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SecurityMonitoringApi; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.deleteSecurityMonitoringDataset", true); + SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient); + + try { + apiInstance.deleteSecurityMonitoringDataset( + UUID.fromString("123e4567-e89b-12d3-a456-426614174000")); + } catch (ApiException e) { + System.err.println( + "Exception when calling SecurityMonitoringApi#deleteSecurityMonitoringDataset"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/security-monitoring/GetSecurityMonitoringDataset.java b/examples/v2/security-monitoring/GetSecurityMonitoringDataset.java new file mode 100644 index 00000000000..a34ccd7359b --- /dev/null +++ b/examples/v2/security-monitoring/GetSecurityMonitoringDataset.java @@ -0,0 +1,29 @@ +// Get a dataset returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SecurityMonitoringApi; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetResponse; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.getSecurityMonitoringDataset", true); + SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient); + + try { + SecurityMonitoringDatasetResponse result = + apiInstance.getSecurityMonitoringDataset( + UUID.fromString("123e4567-e89b-12d3-a456-426614174000")); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling SecurityMonitoringApi#getSecurityMonitoringDataset"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/security-monitoring/GetSecurityMonitoringDatasetByVersion.java b/examples/v2/security-monitoring/GetSecurityMonitoringDatasetByVersion.java new file mode 100644 index 00000000000..96890e991a2 --- /dev/null +++ b/examples/v2/security-monitoring/GetSecurityMonitoringDatasetByVersion.java @@ -0,0 +1,29 @@ +// Get a dataset by version returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SecurityMonitoringApi; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetResponse; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.getSecurityMonitoringDatasetByVersion", true); + SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient); + + try { + SecurityMonitoringDatasetResponse result = + apiInstance.getSecurityMonitoringDatasetByVersion( + UUID.fromString("123e4567-e89b-12d3-a456-426614174000"), 1); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling SecurityMonitoringApi#getSecurityMonitoringDatasetByVersion"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/security-monitoring/GetSecurityMonitoringDatasetHistory.java b/examples/v2/security-monitoring/GetSecurityMonitoringDatasetHistory.java new file mode 100644 index 00000000000..3ea7b91715d --- /dev/null +++ b/examples/v2/security-monitoring/GetSecurityMonitoringDatasetHistory.java @@ -0,0 +1,29 @@ +// Get dataset history returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SecurityMonitoringApi; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetsHistoryResponse; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.getSecurityMonitoringDatasetHistory", true); + SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient); + + try { + SecurityMonitoringDatasetsHistoryResponse result = + apiInstance.getSecurityMonitoringDatasetHistory( + UUID.fromString("123e4567-e89b-12d3-a456-426614174000")); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling SecurityMonitoringApi#getSecurityMonitoringDatasetHistory"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/security-monitoring/ListSecurityMonitoringDatasets.java b/examples/v2/security-monitoring/ListSecurityMonitoringDatasets.java new file mode 100644 index 00000000000..5d6af82c134 --- /dev/null +++ b/examples/v2/security-monitoring/ListSecurityMonitoringDatasets.java @@ -0,0 +1,26 @@ +// List all datasets returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SecurityMonitoringApi; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetsListResponse; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.listSecurityMonitoringDatasets", true); + SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient); + + try { + SecurityMonitoringDatasetsListResponse result = apiInstance.listSecurityMonitoringDatasets(); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling SecurityMonitoringApi#listSecurityMonitoringDatasets"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/security-monitoring/UpdateSecurityMonitoringDataset.java b/examples/v2/security-monitoring/UpdateSecurityMonitoringDataset.java new file mode 100644 index 00000000000..3f775e0b8d0 --- /dev/null +++ b/examples/v2/security-monitoring/UpdateSecurityMonitoringDataset.java @@ -0,0 +1,56 @@ +// Update a dataset returns "No Content" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SecurityMonitoringApi; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDefinition; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDefinitionColumn; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDefinitionColumnType; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetType; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetUpdateAttributesRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetUpdateDataRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetUpdateRequest; +import java.util.Collections; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.updateSecurityMonitoringDataset", true); + SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient); + + SecurityMonitoringDatasetUpdateRequest body = + new SecurityMonitoringDatasetUpdateRequest() + .data( + new SecurityMonitoringDatasetUpdateDataRequest() + .attributes( + new SecurityMonitoringDatasetUpdateAttributesRequest() + .definition( + new SecurityMonitoringDatasetDefinition() + .columns( + Collections.singletonList( + new SecurityMonitoringDatasetDefinitionColumn() + .column("message") + .type( + SecurityMonitoringDatasetDefinitionColumnType + .STRING))) + .dataSource("logs") + .indexes(Collections.singletonList("k9")) + .name("my_dataset")) + .description("Updated dataset description") + .version(1L)) + .type(SecurityMonitoringDatasetType.SECURITY_MONITORING_DATASET)); + + try { + apiInstance.updateSecurityMonitoringDataset( + UUID.fromString("123e4567-e89b-12d3-a456-426614174000"), body); + } catch (ApiException e) { + System.err.println( + "Exception when calling SecurityMonitoringApi#updateSecurityMonitoringDataset"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java index e18ff8356b4..df671783361 100644 --- a/src/main/java/com/datadog/api/client/ApiClient.java +++ b/src/main/java/com/datadog/api/client/ApiClient.java @@ -775,18 +775,25 @@ public class ApiClient { put("v2.getOpenAPI", false); put("v2.listAPIs", false); put("v2.updateOpenAPI", false); + put("v2.batchGetSecurityMonitoringDatasetDependencies", false); put("v2.cancelThreatHuntingJob", false); put("v2.convertJobResultToSignal", false); + put("v2.createSecurityMonitoringDataset", false); + put("v2.deleteSecurityMonitoringDataset", false); put("v2.deleteThreatHuntingJob", false); put("v2.getFinding", false); put("v2.getRuleVersionHistory", false); put("v2.getSecretsRules", false); + put("v2.getSecurityMonitoringDataset", false); + put("v2.getSecurityMonitoringDatasetByVersion", false); + put("v2.getSecurityMonitoringDatasetHistory", false); put("v2.getSecurityMonitoringHistsignal", false); put("v2.getSecurityMonitoringHistsignalsByJobId", false); put("v2.getThreatHuntingJob", false); put("v2.listFindings", false); put("v2.listMultipleRulesets", false); put("v2.listScannedAssetsMetadata", false); + put("v2.listSecurityMonitoringDatasets", false); put("v2.listSecurityMonitoringHistsignals", false); put("v2.listThreatHuntingJobs", false); put("v2.listVulnerabilities", false); @@ -794,6 +801,7 @@ public class ApiClient { put("v2.muteFindings", false); put("v2.runThreatHuntingJob", false); put("v2.searchSecurityMonitoringHistsignals", false); + put("v2.updateSecurityMonitoringDataset", false); put("v2.createDataset", false); put("v2.deleteDataset", false); put("v2.getAllDatasets", false); diff --git a/src/main/java/com/datadog/api/client/v2/api/SecurityMonitoringApi.java b/src/main/java/com/datadog/api/client/v2/api/SecurityMonitoringApi.java index 652774643e8..07368826709 100644 --- a/src/main/java/com/datadog/api/client/v2/api/SecurityMonitoringApi.java +++ b/src/main/java/com/datadog/api/client/v2/api/SecurityMonitoringApi.java @@ -61,6 +61,14 @@ import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetResponse; import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetUpdateRequest; import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetsResponse; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetCreateRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetCreateResponse; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDependenciesRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetDependenciesResponse; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetResponse; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetUpdateRequest; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetsHistoryResponse; +import com.datadog.api.client.v2.model.SecurityMonitoringDatasetsListResponse; import com.datadog.api.client.v2.model.SecurityMonitoringListRulesResponse; import com.datadog.api.client.v2.model.SecurityMonitoringPaginatedSuppressionsResponse; import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkExportPayload; @@ -106,6 +114,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.UUID; import java.util.concurrent.CompletableFuture; @jakarta.annotation.Generated( @@ -430,6 +439,168 @@ public CompletableFuture> attachJiraIssueWithHt new GenericType() {}); } + /** + * Get dataset dependencies. + * + *

See {@link #batchGetSecurityMonitoringDatasetDependenciesWithHttpInfo}. + * + * @param body (required) + * @return SecurityMonitoringDatasetDependenciesResponse + * @throws ApiException if fails to make API call + */ + public SecurityMonitoringDatasetDependenciesResponse + batchGetSecurityMonitoringDatasetDependencies( + SecurityMonitoringDatasetDependenciesRequest body) throws ApiException { + return batchGetSecurityMonitoringDatasetDependenciesWithHttpInfo(body).getData(); + } + + /** + * Get dataset dependencies. + * + *

See {@link #batchGetSecurityMonitoringDatasetDependenciesWithHttpInfoAsync}. + * + * @param body (required) + * @return CompletableFuture<SecurityMonitoringDatasetDependenciesResponse> + */ + public CompletableFuture + batchGetSecurityMonitoringDatasetDependenciesAsync( + SecurityMonitoringDatasetDependenciesRequest body) { + return batchGetSecurityMonitoringDatasetDependenciesWithHttpInfoAsync(body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Batch retrieves which security rules depend on specified datasets. + * + * @param body (required) + * @return ApiResponse<SecurityMonitoringDatasetDependenciesResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
429 Too many requests -
+ */ + public ApiResponse + batchGetSecurityMonitoringDatasetDependenciesWithHttpInfo( + SecurityMonitoringDatasetDependenciesRequest body) throws ApiException { + // Check if unstable operation is enabled + String operationId = "batchGetSecurityMonitoringDatasetDependencies"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, + "Missing the required parameter 'body' when calling" + + " batchGetSecurityMonitoringDatasetDependencies"); + } + // create path and map variables + String localVarPath = "/api/v2/security_monitoring/datasets/dependencies"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.batchGetSecurityMonitoringDatasetDependencies", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get dataset dependencies. + * + *

See {@link #batchGetSecurityMonitoringDatasetDependenciesWithHttpInfo}. + * + * @param body (required) + * @return + * CompletableFuture<ApiResponse<SecurityMonitoringDatasetDependenciesResponse>> + */ + public CompletableFuture> + batchGetSecurityMonitoringDatasetDependenciesWithHttpInfoAsync( + SecurityMonitoringDatasetDependenciesRequest body) { + // Check if unstable operation is enabled + String operationId = "batchGetSecurityMonitoringDatasetDependencies"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'body' when calling" + + " batchGetSecurityMonitoringDatasetDependencies")); + return result; + } + // create path and map variables + String localVarPath = "/api/v2/security_monitoring/datasets/dependencies"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.batchGetSecurityMonitoringDatasetDependencies", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + /** * Bulk export security monitoring rules. * @@ -1861,6 +2032,164 @@ public SecurityMonitoringCriticalAssetResponse createSecurityMonitoringCriticalA new GenericType() {}); } + /** + * Create a dataset. + * + *

See {@link #createSecurityMonitoringDatasetWithHttpInfo}. + * + * @param body (required) + * @return SecurityMonitoringDatasetCreateResponse + * @throws ApiException if fails to make API call + */ + public SecurityMonitoringDatasetCreateResponse createSecurityMonitoringDataset( + SecurityMonitoringDatasetCreateRequest body) throws ApiException { + return createSecurityMonitoringDatasetWithHttpInfo(body).getData(); + } + + /** + * Create a dataset. + * + *

See {@link #createSecurityMonitoringDatasetWithHttpInfoAsync}. + * + * @param body (required) + * @return CompletableFuture<SecurityMonitoringDatasetCreateResponse> + */ + public CompletableFuture + createSecurityMonitoringDatasetAsync(SecurityMonitoringDatasetCreateRequest body) { + return createSecurityMonitoringDatasetWithHttpInfoAsync(body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Create a new dataset for security monitoring. + * + * @param body (required) + * @return ApiResponse<SecurityMonitoringDatasetCreateResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
201 Created -
400 Bad Request -
403 Forbidden -
429 Too many requests -
+ */ + public ApiResponse + createSecurityMonitoringDatasetWithHttpInfo(SecurityMonitoringDatasetCreateRequest body) + throws ApiException { + // Check if unstable operation is enabled + String operationId = "createSecurityMonitoringDataset"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, + "Missing the required parameter 'body' when calling createSecurityMonitoringDataset"); + } + // create path and map variables + String localVarPath = "/api/v2/security_monitoring/datasets"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.createSecurityMonitoringDataset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Create a dataset. + * + *

See {@link #createSecurityMonitoringDatasetWithHttpInfo}. + * + * @param body (required) + * @return CompletableFuture<ApiResponse<SecurityMonitoringDatasetCreateResponse>> + */ + public CompletableFuture> + createSecurityMonitoringDatasetWithHttpInfoAsync( + SecurityMonitoringDatasetCreateRequest body) { + // Check if unstable operation is enabled + String operationId = "createSecurityMonitoringDataset"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'body' when calling" + + " createSecurityMonitoringDataset")); + return result; + } + // create path and map variables + String localVarPath = "/api/v2/security_monitoring/datasets"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.createSecurityMonitoringDataset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + /** * Create a detection rule. * @@ -2870,26 +3199,182 @@ public ApiResponse deleteSecurityMonitoringCriticalAssetWithHttpInfo(Strin } /** - * Delete an existing rule. + * Delete a dataset. * - *

See {@link #deleteSecurityMonitoringRuleWithHttpInfo}. + *

See {@link #deleteSecurityMonitoringDatasetWithHttpInfo}. * - * @param ruleId The ID of the rule. (required) + * @param datasetId The ID of the dataset. (required) * @throws ApiException if fails to make API call */ - public void deleteSecurityMonitoringRule(String ruleId) throws ApiException { - deleteSecurityMonitoringRuleWithHttpInfo(ruleId); + public void deleteSecurityMonitoringDataset(UUID datasetId) throws ApiException { + deleteSecurityMonitoringDatasetWithHttpInfo(datasetId); } /** - * Delete an existing rule. + * Delete a dataset. * - *

See {@link #deleteSecurityMonitoringRuleWithHttpInfoAsync}. + *

See {@link #deleteSecurityMonitoringDatasetWithHttpInfoAsync}. * - * @param ruleId The ID of the rule. (required) + * @param datasetId The ID of the dataset. (required) * @return CompletableFuture */ - public CompletableFuture deleteSecurityMonitoringRuleAsync(String ruleId) { + public CompletableFuture deleteSecurityMonitoringDatasetAsync(UUID datasetId) { + return deleteSecurityMonitoringDatasetWithHttpInfoAsync(datasetId) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Delete a dataset by its ID. + * + * @param datasetId The ID of the dataset. (required) + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
204 No Content -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse deleteSecurityMonitoringDatasetWithHttpInfo(UUID datasetId) + throws ApiException { + // Check if unstable operation is enabled + String operationId = "deleteSecurityMonitoringDataset"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'datasetId' when calling" + + " deleteSecurityMonitoringDataset"); + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/datasets/{dataset_id}" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.deleteSecurityMonitoringDataset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "DELETE", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Delete a dataset. + * + *

See {@link #deleteSecurityMonitoringDatasetWithHttpInfo}. + * + * @param datasetId The ID of the dataset. (required) + * @return CompletableFuture<ApiResponse<Void>> + */ + public CompletableFuture> deleteSecurityMonitoringDatasetWithHttpInfoAsync( + UUID datasetId) { + // Check if unstable operation is enabled + String operationId = "deleteSecurityMonitoringDataset"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'datasetId' when calling" + + " deleteSecurityMonitoringDataset")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/datasets/{dataset_id}" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.deleteSecurityMonitoringDataset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "DELETE", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Delete an existing rule. + * + *

See {@link #deleteSecurityMonitoringRuleWithHttpInfo}. + * + * @param ruleId The ID of the rule. (required) + * @throws ApiException if fails to make API call + */ + public void deleteSecurityMonitoringRule(String ruleId) throws ApiException { + deleteSecurityMonitoringRuleWithHttpInfo(ruleId); + } + + /** + * Delete an existing rule. + * + *

See {@link #deleteSecurityMonitoringRuleWithHttpInfoAsync}. + * + * @param ruleId The ID of the rule. (required) + * @return CompletableFuture + */ + public CompletableFuture deleteSecurityMonitoringRuleAsync(String ruleId) { return deleteSecurityMonitoringRuleWithHttpInfoAsync(ruleId) .thenApply( response -> { @@ -5735,31 +6220,534 @@ public SecurityMonitoringCriticalAssetResponse getSecurityMonitoringCriticalAsse getSecurityMonitoringCriticalAssetWithHttpInfo(String criticalAssetId) throws ApiException { Object localVarPostBody = null; - // verify the required parameter 'criticalAssetId' is set - if (criticalAssetId == null) { + // verify the required parameter 'criticalAssetId' is set + if (criticalAssetId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'criticalAssetId' when calling" + + " getSecurityMonitoringCriticalAsset"); + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/configuration/critical_assets/{critical_asset_id}" + .replaceAll( + "\\{" + "critical_asset_id" + "\\}", + apiClient.escapeString(criticalAssetId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.getSecurityMonitoringCriticalAsset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get a critical asset. + * + *

See {@link #getSecurityMonitoringCriticalAssetWithHttpInfo}. + * + * @param criticalAssetId The ID of the critical asset. (required) + * @return CompletableFuture<ApiResponse<SecurityMonitoringCriticalAssetResponse>> + */ + public CompletableFuture> + getSecurityMonitoringCriticalAssetWithHttpInfoAsync(String criticalAssetId) { + Object localVarPostBody = null; + + // verify the required parameter 'criticalAssetId' is set + if (criticalAssetId == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'criticalAssetId' when calling" + + " getSecurityMonitoringCriticalAsset")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/configuration/critical_assets/{critical_asset_id}" + .replaceAll( + "\\{" + "critical_asset_id" + "\\}", + apiClient.escapeString(criticalAssetId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.getSecurityMonitoringCriticalAsset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get a dataset. + * + *

See {@link #getSecurityMonitoringDatasetWithHttpInfo}. + * + * @param datasetId The ID of the dataset. (required) + * @return SecurityMonitoringDatasetResponse + * @throws ApiException if fails to make API call + */ + public SecurityMonitoringDatasetResponse getSecurityMonitoringDataset(UUID datasetId) + throws ApiException { + return getSecurityMonitoringDatasetWithHttpInfo(datasetId).getData(); + } + + /** + * Get a dataset. + * + *

See {@link #getSecurityMonitoringDatasetWithHttpInfoAsync}. + * + * @param datasetId The ID of the dataset. (required) + * @return CompletableFuture<SecurityMonitoringDatasetResponse> + */ + public CompletableFuture getSecurityMonitoringDatasetAsync( + UUID datasetId) { + return getSecurityMonitoringDatasetWithHttpInfoAsync(datasetId) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get a specific dataset by its ID. + * + * @param datasetId The ID of the dataset. (required) + * @return ApiResponse<SecurityMonitoringDatasetResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse getSecurityMonitoringDatasetWithHttpInfo( + UUID datasetId) throws ApiException { + // Check if unstable operation is enabled + String operationId = "getSecurityMonitoringDataset"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'datasetId' when calling getSecurityMonitoringDataset"); + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/datasets/{dataset_id}" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.getSecurityMonitoringDataset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get a dataset. + * + *

See {@link #getSecurityMonitoringDatasetWithHttpInfo}. + * + * @param datasetId The ID of the dataset. (required) + * @return CompletableFuture<ApiResponse<SecurityMonitoringDatasetResponse>> + */ + public CompletableFuture> + getSecurityMonitoringDatasetWithHttpInfoAsync(UUID datasetId) { + // Check if unstable operation is enabled + String operationId = "getSecurityMonitoringDataset"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'datasetId' when calling" + + " getSecurityMonitoringDataset")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/datasets/{dataset_id}" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.getSecurityMonitoringDataset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get a dataset by version. + * + *

See {@link #getSecurityMonitoringDatasetByVersionWithHttpInfo}. + * + * @param datasetId The ID of the dataset. (required) + * @param version The version of the dataset. (required) + * @return SecurityMonitoringDatasetResponse + * @throws ApiException if fails to make API call + */ + public SecurityMonitoringDatasetResponse getSecurityMonitoringDatasetByVersion( + UUID datasetId, Integer version) throws ApiException { + return getSecurityMonitoringDatasetByVersionWithHttpInfo(datasetId, version).getData(); + } + + /** + * Get a dataset by version. + * + *

See {@link #getSecurityMonitoringDatasetByVersionWithHttpInfoAsync}. + * + * @param datasetId The ID of the dataset. (required) + * @param version The version of the dataset. (required) + * @return CompletableFuture<SecurityMonitoringDatasetResponse> + */ + public CompletableFuture + getSecurityMonitoringDatasetByVersionAsync(UUID datasetId, Integer version) { + return getSecurityMonitoringDatasetByVersionWithHttpInfoAsync(datasetId, version) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get a specific version of a dataset. + * + * @param datasetId The ID of the dataset. (required) + * @param version The version of the dataset. (required) + * @return ApiResponse<SecurityMonitoringDatasetResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse + getSecurityMonitoringDatasetByVersionWithHttpInfo(UUID datasetId, Integer version) + throws ApiException { + // Check if unstable operation is enabled + String operationId = "getSecurityMonitoringDatasetByVersion"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'datasetId' when calling" + + " getSecurityMonitoringDatasetByVersion"); + } + + // verify the required parameter 'version' is set + if (version == null) { + throw new ApiException( + 400, + "Missing the required parameter 'version' when calling" + + " getSecurityMonitoringDatasetByVersion"); + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/datasets/{dataset_id}/version/{version}" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())) + .replaceAll("\\{" + "version" + "\\}", apiClient.escapeString(version.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.getSecurityMonitoringDatasetByVersion", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get a dataset by version. + * + *

See {@link #getSecurityMonitoringDatasetByVersionWithHttpInfo}. + * + * @param datasetId The ID of the dataset. (required) + * @param version The version of the dataset. (required) + * @return CompletableFuture<ApiResponse<SecurityMonitoringDatasetResponse>> + */ + public CompletableFuture> + getSecurityMonitoringDatasetByVersionWithHttpInfoAsync(UUID datasetId, Integer version) { + // Check if unstable operation is enabled + String operationId = "getSecurityMonitoringDatasetByVersion"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'datasetId' when calling" + + " getSecurityMonitoringDatasetByVersion")); + return result; + } + + // verify the required parameter 'version' is set + if (version == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'version' when calling" + + " getSecurityMonitoringDatasetByVersion")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/datasets/{dataset_id}/version/{version}" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())) + .replaceAll("\\{" + "version" + "\\}", apiClient.escapeString(version.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.getSecurityMonitoringDatasetByVersion", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get dataset history. + * + *

See {@link #getSecurityMonitoringDatasetHistoryWithHttpInfo}. + * + * @param datasetId The ID of the dataset. (required) + * @return SecurityMonitoringDatasetsHistoryResponse + * @throws ApiException if fails to make API call + */ + public SecurityMonitoringDatasetsHistoryResponse getSecurityMonitoringDatasetHistory( + UUID datasetId) throws ApiException { + return getSecurityMonitoringDatasetHistoryWithHttpInfo(datasetId).getData(); + } + + /** + * Get dataset history. + * + *

See {@link #getSecurityMonitoringDatasetHistoryWithHttpInfoAsync}. + * + * @param datasetId The ID of the dataset. (required) + * @return CompletableFuture<SecurityMonitoringDatasetsHistoryResponse> + */ + public CompletableFuture + getSecurityMonitoringDatasetHistoryAsync(UUID datasetId) { + return getSecurityMonitoringDatasetHistoryWithHttpInfoAsync(datasetId) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get all historical versions of a dataset. + * + * @param datasetId The ID of the dataset. (required) + * @return ApiResponse<SecurityMonitoringDatasetsHistoryResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse + getSecurityMonitoringDatasetHistoryWithHttpInfo(UUID datasetId) throws ApiException { + // Check if unstable operation is enabled + String operationId = "getSecurityMonitoringDatasetHistory"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { throw new ApiException( 400, - "Missing the required parameter 'criticalAssetId' when calling" - + " getSecurityMonitoringCriticalAsset"); + "Missing the required parameter 'datasetId' when calling" + + " getSecurityMonitoringDatasetHistory"); } // create path and map variables String localVarPath = - "/api/v2/security_monitoring/configuration/critical_assets/{critical_asset_id}" - .replaceAll( - "\\{" + "critical_asset_id" + "\\}", - apiClient.escapeString(criticalAssetId.toString())); + "/api/v2/security_monitoring/datasets/{dataset_id}/history" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())); Map localVarHeaderParams = new HashMap(); Invocation.Builder builder = apiClient.createBuilder( - "v2.SecurityMonitoringApi.getSecurityMonitoringCriticalAsset", + "v2.SecurityMonitoringApi.getSecurityMonitoringDatasetHistory", localVarPath, new ArrayList(), localVarHeaderParams, new HashMap(), new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + new String[] {"apiKeyAuth", "appKeyAuth"}); return apiClient.invokeAPI( "GET", builder, @@ -5768,38 +6756,47 @@ public SecurityMonitoringCriticalAssetResponse getSecurityMonitoringCriticalAsse localVarPostBody, new HashMap(), false, - new GenericType() {}); + new GenericType() {}); } /** - * Get a critical asset. + * Get dataset history. * - *

See {@link #getSecurityMonitoringCriticalAssetWithHttpInfo}. + *

See {@link #getSecurityMonitoringDatasetHistoryWithHttpInfo}. * - * @param criticalAssetId The ID of the critical asset. (required) - * @return CompletableFuture<ApiResponse<SecurityMonitoringCriticalAssetResponse>> + * @param datasetId The ID of the dataset. (required) + * @return CompletableFuture<ApiResponse<SecurityMonitoringDatasetsHistoryResponse>> */ - public CompletableFuture> - getSecurityMonitoringCriticalAssetWithHttpInfoAsync(String criticalAssetId) { + public CompletableFuture> + getSecurityMonitoringDatasetHistoryWithHttpInfoAsync(UUID datasetId) { + // Check if unstable operation is enabled + String operationId = "getSecurityMonitoringDatasetHistory"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } Object localVarPostBody = null; - // verify the required parameter 'criticalAssetId' is set - if (criticalAssetId == null) { - CompletableFuture> result = + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + CompletableFuture> result = new CompletableFuture<>(); result.completeExceptionally( new ApiException( 400, - "Missing the required parameter 'criticalAssetId' when calling" - + " getSecurityMonitoringCriticalAsset")); + "Missing the required parameter 'datasetId' when calling" + + " getSecurityMonitoringDatasetHistory")); return result; } // create path and map variables String localVarPath = - "/api/v2/security_monitoring/configuration/critical_assets/{critical_asset_id}" - .replaceAll( - "\\{" + "critical_asset_id" + "\\}", - apiClient.escapeString(criticalAssetId.toString())); + "/api/v2/security_monitoring/datasets/{dataset_id}/history" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())); Map localVarHeaderParams = new HashMap(); @@ -5807,15 +6804,15 @@ public SecurityMonitoringCriticalAssetResponse getSecurityMonitoringCriticalAsse try { builder = apiClient.createBuilder( - "v2.SecurityMonitoringApi.getSecurityMonitoringCriticalAsset", + "v2.SecurityMonitoringApi.getSecurityMonitoringDatasetHistory", localVarPath, new ArrayList(), localVarHeaderParams, new HashMap(), new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + new String[] {"apiKeyAuth", "appKeyAuth"}); } catch (ApiException ex) { - CompletableFuture> result = + CompletableFuture> result = new CompletableFuture<>(); result.completeExceptionally(ex); return result; @@ -5828,7 +6825,7 @@ public SecurityMonitoringCriticalAssetResponse getSecurityMonitoringCriticalAsse localVarPostBody, new HashMap(), false, - new GenericType() {}); + new GenericType() {}); } /** @@ -9624,59 +10621,274 @@ public ApiResponse listSecurityFindingsWithHttpInf result.completeExceptionally(ex); return result; } - return apiClient.invokeAPIAsync( - "GET", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** Manage optional parameters to listSecurityMonitoringCriticalAssets. */ + public static class ListSecurityMonitoringCriticalAssetsOptionalParameters { + private String query; + + /** + * Set query. + * + * @param query Query string. (optional) + * @return ListSecurityMonitoringCriticalAssetsOptionalParameters + */ + public ListSecurityMonitoringCriticalAssetsOptionalParameters query(String query) { + this.query = query; + return this; + } + } + + /** + * Get all critical assets. + * + *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfo}. + * + * @return SecurityMonitoringCriticalAssetsResponse + * @throws ApiException if fails to make API call + */ + public SecurityMonitoringCriticalAssetsResponse listSecurityMonitoringCriticalAssets() + throws ApiException { + return listSecurityMonitoringCriticalAssetsWithHttpInfo( + new ListSecurityMonitoringCriticalAssetsOptionalParameters()) + .getData(); + } + + /** + * Get all critical assets. + * + *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfoAsync}. + * + * @return CompletableFuture<SecurityMonitoringCriticalAssetsResponse> + */ + public CompletableFuture + listSecurityMonitoringCriticalAssetsAsync() { + return listSecurityMonitoringCriticalAssetsWithHttpInfoAsync( + new ListSecurityMonitoringCriticalAssetsOptionalParameters()) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get all critical assets. + * + *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfo}. + * + * @param parameters Optional parameters for the request. + * @return SecurityMonitoringCriticalAssetsResponse + * @throws ApiException if fails to make API call + */ + public SecurityMonitoringCriticalAssetsResponse listSecurityMonitoringCriticalAssets( + ListSecurityMonitoringCriticalAssetsOptionalParameters parameters) throws ApiException { + return listSecurityMonitoringCriticalAssetsWithHttpInfo(parameters).getData(); + } + + /** + * Get all critical assets. + * + *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfoAsync}. + * + * @param parameters Optional parameters for the request. + * @return CompletableFuture<SecurityMonitoringCriticalAssetsResponse> + */ + public CompletableFuture + listSecurityMonitoringCriticalAssetsAsync( + ListSecurityMonitoringCriticalAssetsOptionalParameters parameters) { + return listSecurityMonitoringCriticalAssetsWithHttpInfoAsync(parameters) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get the list of all critical assets. + * + * @param parameters Optional parameters for the request. + * @return ApiResponse<SecurityMonitoringCriticalAssetsResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
403 Not Authorized -
429 Too many requests -
+ */ + public ApiResponse + listSecurityMonitoringCriticalAssetsWithHttpInfo( + ListSecurityMonitoringCriticalAssetsOptionalParameters parameters) throws ApiException { + Object localVarPostBody = null; + String query = parameters.query; + // create path and map variables + String localVarPath = "/api/v2/security_monitoring/configuration/critical_assets"; + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPairs("", "query", query)); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.listSecurityMonitoringCriticalAssets", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get all critical assets. + * + *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfo}. + * + * @param parameters Optional parameters for the request. + * @return CompletableFuture<ApiResponse<SecurityMonitoringCriticalAssetsResponse>> + */ + public CompletableFuture> + listSecurityMonitoringCriticalAssetsWithHttpInfoAsync( + ListSecurityMonitoringCriticalAssetsOptionalParameters parameters) { + Object localVarPostBody = null; + String query = parameters.query; + // create path and map variables + String localVarPath = "/api/v2/security_monitoring/configuration/critical_assets"; + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPairs("", "query", query)); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.listSecurityMonitoringCriticalAssets", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** Manage optional parameters to listSecurityMonitoringDatasets. */ + public static class ListSecurityMonitoringDatasetsOptionalParameters { + private Long pageSize; + private Long pageNumber; + private String sort; + private String filterQuery; + + /** + * Set pageSize. + * + * @param pageSize Size for a given page. The maximum allowed value is 100. (optional, default + * to 10) + * @return ListSecurityMonitoringDatasetsOptionalParameters + */ + public ListSecurityMonitoringDatasetsOptionalParameters pageSize(Long pageSize) { + this.pageSize = pageSize; + return this; + } + + /** + * Set pageNumber. + * + * @param pageNumber Specific page number to return. (optional, default to 0) + * @return ListSecurityMonitoringDatasetsOptionalParameters + */ + public ListSecurityMonitoringDatasetsOptionalParameters pageNumber(Long pageNumber) { + this.pageNumber = pageNumber; + return this; + } - /** Manage optional parameters to listSecurityMonitoringCriticalAssets. */ - public static class ListSecurityMonitoringCriticalAssetsOptionalParameters { - private String query; + /** + * Set sort. + * + * @param sort Sort datasets by name, created at, or modified at. Prefix with '-' for descending + * order. (optional) + * @return ListSecurityMonitoringDatasetsOptionalParameters + */ + public ListSecurityMonitoringDatasetsOptionalParameters sort(String sort) { + this.sort = sort; + return this; + } /** - * Set query. + * Set filterQuery. * - * @param query Query string. (optional) - * @return ListSecurityMonitoringCriticalAssetsOptionalParameters + * @param filterQuery Filter datasets by name or description. (optional) + * @return ListSecurityMonitoringDatasetsOptionalParameters */ - public ListSecurityMonitoringCriticalAssetsOptionalParameters query(String query) { - this.query = query; + public ListSecurityMonitoringDatasetsOptionalParameters filterQuery(String filterQuery) { + this.filterQuery = filterQuery; return this; } } /** - * Get all critical assets. + * List all datasets. * - *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfo}. + *

See {@link #listSecurityMonitoringDatasetsWithHttpInfo}. * - * @return SecurityMonitoringCriticalAssetsResponse + * @return SecurityMonitoringDatasetsListResponse * @throws ApiException if fails to make API call */ - public SecurityMonitoringCriticalAssetsResponse listSecurityMonitoringCriticalAssets() + public SecurityMonitoringDatasetsListResponse listSecurityMonitoringDatasets() throws ApiException { - return listSecurityMonitoringCriticalAssetsWithHttpInfo( - new ListSecurityMonitoringCriticalAssetsOptionalParameters()) + return listSecurityMonitoringDatasetsWithHttpInfo( + new ListSecurityMonitoringDatasetsOptionalParameters()) .getData(); } /** - * Get all critical assets. + * List all datasets. * - *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfoAsync}. + *

See {@link #listSecurityMonitoringDatasetsWithHttpInfoAsync}. * - * @return CompletableFuture<SecurityMonitoringCriticalAssetsResponse> + * @return CompletableFuture<SecurityMonitoringDatasetsListResponse> */ - public CompletableFuture - listSecurityMonitoringCriticalAssetsAsync() { - return listSecurityMonitoringCriticalAssetsWithHttpInfoAsync( - new ListSecurityMonitoringCriticalAssetsOptionalParameters()) + public CompletableFuture + listSecurityMonitoringDatasetsAsync() { + return listSecurityMonitoringDatasetsWithHttpInfoAsync( + new ListSecurityMonitoringDatasetsOptionalParameters()) .thenApply( response -> { return response.getData(); @@ -9684,31 +10896,31 @@ public SecurityMonitoringCriticalAssetsResponse listSecurityMonitoringCriticalAs } /** - * Get all critical assets. + * List all datasets. * - *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfo}. + *

See {@link #listSecurityMonitoringDatasetsWithHttpInfo}. * * @param parameters Optional parameters for the request. - * @return SecurityMonitoringCriticalAssetsResponse + * @return SecurityMonitoringDatasetsListResponse * @throws ApiException if fails to make API call */ - public SecurityMonitoringCriticalAssetsResponse listSecurityMonitoringCriticalAssets( - ListSecurityMonitoringCriticalAssetsOptionalParameters parameters) throws ApiException { - return listSecurityMonitoringCriticalAssetsWithHttpInfo(parameters).getData(); + public SecurityMonitoringDatasetsListResponse listSecurityMonitoringDatasets( + ListSecurityMonitoringDatasetsOptionalParameters parameters) throws ApiException { + return listSecurityMonitoringDatasetsWithHttpInfo(parameters).getData(); } /** - * Get all critical assets. + * List all datasets. * - *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfoAsync}. + *

See {@link #listSecurityMonitoringDatasetsWithHttpInfoAsync}. * * @param parameters Optional parameters for the request. - * @return CompletableFuture<SecurityMonitoringCriticalAssetsResponse> + * @return CompletableFuture<SecurityMonitoringDatasetsListResponse> */ - public CompletableFuture - listSecurityMonitoringCriticalAssetsAsync( - ListSecurityMonitoringCriticalAssetsOptionalParameters parameters) { - return listSecurityMonitoringCriticalAssetsWithHttpInfoAsync(parameters) + public CompletableFuture + listSecurityMonitoringDatasetsAsync( + ListSecurityMonitoringDatasetsOptionalParameters parameters) { + return listSecurityMonitoringDatasetsWithHttpInfoAsync(parameters) .thenApply( response -> { return response.getData(); @@ -9716,42 +10928,57 @@ public SecurityMonitoringCriticalAssetsResponse listSecurityMonitoringCriticalAs } /** - * Get the list of all critical assets. + * List all datasets for the organization with optional pagination, filtering, and sorting. * * @param parameters Optional parameters for the request. - * @return ApiResponse<SecurityMonitoringCriticalAssetsResponse> + * @return ApiResponse<SecurityMonitoringDatasetsListResponse> * @throws ApiException if fails to make API call * @http.response.details * * * * - * + * + * + * * *
Response details
Status Code Description Response Headers
200 OK -
403 Not Authorized -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
*/ - public ApiResponse - listSecurityMonitoringCriticalAssetsWithHttpInfo( - ListSecurityMonitoringCriticalAssetsOptionalParameters parameters) throws ApiException { + public ApiResponse + listSecurityMonitoringDatasetsWithHttpInfo( + ListSecurityMonitoringDatasetsOptionalParameters parameters) throws ApiException { + // Check if unstable operation is enabled + String operationId = "listSecurityMonitoringDatasets"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } Object localVarPostBody = null; - String query = parameters.query; + Long pageSize = parameters.pageSize; + Long pageNumber = parameters.pageNumber; + String sort = parameters.sort; + String filterQuery = parameters.filterQuery; // create path and map variables - String localVarPath = "/api/v2/security_monitoring/configuration/critical_assets"; + String localVarPath = "/api/v2/security_monitoring/datasets"; List localVarQueryParams = new ArrayList(); Map localVarHeaderParams = new HashMap(); - localVarQueryParams.addAll(apiClient.parameterToPairs("", "query", query)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[size]", pageSize)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[number]", pageNumber)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[query]", filterQuery)); Invocation.Builder builder = apiClient.createBuilder( - "v2.SecurityMonitoringApi.listSecurityMonitoringCriticalAssets", + "v2.SecurityMonitoringApi.listSecurityMonitoringDatasets", localVarPath, localVarQueryParams, localVarHeaderParams, new HashMap(), new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + new String[] {"apiKeyAuth", "appKeyAuth"}); return apiClient.invokeAPI( "GET", builder, @@ -9760,43 +10987,60 @@ public SecurityMonitoringCriticalAssetsResponse listSecurityMonitoringCriticalAs localVarPostBody, new HashMap(), false, - new GenericType() {}); + new GenericType() {}); } /** - * Get all critical assets. + * List all datasets. * - *

See {@link #listSecurityMonitoringCriticalAssetsWithHttpInfo}. + *

See {@link #listSecurityMonitoringDatasetsWithHttpInfo}. * * @param parameters Optional parameters for the request. - * @return CompletableFuture<ApiResponse<SecurityMonitoringCriticalAssetsResponse>> + * @return CompletableFuture<ApiResponse<SecurityMonitoringDatasetsListResponse>> */ - public CompletableFuture> - listSecurityMonitoringCriticalAssetsWithHttpInfoAsync( - ListSecurityMonitoringCriticalAssetsOptionalParameters parameters) { + public CompletableFuture> + listSecurityMonitoringDatasetsWithHttpInfoAsync( + ListSecurityMonitoringDatasetsOptionalParameters parameters) { + // Check if unstable operation is enabled + String operationId = "listSecurityMonitoringDatasets"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } Object localVarPostBody = null; - String query = parameters.query; + Long pageSize = parameters.pageSize; + Long pageNumber = parameters.pageNumber; + String sort = parameters.sort; + String filterQuery = parameters.filterQuery; // create path and map variables - String localVarPath = "/api/v2/security_monitoring/configuration/critical_assets"; + String localVarPath = "/api/v2/security_monitoring/datasets"; List localVarQueryParams = new ArrayList(); Map localVarHeaderParams = new HashMap(); - localVarQueryParams.addAll(apiClient.parameterToPairs("", "query", query)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[size]", pageSize)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[number]", pageNumber)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[query]", filterQuery)); Invocation.Builder builder; try { builder = apiClient.createBuilder( - "v2.SecurityMonitoringApi.listSecurityMonitoringCriticalAssets", + "v2.SecurityMonitoringApi.listSecurityMonitoringDatasets", localVarPath, localVarQueryParams, localVarHeaderParams, new HashMap(), new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + new String[] {"apiKeyAuth", "appKeyAuth"}); } catch (ApiException ex) { - CompletableFuture> result = + CompletableFuture> result = new CompletableFuture<>(); result.completeExceptionally(ex); return result; @@ -9809,7 +11053,7 @@ public SecurityMonitoringCriticalAssetsResponse listSecurityMonitoringCriticalAs localVarPostBody, new HashMap(), false, - new GenericType() {}); + new GenericType() {}); } /** Manage optional parameters to listSecurityMonitoringHistsignals. */ @@ -14970,6 +16214,187 @@ public SecurityMonitoringCriticalAssetResponse updateSecurityMonitoringCriticalA new GenericType() {}); } + /** + * Update a dataset. + * + *

See {@link #updateSecurityMonitoringDatasetWithHttpInfo}. + * + * @param datasetId The ID of the dataset. (required) + * @param body (required) + * @throws ApiException if fails to make API call + */ + public void updateSecurityMonitoringDataset( + UUID datasetId, SecurityMonitoringDatasetUpdateRequest body) throws ApiException { + updateSecurityMonitoringDatasetWithHttpInfo(datasetId, body); + } + + /** + * Update a dataset. + * + *

See {@link #updateSecurityMonitoringDatasetWithHttpInfoAsync}. + * + * @param datasetId The ID of the dataset. (required) + * @param body (required) + * @return CompletableFuture + */ + public CompletableFuture updateSecurityMonitoringDatasetAsync( + UUID datasetId, SecurityMonitoringDatasetUpdateRequest body) { + return updateSecurityMonitoringDatasetWithHttpInfoAsync(datasetId, body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Update an existing dataset. + * + * @param datasetId The ID of the dataset. (required) + * @param body (required) + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
204 No Content -
400 Bad Request -
403 Forbidden -
404 Not Found -
409 Conflict -
429 Too many requests -
+ */ + public ApiResponse updateSecurityMonitoringDatasetWithHttpInfo( + UUID datasetId, SecurityMonitoringDatasetUpdateRequest body) throws ApiException { + // Check if unstable operation is enabled + String operationId = "updateSecurityMonitoringDataset"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = body; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'datasetId' when calling" + + " updateSecurityMonitoringDataset"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, + "Missing the required parameter 'body' when calling updateSecurityMonitoringDataset"); + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/datasets/{dataset_id}" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.updateSecurityMonitoringDataset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "PATCH", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Update a dataset. + * + *

See {@link #updateSecurityMonitoringDatasetWithHttpInfo}. + * + * @param datasetId The ID of the dataset. (required) + * @param body (required) + * @return CompletableFuture<ApiResponse<Void>> + */ + public CompletableFuture> updateSecurityMonitoringDatasetWithHttpInfoAsync( + UUID datasetId, SecurityMonitoringDatasetUpdateRequest body) { + // Check if unstable operation is enabled + String operationId = "updateSecurityMonitoringDataset"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = body; + + // verify the required parameter 'datasetId' is set + if (datasetId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'datasetId' when calling" + + " updateSecurityMonitoringDataset")); + return result; + } + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'body' when calling" + + " updateSecurityMonitoringDataset")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/security_monitoring/datasets/{dataset_id}" + .replaceAll("\\{" + "dataset_id" + "\\}", apiClient.escapeString(datasetId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SecurityMonitoringApi.updateSecurityMonitoringDataset", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "PATCH", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + null); + } + /** * Update an existing rule. * diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetAttributesResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetAttributesResponse.java new file mode 100644 index 00000000000..08cf56f8e8b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetAttributesResponse.java @@ -0,0 +1,445 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes of a security monitoring dataset. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_CREATED_AT, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_CREATED_BY_HANDLE, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_CREATED_BY_NAME, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_DEFINITION, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_DESCRIPTION, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_MODIFIED_AT, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_NAME, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_ORG_ID, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_UPDATED_BY_HANDLE, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_UPDATED_BY_NAME, + SecurityMonitoringDatasetAttributesResponse.JSON_PROPERTY_VERSION +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetAttributesResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CREATED_AT = "createdAt"; + private OffsetDateTime createdAt; + + public static final String JSON_PROPERTY_CREATED_BY_HANDLE = "createdByHandle"; + private String createdByHandle; + + public static final String JSON_PROPERTY_CREATED_BY_NAME = "createdByName"; + private String createdByName; + + public static final String JSON_PROPERTY_DEFINITION = "definition"; + private SecurityMonitoringDatasetDefinition definition; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + private String description; + + public static final String JSON_PROPERTY_MODIFIED_AT = "modifiedAt"; + private OffsetDateTime modifiedAt; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_ORG_ID = "orgId"; + private Long orgId; + + public static final String JSON_PROPERTY_UPDATED_BY_HANDLE = "updatedByHandle"; + private String updatedByHandle; + + public static final String JSON_PROPERTY_UPDATED_BY_NAME = "updatedByName"; + private String updatedByName; + + public static final String JSON_PROPERTY_VERSION = "version"; + private Long version; + + public SecurityMonitoringDatasetAttributesResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetAttributesResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_CREATED_AT) OffsetDateTime createdAt, + @JsonProperty(required = true, value = JSON_PROPERTY_DEFINITION) + SecurityMonitoringDatasetDefinition definition, + @JsonProperty(required = true, value = JSON_PROPERTY_DESCRIPTION) String description, + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_ORG_ID) Long orgId, + @JsonProperty(required = true, value = JSON_PROPERTY_VERSION) Long version) { + this.createdAt = createdAt; + this.definition = definition; + this.unparsed |= definition.unparsed; + this.description = description; + this.name = name; + this.orgId = orgId; + this.version = version; + } + + public SecurityMonitoringDatasetAttributesResponse createdAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * The creation timestamp of the dataset. + * + * @return createdAt + */ + @JsonProperty(JSON_PROPERTY_CREATED_AT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + public SecurityMonitoringDatasetAttributesResponse createdByHandle(String createdByHandle) { + this.createdByHandle = createdByHandle; + return this; + } + + /** + * The handle of the user who created the dataset. + * + * @return createdByHandle + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CREATED_BY_HANDLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCreatedByHandle() { + return createdByHandle; + } + + public void setCreatedByHandle(String createdByHandle) { + this.createdByHandle = createdByHandle; + } + + public SecurityMonitoringDatasetAttributesResponse createdByName(String createdByName) { + this.createdByName = createdByName; + return this; + } + + /** + * The name of the user who created the dataset. + * + * @return createdByName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CREATED_BY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCreatedByName() { + return createdByName; + } + + public void setCreatedByName(String createdByName) { + this.createdByName = createdByName; + } + + public SecurityMonitoringDatasetAttributesResponse definition( + SecurityMonitoringDatasetDefinition definition) { + this.definition = definition; + this.unparsed |= definition.unparsed; + return this; + } + + /** + * The definition of a dataset, including its data source, name, indexes, and columns. + * + * @return definition + */ + @JsonProperty(JSON_PROPERTY_DEFINITION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDefinition getDefinition() { + return definition; + } + + public void setDefinition(SecurityMonitoringDatasetDefinition definition) { + this.definition = definition; + } + + public SecurityMonitoringDatasetAttributesResponse description(String description) { + this.description = description; + return this; + } + + /** + * A description of the dataset. + * + * @return description + */ + @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public SecurityMonitoringDatasetAttributesResponse modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + /** + * The last modification timestamp of the dataset. + * + * @return modifiedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MODIFIED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getModifiedAt() { + return modifiedAt; + } + + public void setModifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = modifiedAt; + } + + public SecurityMonitoringDatasetAttributesResponse name(String name) { + this.name = name; + return this; + } + + /** + * The name of the dataset. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public SecurityMonitoringDatasetAttributesResponse orgId(Long orgId) { + this.orgId = orgId; + return this; + } + + /** + * The organization ID. + * + * @return orgId + */ + @JsonProperty(JSON_PROPERTY_ORG_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getOrgId() { + return orgId; + } + + public void setOrgId(Long orgId) { + this.orgId = orgId; + } + + public SecurityMonitoringDatasetAttributesResponse updatedByHandle(String updatedByHandle) { + this.updatedByHandle = updatedByHandle; + return this; + } + + /** + * The handle of the user who last updated the dataset. + * + * @return updatedByHandle + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPDATED_BY_HANDLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUpdatedByHandle() { + return updatedByHandle; + } + + public void setUpdatedByHandle(String updatedByHandle) { + this.updatedByHandle = updatedByHandle; + } + + public SecurityMonitoringDatasetAttributesResponse updatedByName(String updatedByName) { + this.updatedByName = updatedByName; + return this; + } + + /** + * The name of the user who last updated the dataset. + * + * @return updatedByName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPDATED_BY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUpdatedByName() { + return updatedByName; + } + + public void setUpdatedByName(String updatedByName) { + this.updatedByName = updatedByName; + } + + public SecurityMonitoringDatasetAttributesResponse version(Long version) { + this.version = version; + return this; + } + + /** + * The version of the dataset. + * + * @return version + */ + @JsonProperty(JSON_PROPERTY_VERSION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getVersion() { + return version; + } + + public void setVersion(Long version) { + this.version = version; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetAttributesResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetAttributesResponse putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetAttributesResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetAttributesResponse securityMonitoringDatasetAttributesResponse = + (SecurityMonitoringDatasetAttributesResponse) o; + return Objects.equals(this.createdAt, securityMonitoringDatasetAttributesResponse.createdAt) + && Objects.equals( + this.createdByHandle, securityMonitoringDatasetAttributesResponse.createdByHandle) + && Objects.equals( + this.createdByName, securityMonitoringDatasetAttributesResponse.createdByName) + && Objects.equals(this.definition, securityMonitoringDatasetAttributesResponse.definition) + && Objects.equals(this.description, securityMonitoringDatasetAttributesResponse.description) + && Objects.equals(this.modifiedAt, securityMonitoringDatasetAttributesResponse.modifiedAt) + && Objects.equals(this.name, securityMonitoringDatasetAttributesResponse.name) + && Objects.equals(this.orgId, securityMonitoringDatasetAttributesResponse.orgId) + && Objects.equals( + this.updatedByHandle, securityMonitoringDatasetAttributesResponse.updatedByHandle) + && Objects.equals( + this.updatedByName, securityMonitoringDatasetAttributesResponse.updatedByName) + && Objects.equals(this.version, securityMonitoringDatasetAttributesResponse.version) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetAttributesResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash( + createdAt, + createdByHandle, + createdByName, + definition, + description, + modifiedAt, + name, + orgId, + updatedByHandle, + updatedByName, + version, + additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetAttributesResponse {\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" createdByHandle: ").append(toIndentedString(createdByHandle)).append("\n"); + sb.append(" createdByName: ").append(toIndentedString(createdByName)).append("\n"); + sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" orgId: ").append(toIndentedString(orgId)).append("\n"); + sb.append(" updatedByHandle: ").append(toIndentedString(updatedByHandle)).append("\n"); + sb.append(" updatedByName: ").append(toIndentedString(updatedByName)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateAttributesRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateAttributesRequest.java new file mode 100644 index 00000000000..d5ba039500c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateAttributesRequest.java @@ -0,0 +1,184 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes for creating a security monitoring dataset. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetCreateAttributesRequest.JSON_PROPERTY_DEFINITION, + SecurityMonitoringDatasetCreateAttributesRequest.JSON_PROPERTY_DESCRIPTION +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetCreateAttributesRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DEFINITION = "definition"; + private SecurityMonitoringDatasetDefinition definition; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + private String description; + + public SecurityMonitoringDatasetCreateAttributesRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetCreateAttributesRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DEFINITION) + SecurityMonitoringDatasetDefinition definition, + @JsonProperty(required = true, value = JSON_PROPERTY_DESCRIPTION) String description) { + this.definition = definition; + this.unparsed |= definition.unparsed; + this.description = description; + } + + public SecurityMonitoringDatasetCreateAttributesRequest definition( + SecurityMonitoringDatasetDefinition definition) { + this.definition = definition; + this.unparsed |= definition.unparsed; + return this; + } + + /** + * The definition of a dataset, including its data source, name, indexes, and columns. + * + * @return definition + */ + @JsonProperty(JSON_PROPERTY_DEFINITION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDefinition getDefinition() { + return definition; + } + + public void setDefinition(SecurityMonitoringDatasetDefinition definition) { + this.definition = definition; + } + + public SecurityMonitoringDatasetCreateAttributesRequest description(String description) { + this.description = description; + return this; + } + + /** + * A description of the dataset (maximum 255 characters). + * + * @return description + */ + @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetCreateAttributesRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetCreateAttributesRequest putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetCreateAttributesRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetCreateAttributesRequest + securityMonitoringDatasetCreateAttributesRequest = + (SecurityMonitoringDatasetCreateAttributesRequest) o; + return Objects.equals( + this.definition, securityMonitoringDatasetCreateAttributesRequest.definition) + && Objects.equals( + this.description, securityMonitoringDatasetCreateAttributesRequest.description) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetCreateAttributesRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(definition, description, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetCreateAttributesRequest {\n"); + sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateDataRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateDataRequest.java new file mode 100644 index 00000000000..082a6a6a526 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateDataRequest.java @@ -0,0 +1,187 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data for creating a security monitoring dataset. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetCreateDataRequest.JSON_PROPERTY_ATTRIBUTES, + SecurityMonitoringDatasetCreateDataRequest.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetCreateDataRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private SecurityMonitoringDatasetCreateAttributesRequest attributes; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SecurityMonitoringDatasetType type; + + public SecurityMonitoringDatasetCreateDataRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetCreateDataRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + SecurityMonitoringDatasetCreateAttributesRequest attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + SecurityMonitoringDatasetType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public SecurityMonitoringDatasetCreateDataRequest attributes( + SecurityMonitoringDatasetCreateAttributesRequest attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes for creating a security monitoring dataset. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetCreateAttributesRequest getAttributes() { + return attributes; + } + + public void setAttributes(SecurityMonitoringDatasetCreateAttributesRequest attributes) { + this.attributes = attributes; + } + + public SecurityMonitoringDatasetCreateDataRequest type(SecurityMonitoringDatasetType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type for security monitoring dataset objects. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetType getType() { + return type; + } + + public void setType(SecurityMonitoringDatasetType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetCreateDataRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetCreateDataRequest putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetCreateDataRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetCreateDataRequest securityMonitoringDatasetCreateDataRequest = + (SecurityMonitoringDatasetCreateDataRequest) o; + return Objects.equals(this.attributes, securityMonitoringDatasetCreateDataRequest.attributes) + && Objects.equals(this.type, securityMonitoringDatasetCreateDataRequest.type) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetCreateDataRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetCreateDataRequest {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateDataResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateDataResponse.java new file mode 100644 index 00000000000..8e208df554f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateDataResponse.java @@ -0,0 +1,183 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data returned after creating a security monitoring dataset. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetCreateDataResponse.JSON_PROPERTY_ID, + SecurityMonitoringDatasetCreateDataResponse.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetCreateDataResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SecurityMonitoringDatasetType type; + + public SecurityMonitoringDatasetCreateDataResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetCreateDataResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + SecurityMonitoringDatasetType type) { + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public SecurityMonitoringDatasetCreateDataResponse id(String id) { + this.id = id; + return this; + } + + /** + * The unique identifier of the created dataset. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public SecurityMonitoringDatasetCreateDataResponse type(SecurityMonitoringDatasetType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type for security monitoring dataset objects. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetType getType() { + return type; + } + + public void setType(SecurityMonitoringDatasetType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetCreateDataResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetCreateDataResponse putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetCreateDataResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetCreateDataResponse securityMonitoringDatasetCreateDataResponse = + (SecurityMonitoringDatasetCreateDataResponse) o; + return Objects.equals(this.id, securityMonitoringDatasetCreateDataResponse.id) + && Objects.equals(this.type, securityMonitoringDatasetCreateDataResponse.type) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetCreateDataResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetCreateDataResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateRequest.java new file mode 100644 index 00000000000..7c55a2b15ae --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateRequest.java @@ -0,0 +1,149 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request to create a security monitoring dataset. */ +@JsonPropertyOrder({SecurityMonitoringDatasetCreateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetCreateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private SecurityMonitoringDatasetCreateDataRequest data; + + public SecurityMonitoringDatasetCreateRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetCreateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + SecurityMonitoringDatasetCreateDataRequest data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public SecurityMonitoringDatasetCreateRequest data( + SecurityMonitoringDatasetCreateDataRequest data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data for creating a security monitoring dataset. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetCreateDataRequest getData() { + return data; + } + + public void setData(SecurityMonitoringDatasetCreateDataRequest data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetCreateRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetCreateRequest putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetCreateRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetCreateRequest securityMonitoringDatasetCreateRequest = + (SecurityMonitoringDatasetCreateRequest) o; + return Objects.equals(this.data, securityMonitoringDatasetCreateRequest.data) + && Objects.equals( + this.additionalProperties, securityMonitoringDatasetCreateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetCreateRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateResponse.java new file mode 100644 index 00000000000..793ffd84fa5 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetCreateResponse.java @@ -0,0 +1,150 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Response after creating a security monitoring dataset. */ +@JsonPropertyOrder({SecurityMonitoringDatasetCreateResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetCreateResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private SecurityMonitoringDatasetCreateDataResponse data; + + public SecurityMonitoringDatasetCreateResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetCreateResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + SecurityMonitoringDatasetCreateDataResponse data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public SecurityMonitoringDatasetCreateResponse data( + SecurityMonitoringDatasetCreateDataResponse data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data returned after creating a security monitoring dataset. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetCreateDataResponse getData() { + return data; + } + + public void setData(SecurityMonitoringDatasetCreateDataResponse data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetCreateResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetCreateResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetCreateResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetCreateResponse securityMonitoringDatasetCreateResponse = + (SecurityMonitoringDatasetCreateResponse) o; + return Objects.equals(this.data, securityMonitoringDatasetCreateResponse.data) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetCreateResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetCreateResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDataResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDataResponse.java new file mode 100644 index 00000000000..4e116963afb --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDataResponse.java @@ -0,0 +1,213 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** A security monitoring dataset. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetDataResponse.JSON_PROPERTY_ATTRIBUTES, + SecurityMonitoringDatasetDataResponse.JSON_PROPERTY_ID, + SecurityMonitoringDatasetDataResponse.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDataResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private SecurityMonitoringDatasetAttributesResponse attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SecurityMonitoringDatasetType type; + + public SecurityMonitoringDatasetDataResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetDataResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + SecurityMonitoringDatasetAttributesResponse attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + SecurityMonitoringDatasetType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public SecurityMonitoringDatasetDataResponse attributes( + SecurityMonitoringDatasetAttributesResponse attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes of a security monitoring dataset. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetAttributesResponse getAttributes() { + return attributes; + } + + public void setAttributes(SecurityMonitoringDatasetAttributesResponse attributes) { + this.attributes = attributes; + } + + public SecurityMonitoringDatasetDataResponse id(String id) { + this.id = id; + return this; + } + + /** + * The unique identifier of the dataset. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public SecurityMonitoringDatasetDataResponse type(SecurityMonitoringDatasetType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type for security monitoring dataset objects. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetType getType() { + return type; + } + + public void setType(SecurityMonitoringDatasetType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDataResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetDataResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetDataResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDataResponse securityMonitoringDatasetDataResponse = + (SecurityMonitoringDatasetDataResponse) o; + return Objects.equals(this.attributes, securityMonitoringDatasetDataResponse.attributes) + && Objects.equals(this.id, securityMonitoringDatasetDataResponse.id) + && Objects.equals(this.type, securityMonitoringDatasetDataResponse.type) + && Objects.equals( + this.additionalProperties, securityMonitoringDatasetDataResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDataResponse {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinition.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinition.java new file mode 100644 index 00000000000..9523325acb7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinition.java @@ -0,0 +1,253 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** The definition of a dataset, including its data source, name, indexes, and columns. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetDefinition.JSON_PROPERTY_COLUMNS, + SecurityMonitoringDatasetDefinition.JSON_PROPERTY_DATA_SOURCE, + SecurityMonitoringDatasetDefinition.JSON_PROPERTY_INDEXES, + SecurityMonitoringDatasetDefinition.JSON_PROPERTY_NAME +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDefinition { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_COLUMNS = "columns"; + private List columns = new ArrayList<>(); + + public static final String JSON_PROPERTY_DATA_SOURCE = "data_source"; + private String dataSource; + + public static final String JSON_PROPERTY_INDEXES = "indexes"; + private List indexes = null; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public SecurityMonitoringDatasetDefinition() {} + + @JsonCreator + public SecurityMonitoringDatasetDefinition( + @JsonProperty(required = true, value = JSON_PROPERTY_COLUMNS) + List columns, + @JsonProperty(required = true, value = JSON_PROPERTY_DATA_SOURCE) String dataSource, + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name) { + this.columns = columns; + this.dataSource = dataSource; + this.name = name; + } + + public SecurityMonitoringDatasetDefinition columns( + List columns) { + this.columns = columns; + for (SecurityMonitoringDatasetDefinitionColumn item : columns) { + this.unparsed |= item.unparsed; + } + return this; + } + + public SecurityMonitoringDatasetDefinition addColumnsItem( + SecurityMonitoringDatasetDefinitionColumn columnsItem) { + this.columns.add(columnsItem); + this.unparsed |= columnsItem.unparsed; + return this; + } + + /** + * The columns in the dataset. + * + * @return columns + */ + @JsonProperty(JSON_PROPERTY_COLUMNS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getColumns() { + return columns; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public SecurityMonitoringDatasetDefinition dataSource(String dataSource) { + this.dataSource = dataSource; + return this; + } + + /** + * The data source for the dataset. + * + * @return dataSource + */ + @JsonProperty(JSON_PROPERTY_DATA_SOURCE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getDataSource() { + return dataSource; + } + + public void setDataSource(String dataSource) { + this.dataSource = dataSource; + } + + public SecurityMonitoringDatasetDefinition indexes(List indexes) { + this.indexes = indexes; + return this; + } + + public SecurityMonitoringDatasetDefinition addIndexesItem(String indexesItem) { + if (this.indexes == null) { + this.indexes = new ArrayList<>(); + } + this.indexes.add(indexesItem); + return this; + } + + /** + * The indexes to use for the dataset. + * + * @return indexes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INDEXES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getIndexes() { + return indexes; + } + + public void setIndexes(List indexes) { + this.indexes = indexes; + } + + public SecurityMonitoringDatasetDefinition name(String name) { + this.name = name; + return this; + } + + /** + * The name of the dataset. Must start with a letter, contain only lowercase letters, numbers, and + * underscores, and be at most 255 characters long. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDefinition + */ + @JsonAnySetter + public SecurityMonitoringDatasetDefinition putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetDefinition object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDefinition securityMonitoringDatasetDefinition = + (SecurityMonitoringDatasetDefinition) o; + return Objects.equals(this.columns, securityMonitoringDatasetDefinition.columns) + && Objects.equals(this.dataSource, securityMonitoringDatasetDefinition.dataSource) + && Objects.equals(this.indexes, securityMonitoringDatasetDefinition.indexes) + && Objects.equals(this.name, securityMonitoringDatasetDefinition.name) + && Objects.equals( + this.additionalProperties, securityMonitoringDatasetDefinition.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(columns, dataSource, indexes, name, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDefinition {\n"); + sb.append(" columns: ").append(toIndentedString(columns)).append("\n"); + sb.append(" dataSource: ").append(toIndentedString(dataSource)).append("\n"); + sb.append(" indexes: ").append(toIndentedString(indexes)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinitionColumn.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinitionColumn.java new file mode 100644 index 00000000000..1922edf7b3e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinitionColumn.java @@ -0,0 +1,183 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** A column in a dataset definition. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetDefinitionColumn.JSON_PROPERTY_COLUMN, + SecurityMonitoringDatasetDefinitionColumn.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDefinitionColumn { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_COLUMN = "column"; + private String column; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SecurityMonitoringDatasetDefinitionColumnType type; + + public SecurityMonitoringDatasetDefinitionColumn() {} + + @JsonCreator + public SecurityMonitoringDatasetDefinitionColumn( + @JsonProperty(required = true, value = JSON_PROPERTY_COLUMN) String column, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + SecurityMonitoringDatasetDefinitionColumnType type) { + this.column = column; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public SecurityMonitoringDatasetDefinitionColumn column(String column) { + this.column = column; + return this; + } + + /** + * The name of the column. + * + * @return column + */ + @JsonProperty(JSON_PROPERTY_COLUMN) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getColumn() { + return column; + } + + public void setColumn(String column) { + this.column = column; + } + + public SecurityMonitoringDatasetDefinitionColumn type( + SecurityMonitoringDatasetDefinitionColumnType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the column in a dataset definition. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDefinitionColumnType getType() { + return type; + } + + public void setType(SecurityMonitoringDatasetDefinitionColumnType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDefinitionColumn + */ + @JsonAnySetter + public SecurityMonitoringDatasetDefinitionColumn putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetDefinitionColumn object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDefinitionColumn securityMonitoringDatasetDefinitionColumn = + (SecurityMonitoringDatasetDefinitionColumn) o; + return Objects.equals(this.column, securityMonitoringDatasetDefinitionColumn.column) + && Objects.equals(this.type, securityMonitoringDatasetDefinitionColumn.type) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetDefinitionColumn.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(column, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDefinitionColumn {\n"); + sb.append(" column: ").append(toIndentedString(column)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinitionColumnType.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinitionColumnType.java new file mode 100644 index 00000000000..b44a441f04d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDefinitionColumnType.java @@ -0,0 +1,69 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The type of the column in a dataset definition. */ +@JsonSerialize( + using = + SecurityMonitoringDatasetDefinitionColumnType + .SecurityMonitoringDatasetDefinitionColumnTypeSerializer.class) +public class SecurityMonitoringDatasetDefinitionColumnType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("string", "integer", "double", "boolean")); + + public static final SecurityMonitoringDatasetDefinitionColumnType STRING = + new SecurityMonitoringDatasetDefinitionColumnType("string"); + public static final SecurityMonitoringDatasetDefinitionColumnType INTEGER = + new SecurityMonitoringDatasetDefinitionColumnType("integer"); + public static final SecurityMonitoringDatasetDefinitionColumnType DOUBLE = + new SecurityMonitoringDatasetDefinitionColumnType("double"); + public static final SecurityMonitoringDatasetDefinitionColumnType BOOLEAN = + new SecurityMonitoringDatasetDefinitionColumnType("boolean"); + + SecurityMonitoringDatasetDefinitionColumnType(String value) { + super(value, allowedValues); + } + + public static class SecurityMonitoringDatasetDefinitionColumnTypeSerializer + extends StdSerializer { + public SecurityMonitoringDatasetDefinitionColumnTypeSerializer( + Class t) { + super(t); + } + + public SecurityMonitoringDatasetDefinitionColumnTypeSerializer() { + this(null); + } + + @Override + public void serialize( + SecurityMonitoringDatasetDefinitionColumnType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static SecurityMonitoringDatasetDefinitionColumnType fromValue(String value) { + return new SecurityMonitoringDatasetDefinitionColumnType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesAttributesRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesAttributesRequest.java new file mode 100644 index 00000000000..77a263a604d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesAttributesRequest.java @@ -0,0 +1,163 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Attributes for dataset dependencies request. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetDependenciesAttributesRequest.JSON_PROPERTY_DATASET_IDS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDependenciesAttributesRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATASET_IDS = "datasetIds"; + private List datasetIds = new ArrayList<>(); + + public SecurityMonitoringDatasetDependenciesAttributesRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetDependenciesAttributesRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATASET_IDS) List datasetIds) { + this.datasetIds = datasetIds; + } + + public SecurityMonitoringDatasetDependenciesAttributesRequest datasetIds( + List datasetIds) { + this.datasetIds = datasetIds; + return this; + } + + public SecurityMonitoringDatasetDependenciesAttributesRequest addDatasetIdsItem( + String datasetIdsItem) { + this.datasetIds.add(datasetIdsItem); + return this; + } + + /** + * Array of dataset IDs to check dependencies for (minimum 1, maximum 100). + * + * @return datasetIds + */ + @JsonProperty(JSON_PROPERTY_DATASET_IDS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getDatasetIds() { + return datasetIds; + } + + public void setDatasetIds(List datasetIds) { + this.datasetIds = datasetIds; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDependenciesAttributesRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetDependenciesAttributesRequest putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this SecurityMonitoringDatasetDependenciesAttributesRequest object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDependenciesAttributesRequest + securityMonitoringDatasetDependenciesAttributesRequest = + (SecurityMonitoringDatasetDependenciesAttributesRequest) o; + return Objects.equals( + this.datasetIds, securityMonitoringDatasetDependenciesAttributesRequest.datasetIds) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetDependenciesAttributesRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(datasetIds, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDependenciesAttributesRequest {\n"); + sb.append(" datasetIds: ").append(toIndentedString(datasetIds)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesDataRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesDataRequest.java new file mode 100644 index 00000000000..f6c35721f61 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesDataRequest.java @@ -0,0 +1,190 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data for dataset dependencies request. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetDependenciesDataRequest.JSON_PROPERTY_ATTRIBUTES, + SecurityMonitoringDatasetDependenciesDataRequest.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDependenciesDataRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private SecurityMonitoringDatasetDependenciesAttributesRequest attributes; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SecurityMonitoringDatasetDependenciesType type; + + public SecurityMonitoringDatasetDependenciesDataRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetDependenciesDataRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + SecurityMonitoringDatasetDependenciesAttributesRequest attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + SecurityMonitoringDatasetDependenciesType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public SecurityMonitoringDatasetDependenciesDataRequest attributes( + SecurityMonitoringDatasetDependenciesAttributesRequest attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes for dataset dependencies request. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDependenciesAttributesRequest getAttributes() { + return attributes; + } + + public void setAttributes(SecurityMonitoringDatasetDependenciesAttributesRequest attributes) { + this.attributes = attributes; + } + + public SecurityMonitoringDatasetDependenciesDataRequest type( + SecurityMonitoringDatasetDependenciesType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the response. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDependenciesType getType() { + return type; + } + + public void setType(SecurityMonitoringDatasetDependenciesType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDependenciesDataRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetDependenciesDataRequest putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetDependenciesDataRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDependenciesDataRequest + securityMonitoringDatasetDependenciesDataRequest = + (SecurityMonitoringDatasetDependenciesDataRequest) o; + return Objects.equals( + this.attributes, securityMonitoringDatasetDependenciesDataRequest.attributes) + && Objects.equals(this.type, securityMonitoringDatasetDependenciesDataRequest.type) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetDependenciesDataRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDependenciesDataRequest {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesRequest.java new file mode 100644 index 00000000000..d40256cbf52 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesRequest.java @@ -0,0 +1,151 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request to get dataset dependencies. */ +@JsonPropertyOrder({SecurityMonitoringDatasetDependenciesRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDependenciesRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private SecurityMonitoringDatasetDependenciesDataRequest data; + + public SecurityMonitoringDatasetDependenciesRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetDependenciesRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + SecurityMonitoringDatasetDependenciesDataRequest data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public SecurityMonitoringDatasetDependenciesRequest data( + SecurityMonitoringDatasetDependenciesDataRequest data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data for dataset dependencies request. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDependenciesDataRequest getData() { + return data; + } + + public void setData(SecurityMonitoringDatasetDependenciesDataRequest data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDependenciesRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetDependenciesRequest putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetDependenciesRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDependenciesRequest securityMonitoringDatasetDependenciesRequest = + (SecurityMonitoringDatasetDependenciesRequest) o; + return Objects.equals(this.data, securityMonitoringDatasetDependenciesRequest.data) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetDependenciesRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDependenciesRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesResponse.java new file mode 100644 index 00000000000..13c59f963de --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesResponse.java @@ -0,0 +1,161 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Response containing dataset dependencies. */ +@JsonPropertyOrder({SecurityMonitoringDatasetDependenciesResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDependenciesResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public SecurityMonitoringDatasetDependenciesResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetDependenciesResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + List data) { + this.data = data; + } + + public SecurityMonitoringDatasetDependenciesResponse data( + List data) { + this.data = data; + for (SecurityMonitoringDatasetDependencyDataResponse item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public SecurityMonitoringDatasetDependenciesResponse addDataItem( + SecurityMonitoringDatasetDependencyDataResponse dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * Array of dataset dependencies. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDependenciesResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetDependenciesResponse putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetDependenciesResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDependenciesResponse securityMonitoringDatasetDependenciesResponse = + (SecurityMonitoringDatasetDependenciesResponse) o; + return Objects.equals(this.data, securityMonitoringDatasetDependenciesResponse.data) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetDependenciesResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDependenciesResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesType.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesType.java new file mode 100644 index 00000000000..6c80dde52e5 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependenciesType.java @@ -0,0 +1,64 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The type of the response. */ +@JsonSerialize( + using = + SecurityMonitoringDatasetDependenciesType + .SecurityMonitoringDatasetDependenciesTypeSerializer.class) +public class SecurityMonitoringDatasetDependenciesType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("security_monitoring_dataset_dependencies")); + + public static final SecurityMonitoringDatasetDependenciesType + SECURITY_MONITORING_DATASET_DEPENDENCIES = + new SecurityMonitoringDatasetDependenciesType("security_monitoring_dataset_dependencies"); + + SecurityMonitoringDatasetDependenciesType(String value) { + super(value, allowedValues); + } + + public static class SecurityMonitoringDatasetDependenciesTypeSerializer + extends StdSerializer { + public SecurityMonitoringDatasetDependenciesTypeSerializer( + Class t) { + super(t); + } + + public SecurityMonitoringDatasetDependenciesTypeSerializer() { + this(null); + } + + @Override + public void serialize( + SecurityMonitoringDatasetDependenciesType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static SecurityMonitoringDatasetDependenciesType fromValue(String value) { + return new SecurityMonitoringDatasetDependenciesType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependencyAttributesResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependencyAttributesResponse.java new file mode 100644 index 00000000000..0cd7f648ac7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependencyAttributesResponse.java @@ -0,0 +1,216 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Attributes for dataset dependency. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetDependencyAttributesResponse.JSON_PROPERTY_COUNT, + SecurityMonitoringDatasetDependencyAttributesResponse.JSON_PROPERTY_IDS, + SecurityMonitoringDatasetDependencyAttributesResponse.JSON_PROPERTY_RESOURCE_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDependencyAttributesResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_COUNT = "count"; + private Long count; + + public static final String JSON_PROPERTY_IDS = "ids"; + private List ids = new ArrayList<>(); + + public static final String JSON_PROPERTY_RESOURCE_TYPE = "resource_type"; + private String resourceType; + + public SecurityMonitoringDatasetDependencyAttributesResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetDependencyAttributesResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_COUNT) Long count, + @JsonProperty(required = true, value = JSON_PROPERTY_IDS) List ids, + @JsonProperty(required = true, value = JSON_PROPERTY_RESOURCE_TYPE) String resourceType) { + this.count = count; + this.ids = ids; + this.resourceType = resourceType; + } + + public SecurityMonitoringDatasetDependencyAttributesResponse count(Long count) { + this.count = count; + return this; + } + + /** + * The count of resources that depend on the dataset. + * + * @return count + */ + @JsonProperty(JSON_PROPERTY_COUNT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getCount() { + return count; + } + + public void setCount(Long count) { + this.count = count; + } + + public SecurityMonitoringDatasetDependencyAttributesResponse ids(List ids) { + this.ids = ids; + return this; + } + + public SecurityMonitoringDatasetDependencyAttributesResponse addIdsItem(String idsItem) { + this.ids.add(idsItem); + return this; + } + + /** + * Array of IDs of resources that depend on the dataset. + * + * @return ids + */ + @JsonProperty(JSON_PROPERTY_IDS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + + public SecurityMonitoringDatasetDependencyAttributesResponse resourceType(String resourceType) { + this.resourceType = resourceType; + return this; + } + + /** + * The type of resource that depends on the dataset. + * + * @return resourceType + */ + @JsonProperty(JSON_PROPERTY_RESOURCE_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getResourceType() { + return resourceType; + } + + public void setResourceType(String resourceType) { + this.resourceType = resourceType; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDependencyAttributesResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetDependencyAttributesResponse putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this SecurityMonitoringDatasetDependencyAttributesResponse object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDependencyAttributesResponse + securityMonitoringDatasetDependencyAttributesResponse = + (SecurityMonitoringDatasetDependencyAttributesResponse) o; + return Objects.equals(this.count, securityMonitoringDatasetDependencyAttributesResponse.count) + && Objects.equals(this.ids, securityMonitoringDatasetDependencyAttributesResponse.ids) + && Objects.equals( + this.resourceType, securityMonitoringDatasetDependencyAttributesResponse.resourceType) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetDependencyAttributesResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(count, ids, resourceType, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDependencyAttributesResponse {\n"); + sb.append(" count: ").append(toIndentedString(count)).append("\n"); + sb.append(" ids: ").append(toIndentedString(ids)).append("\n"); + sb.append(" resourceType: ").append(toIndentedString(resourceType)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependencyDataResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependencyDataResponse.java new file mode 100644 index 00000000000..fe01d557e6f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetDependencyDataResponse.java @@ -0,0 +1,218 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Dependencies for a dataset. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetDependencyDataResponse.JSON_PROPERTY_ATTRIBUTES, + SecurityMonitoringDatasetDependencyDataResponse.JSON_PROPERTY_ID, + SecurityMonitoringDatasetDependencyDataResponse.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetDependencyDataResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private SecurityMonitoringDatasetDependencyAttributesResponse attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SecurityMonitoringDatasetDependenciesType type; + + public SecurityMonitoringDatasetDependencyDataResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetDependencyDataResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + SecurityMonitoringDatasetDependencyAttributesResponse attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + SecurityMonitoringDatasetDependenciesType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public SecurityMonitoringDatasetDependencyDataResponse attributes( + SecurityMonitoringDatasetDependencyAttributesResponse attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes for dataset dependency. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDependencyAttributesResponse getAttributes() { + return attributes; + } + + public void setAttributes(SecurityMonitoringDatasetDependencyAttributesResponse attributes) { + this.attributes = attributes; + } + + public SecurityMonitoringDatasetDependencyDataResponse id(String id) { + this.id = id; + return this; + } + + /** + * The dataset ID. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public SecurityMonitoringDatasetDependencyDataResponse type( + SecurityMonitoringDatasetDependenciesType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the response. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDependenciesType getType() { + return type; + } + + public void setType(SecurityMonitoringDatasetDependenciesType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetDependencyDataResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetDependencyDataResponse putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetDependencyDataResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetDependencyDataResponse + securityMonitoringDatasetDependencyDataResponse = + (SecurityMonitoringDatasetDependencyDataResponse) o; + return Objects.equals( + this.attributes, securityMonitoringDatasetDependencyDataResponse.attributes) + && Objects.equals(this.id, securityMonitoringDatasetDependencyDataResponse.id) + && Objects.equals(this.type, securityMonitoringDatasetDependencyDataResponse.type) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetDependencyDataResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetDependencyDataResponse {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetListMeta.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetListMeta.java new file mode 100644 index 00000000000..43eb11d3218 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetListMeta.java @@ -0,0 +1,145 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Metadata for dataset list responses. */ +@JsonPropertyOrder({SecurityMonitoringDatasetListMeta.JSON_PROPERTY_TOTAL_COUNT}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetListMeta { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TOTAL_COUNT = "totalCount"; + private Long totalCount; + + public SecurityMonitoringDatasetListMeta() {} + + @JsonCreator + public SecurityMonitoringDatasetListMeta( + @JsonProperty(required = true, value = JSON_PROPERTY_TOTAL_COUNT) Long totalCount) { + this.totalCount = totalCount; + } + + public SecurityMonitoringDatasetListMeta totalCount(Long totalCount) { + this.totalCount = totalCount; + return this; + } + + /** + * The total count of datasets. + * + * @return totalCount + */ + @JsonProperty(JSON_PROPERTY_TOTAL_COUNT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getTotalCount() { + return totalCount; + } + + public void setTotalCount(Long totalCount) { + this.totalCount = totalCount; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetListMeta + */ + @JsonAnySetter + public SecurityMonitoringDatasetListMeta putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetListMeta object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetListMeta securityMonitoringDatasetListMeta = + (SecurityMonitoringDatasetListMeta) o; + return Objects.equals(this.totalCount, securityMonitoringDatasetListMeta.totalCount) + && Objects.equals( + this.additionalProperties, securityMonitoringDatasetListMeta.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(totalCount, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetListMeta {\n"); + sb.append(" totalCount: ").append(toIndentedString(totalCount)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetResponse.java new file mode 100644 index 00000000000..3dc8c0b15ef --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetResponse.java @@ -0,0 +1,148 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Response containing a security monitoring dataset. */ +@JsonPropertyOrder({SecurityMonitoringDatasetResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private SecurityMonitoringDatasetDataResponse data; + + public SecurityMonitoringDatasetResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + SecurityMonitoringDatasetDataResponse data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public SecurityMonitoringDatasetResponse data(SecurityMonitoringDatasetDataResponse data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * A security monitoring dataset. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDataResponse getData() { + return data; + } + + public void setData(SecurityMonitoringDatasetDataResponse data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetResponse securityMonitoringDatasetResponse = + (SecurityMonitoringDatasetResponse) o; + return Objects.equals(this.data, securityMonitoringDatasetResponse.data) + && Objects.equals( + this.additionalProperties, securityMonitoringDatasetResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetType.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetType.java new file mode 100644 index 00000000000..3ed5b2b8d46 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetType.java @@ -0,0 +1,57 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Type for security monitoring dataset objects. */ +@JsonSerialize(using = SecurityMonitoringDatasetType.SecurityMonitoringDatasetTypeSerializer.class) +public class SecurityMonitoringDatasetType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("security_monitoring_dataset")); + + public static final SecurityMonitoringDatasetType SECURITY_MONITORING_DATASET = + new SecurityMonitoringDatasetType("security_monitoring_dataset"); + + SecurityMonitoringDatasetType(String value) { + super(value, allowedValues); + } + + public static class SecurityMonitoringDatasetTypeSerializer + extends StdSerializer { + public SecurityMonitoringDatasetTypeSerializer(Class t) { + super(t); + } + + public SecurityMonitoringDatasetTypeSerializer() { + this(null); + } + + @Override + public void serialize( + SecurityMonitoringDatasetType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static SecurityMonitoringDatasetType fromValue(String value) { + return new SecurityMonitoringDatasetType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateAttributesRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateAttributesRequest.java new file mode 100644 index 00000000000..35af7460cbf --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateAttributesRequest.java @@ -0,0 +1,211 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes for updating a security monitoring dataset. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetUpdateAttributesRequest.JSON_PROPERTY_DEFINITION, + SecurityMonitoringDatasetUpdateAttributesRequest.JSON_PROPERTY_DESCRIPTION, + SecurityMonitoringDatasetUpdateAttributesRequest.JSON_PROPERTY_VERSION +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetUpdateAttributesRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DEFINITION = "definition"; + private SecurityMonitoringDatasetDefinition definition; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + private String description; + + public static final String JSON_PROPERTY_VERSION = "version"; + private Long version; + + public SecurityMonitoringDatasetUpdateAttributesRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetUpdateAttributesRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DEFINITION) + SecurityMonitoringDatasetDefinition definition, + @JsonProperty(required = true, value = JSON_PROPERTY_DESCRIPTION) String description) { + this.definition = definition; + this.unparsed |= definition.unparsed; + this.description = description; + } + + public SecurityMonitoringDatasetUpdateAttributesRequest definition( + SecurityMonitoringDatasetDefinition definition) { + this.definition = definition; + this.unparsed |= definition.unparsed; + return this; + } + + /** + * The definition of a dataset, including its data source, name, indexes, and columns. + * + * @return definition + */ + @JsonProperty(JSON_PROPERTY_DEFINITION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetDefinition getDefinition() { + return definition; + } + + public void setDefinition(SecurityMonitoringDatasetDefinition definition) { + this.definition = definition; + } + + public SecurityMonitoringDatasetUpdateAttributesRequest description(String description) { + this.description = description; + return this; + } + + /** + * A description of the dataset (maximum 255 characters). + * + * @return description + */ + @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public SecurityMonitoringDatasetUpdateAttributesRequest version(Long version) { + this.version = version; + return this; + } + + /** + * The expected version of the dataset for concurrent modification detection. + * + * @return version + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + public void setVersion(Long version) { + this.version = version; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetUpdateAttributesRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetUpdateAttributesRequest putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetUpdateAttributesRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetUpdateAttributesRequest + securityMonitoringDatasetUpdateAttributesRequest = + (SecurityMonitoringDatasetUpdateAttributesRequest) o; + return Objects.equals( + this.definition, securityMonitoringDatasetUpdateAttributesRequest.definition) + && Objects.equals( + this.description, securityMonitoringDatasetUpdateAttributesRequest.description) + && Objects.equals(this.version, securityMonitoringDatasetUpdateAttributesRequest.version) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetUpdateAttributesRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(definition, description, version, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetUpdateAttributesRequest {\n"); + sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateDataRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateDataRequest.java new file mode 100644 index 00000000000..218078d0aa5 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateDataRequest.java @@ -0,0 +1,187 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data for updating a security monitoring dataset. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetUpdateDataRequest.JSON_PROPERTY_ATTRIBUTES, + SecurityMonitoringDatasetUpdateDataRequest.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetUpdateDataRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private SecurityMonitoringDatasetUpdateAttributesRequest attributes; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SecurityMonitoringDatasetType type; + + public SecurityMonitoringDatasetUpdateDataRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetUpdateDataRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + SecurityMonitoringDatasetUpdateAttributesRequest attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + SecurityMonitoringDatasetType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public SecurityMonitoringDatasetUpdateDataRequest attributes( + SecurityMonitoringDatasetUpdateAttributesRequest attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes for updating a security monitoring dataset. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetUpdateAttributesRequest getAttributes() { + return attributes; + } + + public void setAttributes(SecurityMonitoringDatasetUpdateAttributesRequest attributes) { + this.attributes = attributes; + } + + public SecurityMonitoringDatasetUpdateDataRequest type(SecurityMonitoringDatasetType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type for security monitoring dataset objects. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetType getType() { + return type; + } + + public void setType(SecurityMonitoringDatasetType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetUpdateDataRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetUpdateDataRequest putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetUpdateDataRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetUpdateDataRequest securityMonitoringDatasetUpdateDataRequest = + (SecurityMonitoringDatasetUpdateDataRequest) o; + return Objects.equals(this.attributes, securityMonitoringDatasetUpdateDataRequest.attributes) + && Objects.equals(this.type, securityMonitoringDatasetUpdateDataRequest.type) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetUpdateDataRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetUpdateDataRequest {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateRequest.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateRequest.java new file mode 100644 index 00000000000..e3674d3388c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetUpdateRequest.java @@ -0,0 +1,149 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request to update a security monitoring dataset. */ +@JsonPropertyOrder({SecurityMonitoringDatasetUpdateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetUpdateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private SecurityMonitoringDatasetUpdateDataRequest data; + + public SecurityMonitoringDatasetUpdateRequest() {} + + @JsonCreator + public SecurityMonitoringDatasetUpdateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + SecurityMonitoringDatasetUpdateDataRequest data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public SecurityMonitoringDatasetUpdateRequest data( + SecurityMonitoringDatasetUpdateDataRequest data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data for updating a security monitoring dataset. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetUpdateDataRequest getData() { + return data; + } + + public void setData(SecurityMonitoringDatasetUpdateDataRequest data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetUpdateRequest + */ + @JsonAnySetter + public SecurityMonitoringDatasetUpdateRequest putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetUpdateRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetUpdateRequest securityMonitoringDatasetUpdateRequest = + (SecurityMonitoringDatasetUpdateRequest) o; + return Objects.equals(this.data, securityMonitoringDatasetUpdateRequest.data) + && Objects.equals( + this.additionalProperties, securityMonitoringDatasetUpdateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetUpdateRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetsHistoryResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetsHistoryResponse.java new file mode 100644 index 00000000000..a5c8308185d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetsHistoryResponse.java @@ -0,0 +1,160 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Response containing the history of a security monitoring dataset. */ +@JsonPropertyOrder({SecurityMonitoringDatasetsHistoryResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetsHistoryResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public SecurityMonitoringDatasetsHistoryResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetsHistoryResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + List data) { + this.data = data; + } + + public SecurityMonitoringDatasetsHistoryResponse data( + List data) { + this.data = data; + for (SecurityMonitoringDatasetDataResponse item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public SecurityMonitoringDatasetsHistoryResponse addDataItem( + SecurityMonitoringDatasetDataResponse dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * Array of dataset versions ordered by version descending. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetsHistoryResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetsHistoryResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetsHistoryResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetsHistoryResponse securityMonitoringDatasetsHistoryResponse = + (SecurityMonitoringDatasetsHistoryResponse) o; + return Objects.equals(this.data, securityMonitoringDatasetsHistoryResponse.data) + && Objects.equals( + this.additionalProperties, + securityMonitoringDatasetsHistoryResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetsHistoryResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetsListResponse.java b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetsListResponse.java new file mode 100644 index 00000000000..4b6c5dd2024 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityMonitoringDatasetsListResponse.java @@ -0,0 +1,192 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Response containing a list of security monitoring datasets. */ +@JsonPropertyOrder({ + SecurityMonitoringDatasetsListResponse.JSON_PROPERTY_DATA, + SecurityMonitoringDatasetsListResponse.JSON_PROPERTY_META +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SecurityMonitoringDatasetsListResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_META = "meta"; + private SecurityMonitoringDatasetListMeta meta; + + public SecurityMonitoringDatasetsListResponse() {} + + @JsonCreator + public SecurityMonitoringDatasetsListResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + List data, + @JsonProperty(required = true, value = JSON_PROPERTY_META) + SecurityMonitoringDatasetListMeta meta) { + this.data = data; + this.meta = meta; + this.unparsed |= meta.unparsed; + } + + public SecurityMonitoringDatasetsListResponse data( + List data) { + this.data = data; + for (SecurityMonitoringDatasetDataResponse item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public SecurityMonitoringDatasetsListResponse addDataItem( + SecurityMonitoringDatasetDataResponse dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * Array of datasets. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public SecurityMonitoringDatasetsListResponse meta(SecurityMonitoringDatasetListMeta meta) { + this.meta = meta; + this.unparsed |= meta.unparsed; + return this; + } + + /** + * Metadata for dataset list responses. + * + * @return meta + */ + @JsonProperty(JSON_PROPERTY_META) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SecurityMonitoringDatasetListMeta getMeta() { + return meta; + } + + public void setMeta(SecurityMonitoringDatasetListMeta meta) { + this.meta = meta; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return SecurityMonitoringDatasetsListResponse + */ + @JsonAnySetter + public SecurityMonitoringDatasetsListResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this SecurityMonitoringDatasetsListResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SecurityMonitoringDatasetsListResponse securityMonitoringDatasetsListResponse = + (SecurityMonitoringDatasetsListResponse) o; + return Objects.equals(this.data, securityMonitoringDatasetsListResponse.data) + && Objects.equals(this.meta, securityMonitoringDatasetsListResponse.meta) + && Objects.equals( + this.additionalProperties, securityMonitoringDatasetsListResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, meta, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SecurityMonitoringDatasetsListResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature b/src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature index ccc027734e2..95feb5d3469 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/security_monitoring.feature @@ -408,6 +408,22 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Create a dataset returns "Bad Request" response + Given operation "CreateSecurityMonitoringDataset" enabled + And new "CreateSecurityMonitoringDataset" request + And body with value {"data": {"attributes": {"definition": {"columns": [{"column": "message", "type": "string"}], "data_source": "logs", "indexes": ["k9"], "name": "my_dataset"}, "description": "A dataset for monitoring authentication events"}, "type": "security_monitoring_dataset"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Create a dataset returns "Created" response + Given operation "CreateSecurityMonitoringDataset" enabled + And new "CreateSecurityMonitoringDataset" request + And body with value {"data": {"attributes": {"definition": {"columns": [{"column": "message", "type": "string"}], "data_source": "logs", "indexes": ["k9"], "name": "my_dataset"}, "description": "A dataset for monitoring authentication events"}, "type": "security_monitoring_dataset"}} + When the request is sent + Then the response status is 201 Created + @skip @team:DataDog/k9-cloud-security-platform Scenario: Create a detection rule returns "Bad Request" response Given new "CreateSecurityMonitoringRule" request @@ -713,6 +729,30 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Delete a dataset returns "Bad Request" response + Given operation "DeleteSecurityMonitoringDataset" enabled + And new "DeleteSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Delete a dataset returns "No Content" response + Given operation "DeleteSecurityMonitoringDataset" enabled + And new "DeleteSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Delete a dataset returns "Not Found" response + Given operation "DeleteSecurityMonitoringDataset" enabled + And new "DeleteSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + @skip @team:DataDog/k9-cloud-security-platform Scenario: Delete a non existing rule returns "Not Found" response Given new "DeleteSecurityMonitoringRule" request @@ -923,6 +963,57 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get a dataset by version returns "Bad Request" response + Given operation "GetSecurityMonitoringDatasetByVersion" enabled + And new "GetSecurityMonitoringDatasetByVersion" request + And request contains "dataset_id" parameter from "REPLACE.ME" + And request contains "version" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get a dataset by version returns "Not Found" response + Given operation "GetSecurityMonitoringDatasetByVersion" enabled + And new "GetSecurityMonitoringDatasetByVersion" request + And request contains "dataset_id" parameter from "REPLACE.ME" + And request contains "version" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get a dataset by version returns "OK" response + Given operation "GetSecurityMonitoringDatasetByVersion" enabled + And new "GetSecurityMonitoringDatasetByVersion" request + And request contains "dataset_id" parameter from "REPLACE.ME" + And request contains "version" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get a dataset returns "Bad Request" response + Given operation "GetSecurityMonitoringDataset" enabled + And new "GetSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get a dataset returns "Not Found" response + Given operation "GetSecurityMonitoringDataset" enabled + And new "GetSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get a dataset returns "OK" response + Given operation "GetSecurityMonitoringDataset" enabled + And new "GetSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/cloud-security-posture-management Scenario: Get a finding returns "Bad Request: The server cannot process the request due to invalid syntax in the request." response Given operation "GetFinding" enabled @@ -1240,6 +1331,46 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get dataset dependencies returns "Bad Request" response + Given operation "BatchGetSecurityMonitoringDatasetDependencies" enabled + And new "BatchGetSecurityMonitoringDatasetDependencies" request + And body with value {"data": {"attributes": {"datasetIds": ["dataset-1"]}, "type": "security_monitoring_dataset_dependencies"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get dataset dependencies returns "OK" response + Given operation "BatchGetSecurityMonitoringDatasetDependencies" enabled + And new "BatchGetSecurityMonitoringDatasetDependencies" request + And body with value {"data": {"attributes": {"datasetIds": ["dataset-1"]}, "type": "security_monitoring_dataset_dependencies"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get dataset history returns "Bad Request" response + Given operation "GetSecurityMonitoringDatasetHistory" enabled + And new "GetSecurityMonitoringDatasetHistory" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get dataset history returns "Not Found" response + Given operation "GetSecurityMonitoringDatasetHistory" enabled + And new "GetSecurityMonitoringDatasetHistory" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Get dataset history returns "OK" response + Given operation "GetSecurityMonitoringDatasetHistory" enabled + And new "GetSecurityMonitoringDatasetHistory" request + And request contains "dataset_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/cloud-security-posture-management Scenario: Get details of a signal-based notification rule returns "Bad Request" response Given new "GetSignalNotificationRule" request @@ -1340,6 +1471,27 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 The list of notification rules. + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: List all datasets returns "Bad Request" response + Given operation "ListSecurityMonitoringDatasets" enabled + And new "ListSecurityMonitoringDatasets" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: List all datasets returns "Not Found" response + Given operation "ListSecurityMonitoringDatasets" enabled + And new "ListSecurityMonitoringDatasets" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: List all datasets returns "OK" response + Given operation "ListSecurityMonitoringDatasets" enabled + And new "ListSecurityMonitoringDatasets" request + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/k9-cloud-vm Scenario: List assets SBOMs returns "Bad request: The server cannot process the request due to invalid syntax in the request." response Given new "ListAssetsSBOMs" request @@ -1907,6 +2059,42 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Update a dataset returns "Bad Request" response + Given operation "UpdateSecurityMonitoringDataset" enabled + And new "UpdateSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"definition": {"columns": [{"column": "message", "type": "string"}], "data_source": "logs", "indexes": ["k9"], "name": "my_dataset"}, "description": "Updated dataset description", "version": 1}, "type": "security_monitoring_dataset"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Update a dataset returns "Conflict" response + Given operation "UpdateSecurityMonitoringDataset" enabled + And new "UpdateSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"definition": {"columns": [{"column": "message", "type": "string"}], "data_source": "logs", "indexes": ["k9"], "name": "my_dataset"}, "description": "Updated dataset description", "version": 1}, "type": "security_monitoring_dataset"}} + When the request is sent + Then the response status is 409 Conflict + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Update a dataset returns "No Content" response + Given operation "UpdateSecurityMonitoringDataset" enabled + And new "UpdateSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"definition": {"columns": [{"column": "message", "type": "string"}], "data_source": "logs", "indexes": ["k9"], "name": "my_dataset"}, "description": "Updated dataset description", "version": 1}, "type": "security_monitoring_dataset"}} + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:DataDog/k9-cloud-security-platform + Scenario: Update a dataset returns "Not Found" response + Given operation "UpdateSecurityMonitoringDataset" enabled + And new "UpdateSecurityMonitoringDataset" request + And request contains "dataset_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"definition": {"columns": [{"column": "message", "type": "string"}], "data_source": "logs", "indexes": ["k9"], "name": "my_dataset"}, "description": "Updated dataset description", "version": 1}, "type": "security_monitoring_dataset"}} + When the request is sent + Then the response status is 404 Not Found + @generated @skip @team:DataDog/k9-cloud-security-platform Scenario: Update a security filter returns "Bad Request" response Given new "UpdateSecurityFilter" request diff --git a/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json index 5a347bddf11..4a80121b5df 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/undo.json +++ b/src/test/resources/com/datadog/api/client/v2/api/undo.json @@ -4317,6 +4317,63 @@ "type": "safe" } }, + "ListSecurityMonitoringDatasets": { + "tag": "Security Monitoring", + "undo": { + "type": "safe" + } + }, + "CreateSecurityMonitoringDataset": { + "tag": "Security Monitoring", + "undo": { + "operationId": "DeleteSecurityMonitoringDataset", + "parameters": [ + { + "name": "dataset_id", + "source": "" + } + ], + "type": "unsafe" + } + }, + "BatchGetSecurityMonitoringDatasetDependencies": { + "tag": "Security Monitoring", + "undo": { + "operationId": "TODO", + "parameters": [], + "type": "unsafe" + } + }, + "DeleteSecurityMonitoringDataset": { + "tag": "Security Monitoring", + "undo": { + "type": "idempotent" + } + }, + "GetSecurityMonitoringDataset": { + "tag": "Security Monitoring", + "undo": { + "type": "safe" + } + }, + "UpdateSecurityMonitoringDataset": { + "tag": "Security Monitoring", + "undo": { + "type": "idempotent" + } + }, + "GetSecurityMonitoringDatasetHistory": { + "tag": "Security Monitoring", + "undo": { + "type": "safe" + } + }, + "GetSecurityMonitoringDatasetByVersion": { + "tag": "Security Monitoring", + "undo": { + "type": "safe" + } + }, "ListSecurityMonitoringRules": { "tag": "Security Monitoring", "undo": {