From da84de5e38c9ce6c62e0e14bea0e26b7c9744949 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 28 May 2026 02:06:11 +0000 Subject: [PATCH] Regenerate client from commit 7f9bfc5 of spec repo --- .generator/schemas/v2/openapi.yaml | 298 +++++++++++++----- docs/datadog_api_client.v2.model.rst | 84 +++-- .../aws-integration/ValidateAWSCCMConfig.py | 33 ++ src/datadog_api_client/configuration.py | 1 + .../v2/api/aws_integration_api.py | 40 +++ .../model/aws_ccm_config_validation_issue.py | 46 +++ .../aws_ccm_config_validation_issue_code.py | 93 ++++++ .../aws_ccm_config_validation_request.py | 40 +++ ...cm_config_validation_request_attributes.py | 69 ++++ .../aws_ccm_config_validation_request_data.py | 54 ++++ .../aws_ccm_config_validation_response.py | 42 +++ ...m_config_validation_response_attributes.py | 46 +++ ...aws_ccm_config_validation_response_data.py | 60 ++++ ...e.py => aws_ccm_config_validation_type.py} | 14 +- .../v2/model/observability_pipeline_config.py | 4 - ...bility_pipeline_config_destination_item.py | 10 - ...pipeline_splunk_hec_metrics_destination.py | 163 ---------- ...unk_hec_metrics_destination_compression.py | 42 --- src/datadog_api_client/v2/models/__init__.py | 34 +- tests/v2/features/aws_integration.feature | 16 + tests/v2/features/undo.json | 6 + 21 files changed, 859 insertions(+), 336 deletions(-) create mode 100644 examples/v2/aws-integration/ValidateAWSCCMConfig.py create mode 100644 src/datadog_api_client/v2/model/aws_ccm_config_validation_issue.py create mode 100644 src/datadog_api_client/v2/model/aws_ccm_config_validation_issue_code.py create mode 100644 src/datadog_api_client/v2/model/aws_ccm_config_validation_request.py create mode 100644 src/datadog_api_client/v2/model/aws_ccm_config_validation_request_attributes.py create mode 100644 src/datadog_api_client/v2/model/aws_ccm_config_validation_request_data.py create mode 100644 src/datadog_api_client/v2/model/aws_ccm_config_validation_response.py create mode 100644 src/datadog_api_client/v2/model/aws_ccm_config_validation_response_attributes.py create mode 100644 src/datadog_api_client/v2/model/aws_ccm_config_validation_response_data.py rename src/datadog_api_client/v2/model/{observability_pipeline_splunk_hec_metrics_destination_type.py => aws_ccm_config_validation_type.py} (52%) delete mode 100644 src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination.py delete mode 100644 src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination_compression.py diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 4afc8ca399..554173ef1d 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -2437,6 +2437,158 @@ components: type: string x-enum-varnames: - CCM_CONFIG + AWSCcmConfigValidationIssue: + description: A single validation issue found while validating an AWS Cost and Usage Report (CUR) 2.0 configuration. + properties: + code: + $ref: "#/components/schemas/AWSCcmConfigValidationIssueCode" + description: + description: Human-readable description of the validation issue. + example: 'no CUR 2.0 export named "cost-and-usage-report" found' + type: string + required: + - code + - description + type: object + AWSCcmConfigValidationIssueCode: + description: Identifies the specific reason a Cost and Usage Report (CUR) 2.0 configuration failed validation. + enum: + - ISSUE_CODE_UNSPECIFIED + - CREDENTIAL_ERROR + - BUCKET_NAME_INVALID_GOVCLOUD + - S3_LIST_PERMISSION_MISSING + - S3_GET_PERMISSION_MISSING + - S3_BUCKET_REGION_MISMATCH + - S3_BUCKET_NOT_ACCESSIBLE + - EXPORT_LIST_PERMISSION_MISSING + - EXPORT_GET_PERMISSION_MISSING + - EXPORT_NOT_FOUND + - EXPORT_STATUS_UNHEALTHY + - TIME_GRANULARITY_INVALID + - FILE_FORMAT_INVALID + - INCLUDE_RESOURCES_DISABLED + - REFRESH_CADENCE_INVALID + - OVERWRITE_MODE_INVALID + - QUERY_STATEMENT_INVALID + example: "EXPORT_NOT_FOUND" + type: string + x-enum-varnames: + - ISSUE_CODE_UNSPECIFIED + - CREDENTIAL_ERROR + - BUCKET_NAME_INVALID_GOVCLOUD + - S3_LIST_PERMISSION_MISSING + - S3_GET_PERMISSION_MISSING + - S3_BUCKET_REGION_MISMATCH + - S3_BUCKET_NOT_ACCESSIBLE + - EXPORT_LIST_PERMISSION_MISSING + - EXPORT_GET_PERMISSION_MISSING + - EXPORT_NOT_FOUND + - EXPORT_STATUS_UNHEALTHY + - TIME_GRANULARITY_INVALID + - FILE_FORMAT_INVALID + - INCLUDE_RESOURCES_DISABLED + - REFRESH_CADENCE_INVALID + - OVERWRITE_MODE_INVALID + - QUERY_STATEMENT_INVALID + AWSCcmConfigValidationIssues: + description: List of validation issues found for the Cost and Usage Report (CUR) 2.0 configuration. Empty when the configuration is valid. + items: + $ref: "#/components/schemas/AWSCcmConfigValidationIssue" + type: array + AWSCcmConfigValidationRequest: + description: AWS CCM config validation request body. + properties: + data: + $ref: "#/components/schemas/AWSCcmConfigValidationRequestData" + required: + - data + type: object + AWSCcmConfigValidationRequestAttributes: + description: Attributes for an AWS CCM config validation request. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: "123456789012" + type: string + bucket_name: + description: Name of the S3 bucket where the Cost and Usage Report is stored. + example: "billing" + type: string + bucket_region: + description: AWS region of the S3 bucket. + example: "us-east-1" + type: string + report_name: + description: Name of the Cost and Usage Report. + example: "cost-and-usage-report" + type: string + report_prefix: + description: S3 prefix where the Cost and Usage Report is stored. + example: "reports" + type: string + required: + - account_id + - bucket_name + - bucket_region + - report_name + type: object + AWSCcmConfigValidationRequestData: + description: AWS CCM config validation request data. + properties: + attributes: + $ref: "#/components/schemas/AWSCcmConfigValidationRequestAttributes" + type: + $ref: "#/components/schemas/AWSCcmConfigValidationType" + required: + - attributes + - type + type: object + AWSCcmConfigValidationResponse: + description: AWS CCM config validation response body. + properties: + data: + $ref: "#/components/schemas/AWSCcmConfigValidationResponseData" + required: + - data + type: object + AWSCcmConfigValidationResponseAttributes: + description: Attributes for an AWS CCM config validation response. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: "123456789012" + type: string + issues: + $ref: "#/components/schemas/AWSCcmConfigValidationIssues" + required: + - account_id + - issues + type: object + AWSCcmConfigValidationResponseData: + description: AWS CCM config validation response data. + properties: + attributes: + $ref: "#/components/schemas/AWSCcmConfigValidationResponseAttributes" + id: + description: AWS CCM config validation resource identifier. + example: "ccm_config_validation" + type: string + type: + $ref: "#/components/schemas/AWSCcmConfigValidationType" + required: + - attributes + - id + - type + type: object + AWSCcmConfigValidationType: + default: "ccm_config_validation" + description: AWS CCM config validation resource type. + enum: + - ccm_config_validation + example: "ccm_config_validation" + type: string + x-enum-varnames: + - CCM_CONFIG_VALIDATION AWSCloudAuthPersonaMappingAttributesResponse: description: Attributes for AWS cloud authentication persona mapping response properties: @@ -55624,7 +55776,6 @@ components: - $ref: "#/components/schemas/ObservabilityPipelineSyslogNgDestination" - $ref: "#/components/schemas/ObservabilityPipelineDatabricksZerobusDestination" - $ref: "#/components/schemas/ObservabilityPipelineDatadogMetricsDestination" - - $ref: "#/components/schemas/ObservabilityPipelineSplunkHecMetricsDestination" ObservabilityPipelineConfigPipelineType: default: logs description: The type of data being ingested. Defaults to `logs` if not specified. @@ -59746,81 +59897,6 @@ components: type: string x-enum-varnames: - SPLUNK_HEC - ObservabilityPipelineSplunkHecMetricsDestination: - description: |- - The `splunk_hec_metrics` destination forwards metrics to Splunk using the HTTP Event Collector (HEC). - - **Supported pipeline types:** metrics - properties: - buffer: - $ref: "#/components/schemas/ObservabilityPipelineBufferOptions" - compression: - $ref: "#/components/schemas/ObservabilityPipelineSplunkHecMetricsDestinationCompression" - default_namespace: - description: Optional default namespace for metrics sent to Splunk HEC. - example: "custom_namespace" - type: string - endpoint_url_key: - description: Name of the environment variable or secret that holds the Splunk HEC endpoint URL. - example: SPLUNK_HEC_ENDPOINT_URL - type: string - id: - description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). - example: splunk-hec-metrics-destination - type: string - index: - description: Optional name of the Splunk index where metrics are written. - example: "metrics" - type: string - inputs: - description: A list of component IDs whose output is used as the `input` for this component. - example: ["metrics-filter-processor"] - items: - description: The ID of a component whose output is used as input for this destination. - type: string - type: array - source: - description: The Splunk source field value for metric events. - example: "observability_pipelines" - type: string - sourcetype: - description: The Splunk sourcetype to assign to metric events. - example: "custom_sourcetype" - type: string - tls: - $ref: "#/components/schemas/ObservabilityPipelineTls" - token_key: - description: Name of the environment variable or secret that holds the Splunk HEC token. - example: SPLUNK_HEC_TOKEN - type: string - type: - $ref: "#/components/schemas/ObservabilityPipelineSplunkHecMetricsDestinationType" - required: - - id - - type - - inputs - type: object - x-pipeline-types: [metrics] - ObservabilityPipelineSplunkHecMetricsDestinationCompression: - default: none - description: Compression algorithm applied when sending metrics to Splunk HEC. - enum: - - none - - gzip - example: none - type: string - x-enum-varnames: - - NONE - - GZIP - ObservabilityPipelineSplunkHecMetricsDestinationType: - default: splunk_hec_metrics - description: The destination type. Always `splunk_hec_metrics`. - enum: - - splunk_hec_metrics - example: splunk_hec_metrics - type: string - x-enum-varnames: - - SPLUNK_HEC_METRICS ObservabilityPipelineSplunkHecSource: description: |- The `splunk_hec` source implements the Splunk HTTP Event Collector (HEC) API. @@ -121645,6 +121721,76 @@ paths: operator: OR permissions: - aws_configuration_read + /api/v2/integration/aws/validate_ccm_config: + post: + description: |- + Validate a Cloud Cost Management config for an AWS account using Cost and Usage Report + (CUR) 2.0 against Datadog's ingest requirements without persisting it. + operationId: ValidateAWSCCMConfig + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: "123456789012" + bucket_name: billing + bucket_region: us-east-1 + report_name: cost-and-usage-report + report_prefix: reports + type: ccm_config_validation + schema: + $ref: "#/components/schemas/AWSCcmConfigValidationRequest" + description: Validate a Cloud Cost Management config for an AWS account integration config. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: "123456789012" + issues: + - code: EXPORT_NOT_FOUND + description: 'no CUR 2.0 export named "cost-and-usage-report" found' + id: ccm_config_validation + type: ccm_config_validation + schema: + $ref: "#/components/schemas/AWSCcmConfigValidationResponse" + description: AWS CCM Config validation result + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + "503": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Service Unavailable + summary: Validate AWS CCM config + tags: + - AWS Integration + x-codegen-request-body-name: body + "x-permission": + operator: OR + permissions: + - cloud_cost_management_read + - cloud_cost_management_write + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/integration/gcp/accounts: get: description: List all GCP STS-enabled service accounts configured in your Datadog account. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 8c6243db4a..a1389bd5f2 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -2748,6 +2748,69 @@ datadog\_api\_client.v2.model.aws\_ccm\_config\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_issue module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_issue + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_issue\_code module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_issue_code + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_request module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_request\_attributes module +-------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_request_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_request\_data module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_response module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_response\_attributes module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_response\_data module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.aws\_ccm\_config\_validation\_type module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.aws_ccm_config_validation_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.aws\_cloud\_auth\_persona\_mapping\_attributes\_response module --------------------------------------------------------------------------------------------- @@ -25470,27 +25533,6 @@ datadog\_api\_client.v2.model.observability\_pipeline\_splunk\_hec\_destination\ :members: :show-inheritance: -datadog\_api\_client.v2.model.observability\_pipeline\_splunk\_hec\_metrics\_destination module ------------------------------------------------------------------------------------------------ - -.. automodule:: datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.observability\_pipeline\_splunk\_hec\_metrics\_destination\_compression module ------------------------------------------------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination_compression - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.observability\_pipeline\_splunk\_hec\_metrics\_destination\_type module ------------------------------------------------------------------------------------------------------ - -.. automodule:: datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination_type - :members: - :show-inheritance: - datadog\_api\_client.v2.model.observability\_pipeline\_splunk\_hec\_source module --------------------------------------------------------------------------------- diff --git a/examples/v2/aws-integration/ValidateAWSCCMConfig.py b/examples/v2/aws-integration/ValidateAWSCCMConfig.py new file mode 100644 index 0000000000..b0eaab04f3 --- /dev/null +++ b/examples/v2/aws-integration/ValidateAWSCCMConfig.py @@ -0,0 +1,33 @@ +""" +Validate AWS CCM config returns "AWS CCM Config validation result" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.aws_integration_api import AWSIntegrationApi +from datadog_api_client.v2.model.aws_ccm_config_validation_request import AWSCcmConfigValidationRequest +from datadog_api_client.v2.model.aws_ccm_config_validation_request_attributes import ( + AWSCcmConfigValidationRequestAttributes, +) +from datadog_api_client.v2.model.aws_ccm_config_validation_request_data import AWSCcmConfigValidationRequestData +from datadog_api_client.v2.model.aws_ccm_config_validation_type import AWSCcmConfigValidationType + +body = AWSCcmConfigValidationRequest( + data=AWSCcmConfigValidationRequestData( + attributes=AWSCcmConfigValidationRequestAttributes( + account_id="123456789012", + bucket_name="billing", + bucket_region="us-east-1", + report_name="cost-and-usage-report", + report_prefix="reports", + ), + type=AWSCcmConfigValidationType.CCM_CONFIG_VALIDATION, + ), +) + +configuration = Configuration() +configuration.unstable_operations["validate_awsccm_config"] = True +with ApiClient(configuration) as api_client: + api_instance = AWSIntegrationApi(api_client) + response = api_instance.validate_awsccm_config(body=body) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index f58ee9964c..ffe0b93f6c 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -536,6 +536,7 @@ def __init__( "v2.delete_aws_account_ccm_config": False, "v2.get_aws_account_ccm_config": False, "v2.update_aws_account_ccm_config": False, + "v2.validate_awsccm_config": False, "v2.create_jira_issue_template": False, "v2.delete_jira_account": False, "v2.delete_jira_issue_template": False, diff --git a/src/datadog_api_client/v2/api/aws_integration_api.py b/src/datadog_api_client/v2/api/aws_integration_api.py index 4cf94d9051..b10a190825 100644 --- a/src/datadog_api_client/v2/api/aws_integration_api.py +++ b/src/datadog_api_client/v2/api/aws_integration_api.py @@ -25,6 +25,8 @@ from datadog_api_client.v2.model.aws_event_bridge_create_request import AWSEventBridgeCreateRequest from datadog_api_client.v2.model.aws_new_external_id_response import AWSNewExternalIDResponse from datadog_api_client.v2.model.aws_integration_iam_permissions_response import AWSIntegrationIamPermissionsResponse +from datadog_api_client.v2.model.aws_ccm_config_validation_response import AWSCcmConfigValidationResponse +from datadog_api_client.v2.model.aws_ccm_config_validation_request import AWSCcmConfigValidationRequest class AWSIntegrationApi: @@ -386,6 +388,26 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._validate_awsccm_config_endpoint = _Endpoint( + settings={ + "response_type": (AWSCcmConfigValidationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration/aws/validate_ccm_config", + "operation_id": "validate_awsccm_config", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (AWSCcmConfigValidationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + def create_aws_account( self, body: AWSAccountCreateRequest, @@ -678,3 +700,21 @@ def update_aws_account_ccm_config( kwargs["body"] = body return self._update_aws_account_ccm_config_endpoint.call_with_http_info(**kwargs) + + def validate_awsccm_config( + self, + body: AWSCcmConfigValidationRequest, + ) -> AWSCcmConfigValidationResponse: + """Validate AWS CCM config. + + Validate a Cloud Cost Management config for an AWS account using Cost and Usage Report + (CUR) 2.0 against Datadog's ingest requirements without persisting it. + + :param body: Validate a Cloud Cost Management config for an AWS account integration config. + :type body: AWSCcmConfigValidationRequest + :rtype: AWSCcmConfigValidationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._validate_awsccm_config_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/model/aws_ccm_config_validation_issue.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_issue.py new file mode 100644 index 0000000000..556ca7fc4d --- /dev/null +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_issue.py @@ -0,0 +1,46 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.aws_ccm_config_validation_issue_code import AWSCcmConfigValidationIssueCode + + +class AWSCcmConfigValidationIssue(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.aws_ccm_config_validation_issue_code import AWSCcmConfigValidationIssueCode + + return { + "code": (AWSCcmConfigValidationIssueCode,), + "description": (str,), + } + + attribute_map = { + "code": "code", + "description": "description", + } + + def __init__(self_, code: AWSCcmConfigValidationIssueCode, description: str, **kwargs): + """ + A single validation issue found while validating an AWS Cost and Usage Report (CUR) 2.0 configuration. + + :param code: Identifies the specific reason a Cost and Usage Report (CUR) 2.0 configuration failed validation. + :type code: AWSCcmConfigValidationIssueCode + + :param description: Human-readable description of the validation issue. + :type description: str + """ + super().__init__(kwargs) + + self_.code = code + self_.description = description diff --git a/src/datadog_api_client/v2/model/aws_ccm_config_validation_issue_code.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_issue_code.py new file mode 100644 index 0000000000..f508833f4e --- /dev/null +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_issue_code.py @@ -0,0 +1,93 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class AWSCcmConfigValidationIssueCode(ModelSimple): + """ + Identifies the specific reason a Cost and Usage Report (CUR) 2.0 configuration failed validation. + + :param value: Must be one of ["ISSUE_CODE_UNSPECIFIED", "CREDENTIAL_ERROR", "BUCKET_NAME_INVALID_GOVCLOUD", "S3_LIST_PERMISSION_MISSING", "S3_GET_PERMISSION_MISSING", "S3_BUCKET_REGION_MISMATCH", "S3_BUCKET_NOT_ACCESSIBLE", "EXPORT_LIST_PERMISSION_MISSING", "EXPORT_GET_PERMISSION_MISSING", "EXPORT_NOT_FOUND", "EXPORT_STATUS_UNHEALTHY", "TIME_GRANULARITY_INVALID", "FILE_FORMAT_INVALID", "INCLUDE_RESOURCES_DISABLED", "REFRESH_CADENCE_INVALID", "OVERWRITE_MODE_INVALID", "QUERY_STATEMENT_INVALID"]. + :type value: str + """ + + allowed_values = { + "ISSUE_CODE_UNSPECIFIED", + "CREDENTIAL_ERROR", + "BUCKET_NAME_INVALID_GOVCLOUD", + "S3_LIST_PERMISSION_MISSING", + "S3_GET_PERMISSION_MISSING", + "S3_BUCKET_REGION_MISMATCH", + "S3_BUCKET_NOT_ACCESSIBLE", + "EXPORT_LIST_PERMISSION_MISSING", + "EXPORT_GET_PERMISSION_MISSING", + "EXPORT_NOT_FOUND", + "EXPORT_STATUS_UNHEALTHY", + "TIME_GRANULARITY_INVALID", + "FILE_FORMAT_INVALID", + "INCLUDE_RESOURCES_DISABLED", + "REFRESH_CADENCE_INVALID", + "OVERWRITE_MODE_INVALID", + "QUERY_STATEMENT_INVALID", + } + ISSUE_CODE_UNSPECIFIED: ClassVar["AWSCcmConfigValidationIssueCode"] + CREDENTIAL_ERROR: ClassVar["AWSCcmConfigValidationIssueCode"] + BUCKET_NAME_INVALID_GOVCLOUD: ClassVar["AWSCcmConfigValidationIssueCode"] + S3_LIST_PERMISSION_MISSING: ClassVar["AWSCcmConfigValidationIssueCode"] + S3_GET_PERMISSION_MISSING: ClassVar["AWSCcmConfigValidationIssueCode"] + S3_BUCKET_REGION_MISMATCH: ClassVar["AWSCcmConfigValidationIssueCode"] + S3_BUCKET_NOT_ACCESSIBLE: ClassVar["AWSCcmConfigValidationIssueCode"] + EXPORT_LIST_PERMISSION_MISSING: ClassVar["AWSCcmConfigValidationIssueCode"] + EXPORT_GET_PERMISSION_MISSING: ClassVar["AWSCcmConfigValidationIssueCode"] + EXPORT_NOT_FOUND: ClassVar["AWSCcmConfigValidationIssueCode"] + EXPORT_STATUS_UNHEALTHY: ClassVar["AWSCcmConfigValidationIssueCode"] + TIME_GRANULARITY_INVALID: ClassVar["AWSCcmConfigValidationIssueCode"] + FILE_FORMAT_INVALID: ClassVar["AWSCcmConfigValidationIssueCode"] + INCLUDE_RESOURCES_DISABLED: ClassVar["AWSCcmConfigValidationIssueCode"] + REFRESH_CADENCE_INVALID: ClassVar["AWSCcmConfigValidationIssueCode"] + OVERWRITE_MODE_INVALID: ClassVar["AWSCcmConfigValidationIssueCode"] + QUERY_STATEMENT_INVALID: ClassVar["AWSCcmConfigValidationIssueCode"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +AWSCcmConfigValidationIssueCode.ISSUE_CODE_UNSPECIFIED = AWSCcmConfigValidationIssueCode("ISSUE_CODE_UNSPECIFIED") +AWSCcmConfigValidationIssueCode.CREDENTIAL_ERROR = AWSCcmConfigValidationIssueCode("CREDENTIAL_ERROR") +AWSCcmConfigValidationIssueCode.BUCKET_NAME_INVALID_GOVCLOUD = AWSCcmConfigValidationIssueCode( + "BUCKET_NAME_INVALID_GOVCLOUD" +) +AWSCcmConfigValidationIssueCode.S3_LIST_PERMISSION_MISSING = AWSCcmConfigValidationIssueCode( + "S3_LIST_PERMISSION_MISSING" +) +AWSCcmConfigValidationIssueCode.S3_GET_PERMISSION_MISSING = AWSCcmConfigValidationIssueCode("S3_GET_PERMISSION_MISSING") +AWSCcmConfigValidationIssueCode.S3_BUCKET_REGION_MISMATCH = AWSCcmConfigValidationIssueCode("S3_BUCKET_REGION_MISMATCH") +AWSCcmConfigValidationIssueCode.S3_BUCKET_NOT_ACCESSIBLE = AWSCcmConfigValidationIssueCode("S3_BUCKET_NOT_ACCESSIBLE") +AWSCcmConfigValidationIssueCode.EXPORT_LIST_PERMISSION_MISSING = AWSCcmConfigValidationIssueCode( + "EXPORT_LIST_PERMISSION_MISSING" +) +AWSCcmConfigValidationIssueCode.EXPORT_GET_PERMISSION_MISSING = AWSCcmConfigValidationIssueCode( + "EXPORT_GET_PERMISSION_MISSING" +) +AWSCcmConfigValidationIssueCode.EXPORT_NOT_FOUND = AWSCcmConfigValidationIssueCode("EXPORT_NOT_FOUND") +AWSCcmConfigValidationIssueCode.EXPORT_STATUS_UNHEALTHY = AWSCcmConfigValidationIssueCode("EXPORT_STATUS_UNHEALTHY") +AWSCcmConfigValidationIssueCode.TIME_GRANULARITY_INVALID = AWSCcmConfigValidationIssueCode("TIME_GRANULARITY_INVALID") +AWSCcmConfigValidationIssueCode.FILE_FORMAT_INVALID = AWSCcmConfigValidationIssueCode("FILE_FORMAT_INVALID") +AWSCcmConfigValidationIssueCode.INCLUDE_RESOURCES_DISABLED = AWSCcmConfigValidationIssueCode( + "INCLUDE_RESOURCES_DISABLED" +) +AWSCcmConfigValidationIssueCode.REFRESH_CADENCE_INVALID = AWSCcmConfigValidationIssueCode("REFRESH_CADENCE_INVALID") +AWSCcmConfigValidationIssueCode.OVERWRITE_MODE_INVALID = AWSCcmConfigValidationIssueCode("OVERWRITE_MODE_INVALID") +AWSCcmConfigValidationIssueCode.QUERY_STATEMENT_INVALID = AWSCcmConfigValidationIssueCode("QUERY_STATEMENT_INVALID") diff --git a/src/datadog_api_client/v2/model/aws_ccm_config_validation_request.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_request.py new file mode 100644 index 0000000000..040b30e015 --- /dev/null +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_request.py @@ -0,0 +1,40 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.aws_ccm_config_validation_request_data import AWSCcmConfigValidationRequestData + + +class AWSCcmConfigValidationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.aws_ccm_config_validation_request_data import AWSCcmConfigValidationRequestData + + return { + "data": (AWSCcmConfigValidationRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: AWSCcmConfigValidationRequestData, **kwargs): + """ + AWS CCM config validation request body. + + :param data: AWS CCM config validation request data. + :type data: AWSCcmConfigValidationRequestData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/aws_ccm_config_validation_request_attributes.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_request_attributes.py new file mode 100644 index 0000000000..c118a3e56b --- /dev/null +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_request_attributes.py @@ -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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class AWSCcmConfigValidationRequestAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "account_id": (str,), + "bucket_name": (str,), + "bucket_region": (str,), + "report_name": (str,), + "report_prefix": (str,), + } + + attribute_map = { + "account_id": "account_id", + "bucket_name": "bucket_name", + "bucket_region": "bucket_region", + "report_name": "report_name", + "report_prefix": "report_prefix", + } + + def __init__( + self_, + account_id: str, + bucket_name: str, + bucket_region: str, + report_name: str, + report_prefix: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for an AWS CCM config validation request. + + :param account_id: Your AWS Account ID without dashes. + :type account_id: str + + :param bucket_name: Name of the S3 bucket where the Cost and Usage Report is stored. + :type bucket_name: str + + :param bucket_region: AWS region of the S3 bucket. + :type bucket_region: str + + :param report_name: Name of the Cost and Usage Report. + :type report_name: str + + :param report_prefix: S3 prefix where the Cost and Usage Report is stored. + :type report_prefix: str, optional + """ + if report_prefix is not unset: + kwargs["report_prefix"] = report_prefix + super().__init__(kwargs) + + self_.account_id = account_id + self_.bucket_name = bucket_name + self_.bucket_region = bucket_region + self_.report_name = report_name diff --git a/src/datadog_api_client/v2/model/aws_ccm_config_validation_request_data.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_request_data.py new file mode 100644 index 0000000000..ad51523a02 --- /dev/null +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_request_data.py @@ -0,0 +1,54 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.aws_ccm_config_validation_request_attributes import ( + AWSCcmConfigValidationRequestAttributes, + ) + from datadog_api_client.v2.model.aws_ccm_config_validation_type import AWSCcmConfigValidationType + + +class AWSCcmConfigValidationRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.aws_ccm_config_validation_request_attributes import ( + AWSCcmConfigValidationRequestAttributes, + ) + from datadog_api_client.v2.model.aws_ccm_config_validation_type import AWSCcmConfigValidationType + + return { + "attributes": (AWSCcmConfigValidationRequestAttributes,), + "type": (AWSCcmConfigValidationType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: AWSCcmConfigValidationRequestAttributes, type: AWSCcmConfigValidationType, **kwargs + ): + """ + AWS CCM config validation request data. + + :param attributes: Attributes for an AWS CCM config validation request. + :type attributes: AWSCcmConfigValidationRequestAttributes + + :param type: AWS CCM config validation resource type. + :type type: AWSCcmConfigValidationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/aws_ccm_config_validation_response.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_response.py new file mode 100644 index 0000000000..0e5c4dfaad --- /dev/null +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_response.py @@ -0,0 +1,42 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.aws_ccm_config_validation_response_data import AWSCcmConfigValidationResponseData + + +class AWSCcmConfigValidationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.aws_ccm_config_validation_response_data import ( + AWSCcmConfigValidationResponseData, + ) + + return { + "data": (AWSCcmConfigValidationResponseData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: AWSCcmConfigValidationResponseData, **kwargs): + """ + AWS CCM config validation response body. + + :param data: AWS CCM config validation response data. + :type data: AWSCcmConfigValidationResponseData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/aws_ccm_config_validation_response_attributes.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_response_attributes.py new file mode 100644 index 0000000000..b4bc8cb32d --- /dev/null +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_response_attributes.py @@ -0,0 +1,46 @@ +# 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. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.aws_ccm_config_validation_issue import AWSCcmConfigValidationIssue + + +class AWSCcmConfigValidationResponseAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.aws_ccm_config_validation_issue import AWSCcmConfigValidationIssue + + return { + "account_id": (str,), + "issues": ([AWSCcmConfigValidationIssue],), + } + + attribute_map = { + "account_id": "account_id", + "issues": "issues", + } + + def __init__(self_, account_id: str, issues: List[AWSCcmConfigValidationIssue], **kwargs): + """ + Attributes for an AWS CCM config validation response. + + :param account_id: Your AWS Account ID without dashes. + :type account_id: str + + :param issues: List of validation issues found for the Cost and Usage Report (CUR) 2.0 configuration. Empty when the configuration is valid. + :type issues: [AWSCcmConfigValidationIssue] + """ + super().__init__(kwargs) + + self_.account_id = account_id + self_.issues = issues diff --git a/src/datadog_api_client/v2/model/aws_ccm_config_validation_response_data.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_response_data.py new file mode 100644 index 0000000000..f902587b04 --- /dev/null +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_response_data.py @@ -0,0 +1,60 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.aws_ccm_config_validation_response_attributes import ( + AWSCcmConfigValidationResponseAttributes, + ) + from datadog_api_client.v2.model.aws_ccm_config_validation_type import AWSCcmConfigValidationType + + +class AWSCcmConfigValidationResponseData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.aws_ccm_config_validation_response_attributes import ( + AWSCcmConfigValidationResponseAttributes, + ) + from datadog_api_client.v2.model.aws_ccm_config_validation_type import AWSCcmConfigValidationType + + return { + "attributes": (AWSCcmConfigValidationResponseAttributes,), + "id": (str,), + "type": (AWSCcmConfigValidationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, attributes: AWSCcmConfigValidationResponseAttributes, id: str, type: AWSCcmConfigValidationType, **kwargs + ): + """ + AWS CCM config validation response data. + + :param attributes: Attributes for an AWS CCM config validation response. + :type attributes: AWSCcmConfigValidationResponseAttributes + + :param id: AWS CCM config validation resource identifier. + :type id: str + + :param type: AWS CCM config validation resource type. + :type type: AWSCcmConfigValidationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination_type.py b/src/datadog_api_client/v2/model/aws_ccm_config_validation_type.py similarity index 52% rename from src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination_type.py rename to src/datadog_api_client/v2/model/aws_ccm_config_validation_type.py index 825a741bb2..4ce303ecd0 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination_type.py +++ b/src/datadog_api_client/v2/model/aws_ccm_config_validation_type.py @@ -12,18 +12,18 @@ from typing import ClassVar -class ObservabilityPipelineSplunkHecMetricsDestinationType(ModelSimple): +class AWSCcmConfigValidationType(ModelSimple): """ - The destination type. Always `splunk_hec_metrics`. + AWS CCM config validation resource type. - :param value: If omitted defaults to "splunk_hec_metrics". Must be one of ["splunk_hec_metrics"]. + :param value: If omitted defaults to "ccm_config_validation". Must be one of ["ccm_config_validation"]. :type value: str """ allowed_values = { - "splunk_hec_metrics", + "ccm_config_validation", } - SPLUNK_HEC_METRICS: ClassVar["ObservabilityPipelineSplunkHecMetricsDestinationType"] + CCM_CONFIG_VALIDATION: ClassVar["AWSCcmConfigValidationType"] @cached_property def openapi_types(_): @@ -32,6 +32,4 @@ def openapi_types(_): } -ObservabilityPipelineSplunkHecMetricsDestinationType.SPLUNK_HEC_METRICS = ( - ObservabilityPipelineSplunkHecMetricsDestinationType("splunk_hec_metrics") -) +AWSCcmConfigValidationType.CCM_CONFIG_VALIDATION = AWSCcmConfigValidationType("ccm_config_validation") diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config.py b/src/datadog_api_client/v2/model/observability_pipeline_config.py index afd1a78d88..13a3ef23e0 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config.py @@ -97,9 +97,6 @@ from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination import ( ObservabilityPipelineDatadogMetricsDestination, ) - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination import ( - ObservabilityPipelineSplunkHecMetricsDestination, - ) from datadog_api_client.v2.model.observability_pipeline_datadog_agent_source import ( ObservabilityPipelineDatadogAgentSource, ) @@ -203,7 +200,6 @@ def __init__( ObservabilityPipelineSyslogNgDestination, ObservabilityPipelineDatabricksZerobusDestination, ObservabilityPipelineDatadogMetricsDestination, - ObservabilityPipelineSplunkHecMetricsDestination, ] ], sources: List[ diff --git a/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py b/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py index be0e39e2c7..0ddc4d1ff8 100644 --- a/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py +++ b/src/datadog_api_client/v2/model/observability_pipeline_config_destination_item.py @@ -226,12 +226,6 @@ def __init__(self, **kwargs): :param unity_catalog_endpoint_key: Name of the environment variable or the secret identifier that references your Databricks workspace URL, which is used to communicate with the Unity Catalog API. :type unity_catalog_endpoint_key: str, optional - - :param default_namespace: Optional default namespace for metrics sent to Splunk HEC. - :type default_namespace: str, optional - - :param source: The Splunk source field value for metric events. - :type source: str, optional """ super().__init__(kwargs) @@ -315,9 +309,6 @@ def _composed_schemas(_): from datadog_api_client.v2.model.observability_pipeline_datadog_metrics_destination import ( ObservabilityPipelineDatadogMetricsDestination, ) - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination import ( - ObservabilityPipelineSplunkHecMetricsDestination, - ) return { "oneOf": [ @@ -346,6 +337,5 @@ def _composed_schemas(_): ObservabilityPipelineSyslogNgDestination, ObservabilityPipelineDatabricksZerobusDestination, ObservabilityPipelineDatadogMetricsDestination, - ObservabilityPipelineSplunkHecMetricsDestination, ], } diff --git a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination.py b/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination.py deleted file mode 100644 index 477fcd1092..0000000000 --- a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination.py +++ /dev/null @@ -1,163 +0,0 @@ -# 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. -from __future__ import annotations - -from typing import List, Union, TYPE_CHECKING - -from datadog_api_client.model_utils import ( - ModelNormal, - cached_property, - unset, - UnsetType, -) - - -if TYPE_CHECKING: - from datadog_api_client.v2.model.observability_pipeline_buffer_options import ObservabilityPipelineBufferOptions - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination_compression import ( - ObservabilityPipelineSplunkHecMetricsDestinationCompression, - ) - from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination_type import ( - ObservabilityPipelineSplunkHecMetricsDestinationType, - ) - from datadog_api_client.v2.model.observability_pipeline_disk_buffer_options import ( - ObservabilityPipelineDiskBufferOptions, - ) - from datadog_api_client.v2.model.observability_pipeline_memory_buffer_options import ( - ObservabilityPipelineMemoryBufferOptions, - ) - from datadog_api_client.v2.model.observability_pipeline_memory_buffer_size_options import ( - ObservabilityPipelineMemoryBufferSizeOptions, - ) - - -class ObservabilityPipelineSplunkHecMetricsDestination(ModelNormal): - @cached_property - def openapi_types(_): - from datadog_api_client.v2.model.observability_pipeline_buffer_options import ObservabilityPipelineBufferOptions - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination_compression import ( - ObservabilityPipelineSplunkHecMetricsDestinationCompression, - ) - from datadog_api_client.v2.model.observability_pipeline_tls import ObservabilityPipelineTls - from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination_type import ( - ObservabilityPipelineSplunkHecMetricsDestinationType, - ) - - return { - "buffer": (ObservabilityPipelineBufferOptions,), - "compression": (ObservabilityPipelineSplunkHecMetricsDestinationCompression,), - "default_namespace": (str,), - "endpoint_url_key": (str,), - "id": (str,), - "index": (str,), - "inputs": ([str],), - "source": (str,), - "sourcetype": (str,), - "tls": (ObservabilityPipelineTls,), - "token_key": (str,), - "type": (ObservabilityPipelineSplunkHecMetricsDestinationType,), - } - - attribute_map = { - "buffer": "buffer", - "compression": "compression", - "default_namespace": "default_namespace", - "endpoint_url_key": "endpoint_url_key", - "id": "id", - "index": "index", - "inputs": "inputs", - "source": "source", - "sourcetype": "sourcetype", - "tls": "tls", - "token_key": "token_key", - "type": "type", - } - - def __init__( - self_, - id: str, - inputs: List[str], - type: ObservabilityPipelineSplunkHecMetricsDestinationType, - buffer: Union[ - ObservabilityPipelineBufferOptions, - ObservabilityPipelineDiskBufferOptions, - ObservabilityPipelineMemoryBufferOptions, - ObservabilityPipelineMemoryBufferSizeOptions, - UnsetType, - ] = unset, - compression: Union[ObservabilityPipelineSplunkHecMetricsDestinationCompression, UnsetType] = unset, - default_namespace: Union[str, UnsetType] = unset, - endpoint_url_key: Union[str, UnsetType] = unset, - index: Union[str, UnsetType] = unset, - source: Union[str, UnsetType] = unset, - sourcetype: Union[str, UnsetType] = unset, - tls: Union[ObservabilityPipelineTls, UnsetType] = unset, - token_key: Union[str, UnsetType] = unset, - **kwargs, - ): - """ - The ``splunk_hec_metrics`` destination forwards metrics to Splunk using the HTTP Event Collector (HEC). - - **Supported pipeline types:** metrics - - :param buffer: Configuration for buffer settings on destination components. - :type buffer: ObservabilityPipelineBufferOptions, optional - - :param compression: Compression algorithm applied when sending metrics to Splunk HEC. - :type compression: ObservabilityPipelineSplunkHecMetricsDestinationCompression, optional - - :param default_namespace: Optional default namespace for metrics sent to Splunk HEC. - :type default_namespace: str, optional - - :param endpoint_url_key: Name of the environment variable or secret that holds the Splunk HEC endpoint URL. - :type endpoint_url_key: str, optional - - :param id: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the ``input`` to downstream components). - :type id: str - - :param index: Optional name of the Splunk index where metrics are written. - :type index: str, optional - - :param inputs: A list of component IDs whose output is used as the ``input`` for this component. - :type inputs: [str] - - :param source: The Splunk source field value for metric events. - :type source: str, optional - - :param sourcetype: The Splunk sourcetype to assign to metric events. - :type sourcetype: str, optional - - :param tls: Configuration for enabling TLS encryption between the pipeline component and external services. - :type tls: ObservabilityPipelineTls, optional - - :param token_key: Name of the environment variable or secret that holds the Splunk HEC token. - :type token_key: str, optional - - :param type: The destination type. Always ``splunk_hec_metrics``. - :type type: ObservabilityPipelineSplunkHecMetricsDestinationType - """ - if buffer is not unset: - kwargs["buffer"] = buffer - if compression is not unset: - kwargs["compression"] = compression - if default_namespace is not unset: - kwargs["default_namespace"] = default_namespace - if endpoint_url_key is not unset: - kwargs["endpoint_url_key"] = endpoint_url_key - if index is not unset: - kwargs["index"] = index - if source is not unset: - kwargs["source"] = source - if sourcetype is not unset: - kwargs["sourcetype"] = sourcetype - if tls is not unset: - kwargs["tls"] = tls - if token_key is not unset: - kwargs["token_key"] = token_key - super().__init__(kwargs) - - self_.id = id - self_.inputs = inputs - self_.type = type diff --git a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination_compression.py b/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination_compression.py deleted file mode 100644 index a0fb62edb8..0000000000 --- a/src/datadog_api_client/v2/model/observability_pipeline_splunk_hec_metrics_destination_compression.py +++ /dev/null @@ -1,42 +0,0 @@ -# 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. -from __future__ import annotations - - -from datadog_api_client.model_utils import ( - ModelSimple, - cached_property, -) - -from typing import ClassVar - - -class ObservabilityPipelineSplunkHecMetricsDestinationCompression(ModelSimple): - """ - Compression algorithm applied when sending metrics to Splunk HEC. - - :param value: If omitted defaults to "none". Must be one of ["none", "gzip"]. - :type value: str - """ - - allowed_values = { - "none", - "gzip", - } - NONE: ClassVar["ObservabilityPipelineSplunkHecMetricsDestinationCompression"] - GZIP: ClassVar["ObservabilityPipelineSplunkHecMetricsDestinationCompression"] - - @cached_property - def openapi_types(_): - return { - "value": (str,), - } - - -ObservabilityPipelineSplunkHecMetricsDestinationCompression.NONE = ( - ObservabilityPipelineSplunkHecMetricsDestinationCompression("none") -) -ObservabilityPipelineSplunkHecMetricsDestinationCompression.GZIP = ( - ObservabilityPipelineSplunkHecMetricsDestinationCompression("gzip") -) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 43f1649b2a..10b456ce94 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -41,6 +41,19 @@ from datadog_api_client.v2.model.aws_ccm_config_response_attributes import AWSCcmConfigResponseAttributes from datadog_api_client.v2.model.aws_ccm_config_response_data import AWSCcmConfigResponseData from datadog_api_client.v2.model.aws_ccm_config_type import AWSCcmConfigType +from datadog_api_client.v2.model.aws_ccm_config_validation_issue import AWSCcmConfigValidationIssue +from datadog_api_client.v2.model.aws_ccm_config_validation_issue_code import AWSCcmConfigValidationIssueCode +from datadog_api_client.v2.model.aws_ccm_config_validation_request import AWSCcmConfigValidationRequest +from datadog_api_client.v2.model.aws_ccm_config_validation_request_attributes import ( + AWSCcmConfigValidationRequestAttributes, +) +from datadog_api_client.v2.model.aws_ccm_config_validation_request_data import AWSCcmConfigValidationRequestData +from datadog_api_client.v2.model.aws_ccm_config_validation_response import AWSCcmConfigValidationResponse +from datadog_api_client.v2.model.aws_ccm_config_validation_response_attributes import ( + AWSCcmConfigValidationResponseAttributes, +) +from datadog_api_client.v2.model.aws_ccm_config_validation_response_data import AWSCcmConfigValidationResponseData +from datadog_api_client.v2.model.aws_ccm_config_validation_type import AWSCcmConfigValidationType from datadog_api_client.v2.model.aws_cloud_auth_persona_mapping_attributes_response import ( AWSCloudAuthPersonaMappingAttributesResponse, ) @@ -5199,15 +5212,6 @@ from datadog_api_client.v2.model.observability_pipeline_splunk_hec_destination_type import ( ObservabilityPipelineSplunkHecDestinationType, ) -from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination import ( - ObservabilityPipelineSplunkHecMetricsDestination, -) -from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination_compression import ( - ObservabilityPipelineSplunkHecMetricsDestinationCompression, -) -from datadog_api_client.v2.model.observability_pipeline_splunk_hec_metrics_destination_type import ( - ObservabilityPipelineSplunkHecMetricsDestinationType, -) from datadog_api_client.v2.model.observability_pipeline_splunk_hec_source import ObservabilityPipelineSplunkHecSource from datadog_api_client.v2.model.observability_pipeline_splunk_hec_source_type import ( ObservabilityPipelineSplunkHecSourceType, @@ -8464,6 +8468,15 @@ "AWSCcmConfigResponseAttributes", "AWSCcmConfigResponseData", "AWSCcmConfigType", + "AWSCcmConfigValidationIssue", + "AWSCcmConfigValidationIssueCode", + "AWSCcmConfigValidationRequest", + "AWSCcmConfigValidationRequestAttributes", + "AWSCcmConfigValidationRequestData", + "AWSCcmConfigValidationResponse", + "AWSCcmConfigValidationResponseAttributes", + "AWSCcmConfigValidationResponseData", + "AWSCcmConfigValidationType", "AWSCloudAuthPersonaMappingAttributesResponse", "AWSCloudAuthPersonaMappingCreateAttributes", "AWSCloudAuthPersonaMappingCreateData", @@ -12070,9 +12083,6 @@ "ObservabilityPipelineSplunkHecDestinationEncoding", "ObservabilityPipelineSplunkHecDestinationTokenStrategy", "ObservabilityPipelineSplunkHecDestinationType", - "ObservabilityPipelineSplunkHecMetricsDestination", - "ObservabilityPipelineSplunkHecMetricsDestinationCompression", - "ObservabilityPipelineSplunkHecMetricsDestinationType", "ObservabilityPipelineSplunkHecSource", "ObservabilityPipelineSplunkHecSourceType", "ObservabilityPipelineSplunkHecSourceValidToken", diff --git a/tests/v2/features/aws_integration.feature b/tests/v2/features/aws_integration.feature index 5989319f4e..dac51bb744 100644 --- a/tests/v2/features/aws_integration.feature +++ b/tests/v2/features/aws_integration.feature @@ -292,3 +292,19 @@ Feature: AWS Integration And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}} When the request is sent Then the response status is 404 Not Found + + @generated @skip @team:DataDog/aws-integrations + Scenario: Validate AWS CCM config returns "AWS CCM Config validation result" response + Given operation "ValidateAWSCCMConfig" enabled + And new "ValidateAWSCCMConfig" request + And body with value {"data": {"attributes": {"account_id": "123456789012", "bucket_name": "billing", "bucket_region": "us-east-1", "report_name": "cost-and-usage-report", "report_prefix": "reports"}, "type": "ccm_config_validation"}} + When the request is sent + Then the response status is 200 AWS CCM Config validation result + + @generated @skip @team:DataDog/aws-integrations + Scenario: Validate AWS CCM config returns "Bad Request" response + Given operation "ValidateAWSCCMConfig" enabled + And new "ValidateAWSCCMConfig" request + And body with value {"data": {"attributes": {"account_id": "123456789012", "bucket_name": "billing", "bucket_region": "us-east-1", "report_name": "cost-and-usage-report", "report_prefix": "reports"}, "type": "ccm_config_validation"}} + When the request is sent + Then the response status is 400 Bad Request diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index 09d6acff28..b3564f10b8 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -3126,6 +3126,12 @@ "type": "safe" } }, + "ValidateAWSCCMConfig": { + "tag": "AWS Integration", + "undo": { + "type": "safe" + } + }, "ListGCPSTSAccounts": { "tag": "GCP Integration", "undo": {