diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 82b87c5b71cd..eea8d903b4de 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -1496,6 +1496,8 @@ components: $ref: '#/components/schemas/AWSAccountPartition' aws_regions: $ref: '#/components/schemas/AWSRegions' + ccm_config: + $ref: '#/components/schemas/AWSCCMConfig' logs_config: $ref: '#/components/schemas/AWSLogsConfig' metrics_config: @@ -1561,6 +1563,8 @@ components: $ref: '#/components/schemas/AWSAccountPartition' aws_regions: $ref: '#/components/schemas/AWSRegions' + ccm_config: + $ref: '#/components/schemas/AWSCCMConfig' created_at: description: Timestamp of when the account integration was created. format: date-time @@ -1634,6 +1638,8 @@ components: $ref: '#/components/schemas/AWSAccountPartition' aws_regions: $ref: '#/components/schemas/AWSRegions' + ccm_config: + $ref: '#/components/schemas/AWSCCMConfig' logs_config: $ref: '#/components/schemas/AWSLogsConfig' metrics_config: @@ -1765,6 +1771,15 @@ components: required: - role_name type: object + AWSCCMConfig: + description: AWS Cloud Cost Management config. + properties: + data_export_configs: + description: List of data export configurations for Cost and Usage Reports. + items: + $ref: '#/components/schemas/DataExportConfig' + type: array + type: object AWSCredentials: description: The definition of `AWSCredentials` object. oneOf: @@ -16354,6 +16369,30 @@ components: example: canceled type: string type: object + DataExportConfig: + description: AWS Cost and Usage Report data export configuration. + properties: + 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 + report_type: + description: Type of the Cost and Usage Report. + example: CUR2.0 + type: string + type: object DataRelationshipsTeams: description: Associates teams with this schedule in a data structure. properties: diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/frozen.json index de8fcc586096..364f7bf3fe21 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/frozen.json +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/frozen.json @@ -1 +1 @@ -"2025-08-06T17:41:40.185Z" +"2025-12-10T17:32:09.613Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/recording.har b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/recording.har index 9254dde9783b..9b476e851fba 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/recording.har +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/recording.har @@ -8,11 +8,11 @@ }, "entries": [ { - "_id": "bf073e027e0bdc8bb07582932236e50a", + "_id": "857110578a4068f35d5c7e361822106d", "_order": 0, "cache": {}, "request": { - "bodySize": 697, + "bodySize": 867, "cookies": [], "headers": [ { @@ -32,17 +32,17 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"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\"}}" + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"ccm_config\":{\"data_export_configs\":[{\"bucket_name\":\"my-bucket\",\"bucket_region\":\"us-east-1\",\"report_name\":\"my-report\",\"report_prefix\":\"reports\",\"report_type\":\"CUR2.0\"}]},\"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\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" }, "response": { - "bodySize": 1025, + "bodySize": 1207, "content": { "mimeType": "application/vnd.api+json", - "size": 1025, - "text": "{\"data\":{\"id\":\"4ee52a3f-d0e9-487b-bde9-cd1cbc0e4cb0\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"a4e4a6b4c2cf4638a58b1febc6b856e9\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"created_at\":\"2025-08-06T17:41:41.111886478Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/SQS\",\"AWS/ElasticMapReduce\"]}},\"modified_at\":\"2025-08-06T17:41:41.111886478Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}}" + "size": 1207, + "text": "{\"data\":{\"id\":\"de1a3b78-ed2e-4f50-9191-1879129d09ff\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"55d4a43935224fe09c096f96392f1ca1\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"ccm_config\":{\"data_export_configs\":[{\"report_name\":\"my-report\",\"report_prefix\":\"reports\",\"report_type\":\"CUR2.0\",\"bucket_name\":\"my-bucket\",\"bucket_region\":\"us-east-1\"}]},\"created_at\":\"2025-12-10T17:32:11.003276673Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/SQS\",\"AWS/ElasticMapReduce\",\"AWS/Usage\"]}},\"modified_at\":\"2025-12-10T17:32:11.003276673Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}}" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2025-08-06T17:41:40.191Z", - "time": 965 + "startedDateTime": "2025-12-10T17:32:09.616Z", + "time": 1370 }, { - "_id": "10233ece4ccb05501416d7125b963fab", + "_id": "282ea17fe973305646d8b9582a92ab16", "_order": 0, "cache": {}, "request": { @@ -78,7 +78,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/4ee52a3f-d0e9-487b-bde9-cd1cbc0e4cb0" + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/de1a3b78-ed2e-4f50-9191-1879129d09ff" }, "response": { "bodySize": 0, @@ -94,8 +94,8 @@ "status": 204, "statusText": "No Content" }, - "startedDateTime": "2025-08-06T17:41:41.168Z", - "time": 189 + "startedDateTime": "2025-12-10T17:32:10.995Z", + "time": 258 } ], "pages": [], diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/frozen.json index e36d9d8d155b..b176c94ecfb6 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/frozen.json +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/frozen.json @@ -1 +1 @@ -"2025-08-06T17:41:41.364Z" +"2025-12-10T17:32:36.829Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/recording.har b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/recording.har index 76f152e18577..4c465ee1995b 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/recording.har +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/recording.har @@ -8,11 +8,11 @@ }, "entries": [ { - "_id": "7b2c3c552cd8a9d45571b7b40aa8dd1d", + "_id": "c2f8e9f40dcb6d7a0e2ee91b598cfb26", "_order": 0, "cache": {}, "request": { - "bodySize": 762, + "bodySize": 932, "cookies": [], "headers": [ { @@ -32,17 +32,17 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"access_key_id\":\"AKIAIOSFODNN7EXAMPLE\",\"secret_access_key\":\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"},\"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\"}}" + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"access_key_id\":\"AKIAIOSFODNN7EXAMPLE\",\"secret_access_key\":\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"ccm_config\":{\"data_export_configs\":[{\"bucket_name\":\"my-bucket\",\"bucket_region\":\"us-east-1\",\"report_name\":\"my-report\",\"report_prefix\":\"reports\",\"report_type\":\"CUR2.0\"}]},\"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\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" }, "response": { - "bodySize": 978, + "bodySize": 1160, "content": { "mimeType": "application/vnd.api+json", - "size": 978, - "text": "{\"data\":{\"id\":\"c80e30d5-b3f9-45b1-85fc-bad652af206b\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"access_key_id\":\"AKIAIOSFODNN7EXAMPLE\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"created_at\":\"2025-08-06T17:41:41.445076718Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/SQS\",\"AWS/ElasticMapReduce\"]}},\"modified_at\":\"2025-08-06T17:41:41.445076718Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}}" + "size": 1160, + "text": "{\"data\":{\"id\":\"a7d72fb6-ec59-4eca-a905-805dd599d061\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"access_key_id\":\"AKIAIOSFODNN7EXAMPLE\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"ccm_config\":{\"data_export_configs\":[{\"report_name\":\"my-report\",\"report_prefix\":\"reports\",\"report_type\":\"CUR2.0\",\"bucket_name\":\"my-bucket\",\"bucket_region\":\"us-east-1\"}]},\"created_at\":\"2025-12-10T17:32:37.014514664Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/SQS\",\"AWS/ElasticMapReduce\",\"AWS/Usage\"]}},\"modified_at\":\"2025-12-10T17:32:37.014514664Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}}" }, "cookies": [], "headers": [ @@ -51,17 +51,17 @@ "value": "application/vnd.api+json" } ], - "headersSize": 525, + "headersSize": 526, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2025-08-06T17:41:41.367Z", - "time": 116 + "startedDateTime": "2025-12-10T17:32:36.832Z", + "time": 166 }, { - "_id": "e11e31592101f5eb04d13a4e4a693728", + "_id": "cf82f989591b55cdb4eb1e40c6cc5ee9", "_order": 0, "cache": {}, "request": { @@ -78,7 +78,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/c80e30d5-b3f9-45b1-85fc-bad652af206b" + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/a7d72fb6-ec59-4eca-a905-805dd599d061" }, "response": { "bodySize": 0, @@ -94,8 +94,8 @@ "status": 204, "statusText": "No Content" }, - "startedDateTime": "2025-08-06T17:41:41.489Z", - "time": 221 + "startedDateTime": "2025-12-10T17:32:37.004Z", + "time": 261 } ], "pages": [], diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/frozen.json index d7abb9064882..220c2564c554 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/frozen.json +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/frozen.json @@ -1 +1 @@ -"2025-08-06T17:41:41.716Z" +"2025-12-10T17:34:11.261Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/recording.har b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/recording.har index 5ec6a37dd1b0..5c72e59f845e 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/recording.har +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/recording.har @@ -8,11 +8,11 @@ }, "entries": [ { - "_id": "4af4c540b0b7dfa232154be9432617c6", + "_id": "4732e743da59bab2909e23f0604c14d0", "_order": 0, "cache": {}, "request": { - "bodySize": 705, + "bodySize": 875, "cookies": [], "headers": [ { @@ -32,7 +32,7 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws-invalid\",\"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\"}}" + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws-invalid\",\"ccm_config\":{\"data_export_configs\":[{\"bucket_name\":\"my-bucket\",\"bucket_region\":\"us-east-1\",\"report_name\":\"my-report\",\"report_prefix\":\"reports\",\"report_type\":\"CUR2.0\"}]},\"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\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" @@ -57,8 +57,8 @@ "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2025-08-06T17:41:41.720Z", - "time": 92 + "startedDateTime": "2025-12-10T17:34:11.265Z", + "time": 94 } ], "pages": [], diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/frozen.json index bae099adf030..734f4cbc3d50 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/frozen.json +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/frozen.json @@ -1 +1 @@ -"2025-08-06T17:41:51.622Z" +"2025-12-10T17:40:36.176Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/recording.har b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/recording.har index c59a27bb7795..b4a1bca78991 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/recording.har +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/recording.har @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 1027, - "text": "{\"data\":{\"id\":\"ab6528e3-5dab-4375-ae47-4ce93d1216e2\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"36416390710445e7be511e1622ee4149\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2025-08-06T17:41:52.510132689Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2025-08-06T17:41:52.510132689Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + "text": "{\"data\":{\"id\":\"0c2238ef-3b8e-4d25-85df-b18f96ac7031\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"a297178885da4934acf9eca79f3e7892\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2025-12-10T17:40:37.609564422Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2025-12-10T17:40:37.609564422Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" }, "cookies": [], "headers": [ @@ -57,15 +57,15 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2025-08-06T17:41:51.624Z", - "time": 932 + "startedDateTime": "2025-12-10T17:40:36.180Z", + "time": 1460 }, { - "_id": "a69d5860fe241148cea4e8adb1035098", + "_id": "ad8cbcb3ddb1f908b20815dcdfb4f3a0", "_order": 0, "cache": {}, "request": { - "bodySize": 697, + "bodySize": 882, "cookies": [], "headers": [ { @@ -85,17 +85,17 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"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\"}}" + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"ccm_config\":{\"data_export_configs\":[{\"bucket_name\":\"updated-bucket\",\"bucket_region\":\"us-west-2\",\"report_name\":\"updated-report\",\"report_prefix\":\"cost-reports\",\"report_type\":\"CUR2.0\"}]},\"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\"}}" }, "queryString": [], - "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/ab6528e3-5dab-4375-ae47-4ce93d1216e2" + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/0c2238ef-3b8e-4d25-85df-b18f96ac7031" }, "response": { - "bodySize": 1022, + "bodySize": 1207, "content": { "mimeType": "application/vnd.api+json", - "size": 1022, - "text": "{\"data\":{\"id\":\"ab6528e3-5dab-4375-ae47-4ce93d1216e2\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"36416390710445e7be511e1622ee4149\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2025-08-06T17:41:52.510132Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2025-08-06T17:41:52.717094345Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + "size": 1207, + "text": "{\"data\":{\"id\":\"0c2238ef-3b8e-4d25-85df-b18f96ac7031\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"a297178885da4934acf9eca79f3e7892\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"ccm_config\":{\"data_export_configs\":[{\"report_name\":\"updated-report\",\"report_prefix\":\"cost-reports\",\"report_type\":\"CUR2.0\",\"bucket_name\":\"updated-bucket\",\"bucket_region\":\"us-west-2\"}]},\"created_at\":\"2025-12-10T17:40:37.609564Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2025-12-10T17:40:37.867410688Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" }, "cookies": [], "headers": [ @@ -110,11 +110,11 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2025-08-06T17:41:52.566Z", - "time": 194 + "startedDateTime": "2025-12-10T17:40:37.645Z", + "time": 236 }, { - "_id": "5cb7344de640fe98fa7727d9f2426cd6", + "_id": "1263683b3cf2a4fafed37a2ae810baf8", "_order": 0, "cache": {}, "request": { @@ -131,7 +131,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/ab6528e3-5dab-4375-ae47-4ce93d1216e2" + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/0c2238ef-3b8e-4d25-85df-b18f96ac7031" }, "response": { "bodySize": 0, @@ -147,8 +147,8 @@ "status": 204, "statusText": "No Content" }, - "startedDateTime": "2025-08-06T17:41:52.765Z", - "time": 287 + "startedDateTime": "2025-12-10T17:40:37.886Z", + "time": 286 } ], "pages": [], diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/frozen.json index d719f182ae8b..c7a8d541c106 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/frozen.json +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/frozen.json @@ -1 +1 @@ -"2025-08-06T17:41:53.059Z" +"2025-12-10T17:42:50.556Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/recording.har b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/recording.har index f41f5f277ed4..65a2ba8f70bc 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/recording.har +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/recording.har @@ -42,7 +42,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 1027, - "text": "{\"data\":{\"id\":\"dff6d3ee-e90a-4df1-b0d7-6f4e1ed35acc\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"f3f5392d608c448ca4910d7adcefa849\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2025-08-06T17:41:54.148895503Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2025-08-06T17:41:54.148895503Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + "text": "{\"data\":{\"id\":\"0c358c9f-84fd-4fe5-b0e9-722d787de213\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"84a9c55851ce4a01869c503e990d325b\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2025-12-10T17:42:52.162655791Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"],\"log_source_config\":{\"tag_filters\":[{\"source\":\"s3\",\"tags\":[\"test:test\"]}]}}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2025-12-10T17:42:52.162655791Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" }, "cookies": [], "headers": [ @@ -57,15 +57,15 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2025-08-06T17:41:53.062Z", - "time": 1277 + "startedDateTime": "2025-12-10T17:42:50.558Z", + "time": 1972 }, { - "_id": "64975dfcc31fe57dc7a8409a0d689b9a", + "_id": "2f5e931f13c846c4a26aa543d81601e8", "_order": 0, "cache": {}, "request": { - "bodySize": 762, + "bodySize": 947, "cookies": [], "headers": [ { @@ -85,17 +85,17 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"access_key_id\":\"AKIAIOSFODNN7EXAMPLE\",\"secret_access_key\":\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"},\"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\"}}" + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"access_key_id\":\"AKIAIOSFODNN7EXAMPLE\",\"secret_access_key\":\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"ccm_config\":{\"data_export_configs\":[{\"bucket_name\":\"invalid-bucket\",\"bucket_region\":\"invalid-region\",\"report_name\":\"invalid-report\",\"report_prefix\":\"invalid\",\"report_type\":\"CUR2.0\"}]},\"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\"}}" }, "queryString": [], - "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/dff6d3ee-e90a-4df1-b0d7-6f4e1ed35acc" + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/0c358c9f-84fd-4fe5-b0e9-722d787de213" }, "response": { - "bodySize": 95, + "bodySize": 180, "content": { "mimeType": "application/vnd.api+json", - "size": 95, - "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"cannot switch between role and key based auth\"}]}" + "size": 180, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"invalid value\",\"meta\":{\"ccm_config.data_export_configs[CUR2.0].bucket_region\":\"invalid bucket region: invalid-region\"}}]}" }, "cookies": [], "headers": [ @@ -104,17 +104,17 @@ "value": "application/vnd.api+json" } ], - "headersSize": 524, + "headersSize": 525, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 400, "statusText": "Bad Request" }, - "startedDateTime": "2025-08-06T17:41:54.346Z", - "time": 147 + "startedDateTime": "2025-12-10T17:42:52.541Z", + "time": 101 }, { - "_id": "3bf09f10ca7a5b670046ddbad2f2b0a8", + "_id": "aceef85de2d828f41815c7fe383c8e66", "_order": 0, "cache": {}, "request": { @@ -131,7 +131,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/dff6d3ee-e90a-4df1-b0d7-6f4e1ed35acc" + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/0c358c9f-84fd-4fe5-b0e9-722d787de213" }, "response": { "bodySize": 0, @@ -147,8 +147,8 @@ "status": 204, "statusText": "No Content" }, - "startedDateTime": "2025-08-06T17:41:54.500Z", - "time": 228 + "startedDateTime": "2025-12-10T17:42:52.648Z", + "time": 317 } ], "pages": [], diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/frozen.json index d579c1e90dcc..daeb87a92bd4 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/frozen.json +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/frozen.json @@ -1 +1 @@ -"2025-08-06T17:41:54.735Z" +"2025-12-10T17:43:13.852Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/recording.har b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/recording.har index 81b0cbb43659..0c53961e256a 100644 --- a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/recording.har +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/recording.har @@ -8,11 +8,11 @@ }, "entries": [ { - "_id": "76f11422e2483267be36aecd78d994d5", + "_id": "bbf4b67f032a948eb433da8d6c34de3a", "_order": 0, "cache": {}, "request": { - "bodySize": 697, + "bodySize": 880, "cookies": [], "headers": [ { @@ -32,7 +32,7 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"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\"}}" + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"ccm_config\":{\"data_export_configs\":[{\"bucket_name\":\"notfound-bucket\",\"bucket_region\":\"eu-west-1\",\"report_name\":\"notfound-report\",\"report_prefix\":\"notfound\",\"report_type\":\"CUR2.0\"}]},\"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\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/448169a8-251c-4344-abee-1c4edef39f7a" @@ -57,8 +57,8 @@ "status": 404, "statusText": "Not Found" }, - "startedDateTime": "2025-08-06T17:41:54.738Z", - "time": 132 + "startedDateTime": "2025-12-10T17:43:13.856Z", + "time": 349 } ], "pages": [], diff --git a/examples/v2/aws-integration/CreateAWSAccount.ts b/examples/v2/aws-integration/CreateAWSAccount.ts index cd79cd1ff8f5..6b57697d2f85 100644 --- a/examples/v2/aws-integration/CreateAWSAccount.ts +++ b/examples/v2/aws-integration/CreateAWSAccount.ts @@ -18,6 +18,17 @@ const params: v2.AWSIntegrationApiCreateAWSAccountRequest = { }, awsAccountId: "123456789012", awsPartition: "aws", + ccmConfig: { + dataExportConfigs: [ + { + bucketName: "my-bucket", + bucketRegion: "us-east-1", + reportName: "my-report", + reportPrefix: "reports", + reportType: "CUR2.0", + }, + ], + }, logsConfig: { lambdaForwarder: { lambdas: [ diff --git a/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts b/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts index 2d8a337c3469..5270e7cca174 100644 --- a/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts +++ b/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts @@ -17,6 +17,17 @@ const params: v2.AWSIntegrationApiCreateAWSAccountRequest = { }, awsAccountId: "123456789012", awsPartition: "aws", + ccmConfig: { + dataExportConfigs: [ + { + bucketName: "my-bucket", + bucketRegion: "us-east-1", + reportName: "my-report", + reportPrefix: "reports", + reportType: "CUR2.0", + }, + ], + }, logsConfig: { lambdaForwarder: { lambdas: [ diff --git a/examples/v2/aws-integration/UpdateAWSAccount.ts b/examples/v2/aws-integration/UpdateAWSAccount.ts index 87b4a0443fc2..d72261a9d759 100644 --- a/examples/v2/aws-integration/UpdateAWSAccount.ts +++ b/examples/v2/aws-integration/UpdateAWSAccount.ts @@ -20,6 +20,17 @@ const params: v2.AWSIntegrationApiUpdateAWSAccountRequest = { }, awsAccountId: "123456789012", awsPartition: "aws", + ccmConfig: { + dataExportConfigs: [ + { + bucketName: "updated-bucket", + bucketRegion: "us-west-2", + reportName: "updated-report", + reportPrefix: "cost-reports", + reportType: "CUR2.0", + }, + ], + }, logsConfig: { lambdaForwarder: { lambdas: [ diff --git a/features/v2/aws_integration.feature b/features/v2/aws_integration.feature index 30ded64d73f1..9e14d0824b3d 100644 --- a/features/v2/aws_integration.feature +++ b/features/v2/aws_integration.feature @@ -12,21 +12,21 @@ Feature: AWS Integration @team:DataDog/aws-integrations Scenario: Create an AWS account returns "AWS Account object" response Given new "CreateAWSAccount" request - 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"}} + And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "ccm_config": {"data_export_configs": [{"bucket_name": "my-bucket", "bucket_region": "us-east-1", "report_name": "my-report", "report_prefix": "reports", "report_type": "CUR2.0"}]}, "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 200 AWS Account object @team:DataDog/aws-integrations Scenario: Create an AWS integration returns "AWS Account object" response Given new "CreateAWSAccount" request - And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}, "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"}} + And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}, "aws_account_id": "123456789012", "aws_partition": "aws", "ccm_config": {"data_export_configs": [{"bucket_name": "my-bucket", "bucket_region": "us-east-1", "report_name": "my-report", "report_prefix": "reports", "report_type": "CUR2.0"}]}, "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 200 AWS Account object @team:DataDog/aws-integrations Scenario: Create an AWS integration returns "Bad Request" response Given new "CreateAWSAccount" request - And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws-invalid", "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"}} + And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws-invalid", "ccm_config": {"data_export_configs": [{"bucket_name": "my-bucket", "bucket_region": "us-east-1", "report_name": "my-report", "report_prefix": "reports", "report_type": "CUR2.0"}]}, "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 400 Bad Request @@ -195,7 +195,7 @@ Feature: AWS Integration Given there is a valid "aws_account_v2" in the system And new "UpdateAWSAccount" request And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" - 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"}} + And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "ccm_config": {"data_export_configs": [{"bucket_name": "updated-bucket", "bucket_region": "us-west-2", "report_name": "updated-report", "report_prefix": "cost-reports", "report_type": "CUR2.0"}]}, "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 200 AWS Account object @@ -204,7 +204,7 @@ Feature: AWS Integration Given there is a valid "aws_account_v2" in the system And new "UpdateAWSAccount" request And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" - And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}, "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"}} + And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}, "aws_account_id": "123456789012", "aws_partition": "aws", "ccm_config": {"data_export_configs": [{"bucket_name": "invalid-bucket", "bucket_region": "invalid-region", "report_name": "invalid-report", "report_prefix": "invalid", "report_type": "CUR2.0"}]}, "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 400 Bad Request @@ -212,6 +212,6 @@ Feature: AWS Integration Scenario: Update an AWS integration returns "Not Found" response Given new "UpdateAWSAccount" request And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a" - 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"}} + And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "ccm_config": {"data_export_configs": [{"bucket_name": "notfound-bucket", "bucket_region": "eu-west-1", "report_name": "notfound-report", "report_prefix": "notfound", "report_type": "CUR2.0"}]}, "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 diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index bc7a8866c3e3..be08d75ee1a4 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -1196,6 +1196,7 @@ export { AWSAssumeRoleUpdate } from "./models/AWSAssumeRoleUpdate"; export { AWSAuthConfig } from "./models/AWSAuthConfig"; export { AWSAuthConfigKeys } from "./models/AWSAuthConfigKeys"; export { AWSAuthConfigRole } from "./models/AWSAuthConfigRole"; +export { AWSCCMConfig } from "./models/AWSCCMConfig"; export { AWSCredentials } from "./models/AWSCredentials"; export { AWSCredentialsUpdate } from "./models/AWSCredentialsUpdate"; export { AwsCURConfig } from "./models/AwsCURConfig"; @@ -1887,6 +1888,7 @@ export { DatadogCredentialsUpdate } from "./models/DatadogCredentialsUpdate"; export { DatadogIntegration } from "./models/DatadogIntegration"; export { DatadogIntegrationType } from "./models/DatadogIntegrationType"; export { DatadogIntegrationUpdate } from "./models/DatadogIntegrationUpdate"; +export { DataExportConfig } from "./models/DataExportConfig"; export { DataRelationshipsTeams } from "./models/DataRelationshipsTeams"; export { DataRelationshipsTeamsDataItems } from "./models/DataRelationshipsTeamsDataItems"; export { DataRelationshipsTeamsDataItemsType } from "./models/DataRelationshipsTeamsDataItemsType"; diff --git a/packages/datadog-api-client-v2/models/AWSAccountCreateRequestAttributes.ts b/packages/datadog-api-client-v2/models/AWSAccountCreateRequestAttributes.ts index 0deb700e2bba..7489d4856cee 100644 --- a/packages/datadog-api-client-v2/models/AWSAccountCreateRequestAttributes.ts +++ b/packages/datadog-api-client-v2/models/AWSAccountCreateRequestAttributes.ts @@ -5,6 +5,7 @@ */ import { AWSAccountPartition } from "./AWSAccountPartition"; import { AWSAuthConfig } from "./AWSAuthConfig"; +import { AWSCCMConfig } from "./AWSCCMConfig"; import { AWSLogsConfig } from "./AWSLogsConfig"; import { AWSMetricsConfig } from "./AWSMetricsConfig"; import { AWSRegions } from "./AWSRegions"; @@ -39,6 +40,10 @@ export class AWSAccountCreateRequestAttributes { * AWS Regions to collect data from. Defaults to `include_all`. */ "awsRegions"?: AWSRegions; + /** + * AWS Cloud Cost Management config. + */ + "ccmConfig"?: AWSCCMConfig; /** * AWS Logs Collection config. */ @@ -95,6 +100,10 @@ export class AWSAccountCreateRequestAttributes { baseName: "aws_regions", type: "AWSRegions", }, + ccmConfig: { + baseName: "ccm_config", + type: "AWSCCMConfig", + }, logsConfig: { baseName: "logs_config", type: "AWSLogsConfig", diff --git a/packages/datadog-api-client-v2/models/AWSAccountResponseAttributes.ts b/packages/datadog-api-client-v2/models/AWSAccountResponseAttributes.ts index d0541ea05a77..a90418fef8a2 100644 --- a/packages/datadog-api-client-v2/models/AWSAccountResponseAttributes.ts +++ b/packages/datadog-api-client-v2/models/AWSAccountResponseAttributes.ts @@ -5,6 +5,7 @@ */ import { AWSAccountPartition } from "./AWSAccountPartition"; import { AWSAuthConfig } from "./AWSAuthConfig"; +import { AWSCCMConfig } from "./AWSCCMConfig"; import { AWSLogsConfig } from "./AWSLogsConfig"; import { AWSMetricsConfig } from "./AWSMetricsConfig"; import { AWSRegions } from "./AWSRegions"; @@ -39,6 +40,10 @@ export class AWSAccountResponseAttributes { * AWS Regions to collect data from. Defaults to `include_all`. */ "awsRegions"?: AWSRegions; + /** + * AWS Cloud Cost Management config. + */ + "ccmConfig"?: AWSCCMConfig; /** * Timestamp of when the account integration was created. */ @@ -101,6 +106,10 @@ export class AWSAccountResponseAttributes { baseName: "aws_regions", type: "AWSRegions", }, + ccmConfig: { + baseName: "ccm_config", + type: "AWSCCMConfig", + }, createdAt: { baseName: "created_at", type: "Date", diff --git a/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestAttributes.ts b/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestAttributes.ts index a50c0d7ffc49..ff8899f70f1b 100644 --- a/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestAttributes.ts +++ b/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestAttributes.ts @@ -5,6 +5,7 @@ */ import { AWSAccountPartition } from "./AWSAccountPartition"; import { AWSAuthConfig } from "./AWSAuthConfig"; +import { AWSCCMConfig } from "./AWSCCMConfig"; import { AWSLogsConfig } from "./AWSLogsConfig"; import { AWSMetricsConfig } from "./AWSMetricsConfig"; import { AWSRegions } from "./AWSRegions"; @@ -39,6 +40,10 @@ export class AWSAccountUpdateRequestAttributes { * AWS Regions to collect data from. Defaults to `include_all`. */ "awsRegions"?: AWSRegions; + /** + * AWS Cloud Cost Management config. + */ + "ccmConfig"?: AWSCCMConfig; /** * AWS Logs Collection config. */ @@ -93,6 +98,10 @@ export class AWSAccountUpdateRequestAttributes { baseName: "aws_regions", type: "AWSRegions", }, + ccmConfig: { + baseName: "ccm_config", + type: "AWSCCMConfig", + }, logsConfig: { baseName: "logs_config", type: "AWSLogsConfig", diff --git a/packages/datadog-api-client-v2/models/AWSCCMConfig.ts b/packages/datadog-api-client-v2/models/AWSCCMConfig.ts new file mode 100644 index 000000000000..85cda1ace7df --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSCCMConfig.ts @@ -0,0 +1,53 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DataExportConfig } from "./DataExportConfig"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Cloud Cost Management config. + */ +export class AWSCCMConfig { + /** + * List of data export configurations for Cost and Usage Reports. + */ + "dataExportConfigs"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + dataExportConfigs: { + baseName: "data_export_configs", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSCCMConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DataExportConfig.ts b/packages/datadog-api-client-v2/models/DataExportConfig.ts new file mode 100644 index 000000000000..a0a07e06e9b9 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DataExportConfig.ts @@ -0,0 +1,84 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Cost and Usage Report data export configuration. + */ +export class DataExportConfig { + /** + * Name of the S3 bucket where the Cost and Usage Report is stored. + */ + "bucketName"?: string; + /** + * AWS region of the S3 bucket. + */ + "bucketRegion"?: string; + /** + * Name of the Cost and Usage Report. + */ + "reportName"?: string; + /** + * S3 prefix where the Cost and Usage Report is stored. + */ + "reportPrefix"?: string; + /** + * Type of the Cost and Usage Report. + */ + "reportType"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + bucketName: { + baseName: "bucket_name", + type: "string", + }, + bucketRegion: { + baseName: "bucket_region", + type: "string", + }, + reportName: { + baseName: "report_name", + type: "string", + }, + reportPrefix: { + baseName: "report_prefix", + type: "string", + }, + reportType: { + baseName: "report_type", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DataExportConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index b55ca9dae7b2..6a4de45be2d7 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -26,6 +26,7 @@ import { AWSAssumeRole } from "./AWSAssumeRole"; import { AWSAssumeRoleUpdate } from "./AWSAssumeRoleUpdate"; import { AWSAuthConfigKeys } from "./AWSAuthConfigKeys"; import { AWSAuthConfigRole } from "./AWSAuthConfigRole"; +import { AWSCCMConfig } from "./AWSCCMConfig"; import { AWSEventBridgeAccountConfiguration } from "./AWSEventBridgeAccountConfiguration"; import { AWSEventBridgeCreateRequest } from "./AWSEventBridgeCreateRequest"; import { AWSEventBridgeCreateRequestAttributes } from "./AWSEventBridgeCreateRequestAttributes"; @@ -716,6 +717,7 @@ import { DashboardTriggerWrapper } from "./DashboardTriggerWrapper"; import { DataDeletionResponseItem } from "./DataDeletionResponseItem"; import { DataDeletionResponseItemAttributes } from "./DataDeletionResponseItemAttributes"; import { DataDeletionResponseMeta } from "./DataDeletionResponseMeta"; +import { DataExportConfig } from "./DataExportConfig"; import { DataRelationshipsTeams } from "./DataRelationshipsTeams"; import { DataRelationshipsTeamsDataItems } from "./DataRelationshipsTeamsDataItems"; import { DataScalarColumn } from "./DataScalarColumn"; @@ -4427,6 +4429,7 @@ const typeMap: { [index: string]: any } = { AWSAssumeRoleUpdate: AWSAssumeRoleUpdate, AWSAuthConfigKeys: AWSAuthConfigKeys, AWSAuthConfigRole: AWSAuthConfigRole, + AWSCCMConfig: AWSCCMConfig, AWSEventBridgeAccountConfiguration: AWSEventBridgeAccountConfiguration, AWSEventBridgeCreateRequest: AWSEventBridgeCreateRequest, AWSEventBridgeCreateRequestAttributes: AWSEventBridgeCreateRequestAttributes, @@ -5265,6 +5268,7 @@ const typeMap: { [index: string]: any } = { DataDeletionResponseItem: DataDeletionResponseItem, DataDeletionResponseItemAttributes: DataDeletionResponseItemAttributes, DataDeletionResponseMeta: DataDeletionResponseMeta, + DataExportConfig: DataExportConfig, DataRelationshipsTeams: DataRelationshipsTeams, DataRelationshipsTeamsDataItems: DataRelationshipsTeamsDataItems, DataScalarColumn: DataScalarColumn,