diff --git a/.generated-info b/.generated-info index 8623329320a1..1c7bc67e47b6 100644 --- a/.generated-info +++ b/.generated-info @@ -1,4 +1,4 @@ { - "spec_repo_commit": "8001cbb", - "generated": "2025-08-13 20:27:07.288" + "spec_repo_commit": "b434599", + "generated": "2025-08-13 22:15:38.201" } diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 5ab5923ba83d..d47fcb7159b5 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -221,7 +221,8 @@ components: name: cloud_account_id required: true schema: - type: string + format: int64 + type: integer CloudWorkloadSecurityAgentRuleID: description: The ID of the Agent rule example: 3b5-v82-ns6 @@ -4500,8 +4501,7 @@ components: $ref: '#/components/schemas/AwsCURConfigAttributes' id: description: The ID of the AWS CUR config. - format: int64 - type: integer + type: string type: $ref: '#/components/schemas/AwsCURConfigType' required: @@ -4642,9 +4642,6 @@ components: description: The region the bucket is located in. example: us-east-1 type: string - is_enabled: - description: Whether or not the Cloud Cost Management account is enabled. - type: boolean months: description: The month of the report. format: int32 @@ -5136,8 +5133,7 @@ components: type: string id: description: The ID of the Azure config. - format: int64 - type: integer + type: string months: deprecated: true description: The number of months the report has been backfilled. @@ -5187,8 +5183,7 @@ components: $ref: '#/components/schemas/AzureUCConfigPairAttributes' id: description: The ID of Cloud Cost Management account. - format: int64 - type: integer + type: string type: $ref: '#/components/schemas/AzureUCConfigPairType' required: @@ -5205,8 +5200,7 @@ components: type: array id: description: The ID of the Azure config pair. - format: int64 - type: integer + type: string required: - configs type: object @@ -49730,6 +49724,31 @@ paths: get: description: List the Custom Costs files. operationId: ListCustomCostsFiles + parameters: + - description: Page number for pagination + in: query + name: page[number] + schema: + format: int64 + type: integer + - description: Page size for pagination + in: query + name: page[size] + schema: + default: 100 + format: int64 + type: integer + - description: Filter by file status + in: query + name: filter[status] + schema: + type: string + - description: Sort key with optional descending prefix + in: query + name: sort + schema: + default: created_at + type: string responses: '200': content: @@ -49737,6 +49756,12 @@ paths: schema: $ref: '#/components/schemas/CustomCostsFileListResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request '403': content: application/json: @@ -49769,6 +49794,12 @@ paths: schema: $ref: '#/components/schemas/CustomCostsFileUploadResponse' description: Accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request '403': content: application/json: @@ -49800,6 +49831,12 @@ paths: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -49828,6 +49865,12 @@ paths: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: diff --git a/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-AWS-CUR-config-returns-OK-response.yml b/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-AWS-CUR-config-returns-OK-response.yml index ed59d20d5899..72a868bda4f6 100644 --- a/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-AWS-CUR-config-returns-OK-response.yml +++ b/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-AWS-CUR-config-returns-OK-response.yml @@ -14,7 +14,7 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"type":"aws_cur_config","id":177,"attributes":{"account_id":"123456789123","bucket_name":"dd-cost-bucket","bucket_region":"us-east-1","report_prefix":"dd-report-prefix","report_name":"dd-report-name","months":15,"updated_at":"2023-12-12T14:24:30.907264","created_at":"2023-12-12T14:24:30.907264","status":"active","status_updated_at":"2023-12-12T14:24:30.904602","error_messages":[]}}} + string: '{"data":{"type":"aws_cur_config","id":"177","attributes":{"account_id":"123456789123","bucket_name":"dd-cost-bucket","bucket_region":"us-east-1","report_prefix":"dd-report-prefix","report_name":"dd-report-name","months":15,"updated_at":"2023-12-12T14:24:30.907264","created_at":"2023-12-12T14:24:30.907264","status":"active","status_updated_at":"2023-12-12T14:24:30.904602","error_messages":[]}}} ' headers: diff --git a/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-Bad-Request-response.frozen b/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-Bad-Request-response.frozen new file mode 100644 index 000000000000..41ded8947f2c --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-Bad-Request-response.frozen @@ -0,0 +1 @@ +2025-08-13T21:37:53.830Z \ No newline at end of file diff --git a/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-Bad-Request-response.yml b/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-Bad-Request-response.yml new file mode 100644 index 000000000000..546edbf5dffd --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-Bad-Request-response.yml @@ -0,0 +1,25 @@ +http_interactions: +- recorded_at: Wed, 13 Aug 2025 21:37:53 GMT + request: + body: + encoding: UTF-8 + string: '{"data":{"attributes":{"account_id":"1234abcd-1234-abcd-1234-1234abcd1234","actual_bill_config":{"export_name":"dd-actual-export","export_path":"dd-export-path","storage_account":"dd-storage-account","storage_container":"dd-storage-container"},"amortized_bill_config":{"export_name":"dd-actual-export","export_path":"dd-export-path","storage_account":"dd-storage-account","storage_container":"dd-storage-container"},"client_id":"1234abcd-1234-abcd-1234-1234abcd1234","scope":"this_is_an_invalid_scope"},"type":"azure_uc_config_post_request"}}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/cost/azure_uc_config + response: + body: + encoding: UTF-8 + string: '{"errors":[{"status":"400","title":"Bad Request","detail":"attribute + \"scope\" does not match the required format"}]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 400 + message: Bad Request +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-OK-response.yml b/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-OK-response.yml index 142521648429..90bdfc519344 100644 --- a/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-OK-response.yml +++ b/cassettes/features/v2/cloud_cost_management/Create-Cloud-Cost-Management-Azure-configs-returns-OK-response.yml @@ -21,14 +21,14 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data": {"type": "azure_uc_configs", "id": 1, "attributes": {"configs": - [{"id": 1, "storage_container": "test_storage_container", "scope": "test_scope", + string: '{"data": {"type": "azure_uc_configs", "id": "1", "attributes": {"configs": + [{"id": "1", "storage_container": "test_storage_container", "scope": "test_scope", "status": "active", "account_id": "1234abcd-1234-abcd-1234-1234abcd1234", "client_id": "test_client_id", "storage_account": "test_storage_account", "months": 15, "error_messages": [], "dataset_type": "actual", "status_updated_at": "2023-12-12T17:11:56.855669", "created_at": "2023-12-12T17:11:56.860554", "updated_at": "2023-12-12T17:11:56.860554", "export_name": "test_export_name", - "export_path": "test_export_path"}, {"id": 1, "storage_container": "test_storage_container", + "export_path": "test_export_path"}, {"id": "1", "storage_container": "test_storage_container", "scope": "test_scope", "status": "active", "account_id": "test_account_id", "client_id": "test_client_id", "storage_account": "test_storage_account", "months": 15, "error_messages": [], "dataset_type": "amortized", "status_updated_at": diff --git a/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response.frozen b/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response.frozen new file mode 100644 index 000000000000..ee67bde85685 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response.frozen @@ -0,0 +1 @@ +2025-08-13T21:24:23.921Z \ No newline at end of file diff --git a/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response.yml b/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response.yml new file mode 100644 index 000000000000..b7d7fced54b4 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-AWS-CUR-config-returns-Not-Found-response.yml @@ -0,0 +1,20 @@ +http_interactions: +- recorded_at: Wed, 13 Aug 2025 21:24:23 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/cost/aws_cur_config/123456 + response: + body: + encoding: UTF-8 + string: '{"errors":[{"status":"404","title":"Not Found"}]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-Azure-config-returns-Not-Found-response.frozen b/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-Azure-config-returns-Not-Found-response.frozen new file mode 100644 index 000000000000..7257ead0b223 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-Azure-config-returns-Not-Found-response.frozen @@ -0,0 +1 @@ +2025-08-13T21:21:25.379Z \ No newline at end of file diff --git a/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-Azure-config-returns-Not-Found-response.yml b/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-Azure-config-returns-Not-Found-response.yml new file mode 100644 index 000000000000..bf264fdf2c46 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Delete-Cloud-Cost-Management-Azure-config-returns-Not-Found-response.yml @@ -0,0 +1,20 @@ +http_interactions: +- recorded_at: Wed, 13 Aug 2025 21:21:25 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/cost/azure_uc_config/123456 + response: + body: + encoding: UTF-8 + string: '{"errors":[{"status":"404","title":"Not Found"}]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/cloud_cost_management/Delete-Custom-Costs-file-returns-Not-Found-response.frozen b/cassettes/features/v2/cloud_cost_management/Delete-Custom-Costs-file-returns-Not-Found-response.frozen new file mode 100644 index 000000000000..411b128dab64 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Delete-Custom-Costs-file-returns-Not-Found-response.frozen @@ -0,0 +1 @@ +2025-08-13T21:13:51.484Z \ No newline at end of file diff --git a/cassettes/features/v2/cloud_cost_management/Delete-Custom-Costs-file-returns-Not-Found-response.yml b/cassettes/features/v2/cloud_cost_management/Delete-Custom-Costs-file-returns-Not-Found-response.yml new file mode 100644 index 000000000000..481e36b23033 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Delete-Custom-Costs-file-returns-Not-Found-response.yml @@ -0,0 +1,20 @@ +http_interactions: +- recorded_at: Wed, 13 Aug 2025 21:13:51 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/cost/custom_costs/00000000-0000-0000-0000-000000000000 + response: + body: + encoding: UTF-8 + string: '{"errors":[{"status":"404","title":"Not Found"}]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/cloud_cost_management/Get-Custom-Costs-file-returns-Not-Found-response.frozen b/cassettes/features/v2/cloud_cost_management/Get-Custom-Costs-file-returns-Not-Found-response.frozen new file mode 100644 index 000000000000..d30bc03f96b8 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Get-Custom-Costs-file-returns-Not-Found-response.frozen @@ -0,0 +1 @@ +2025-08-13T20:50:39.857Z \ No newline at end of file diff --git a/cassettes/features/v2/cloud_cost_management/Get-Custom-Costs-file-returns-Not-Found-response.yml b/cassettes/features/v2/cloud_cost_management/Get-Custom-Costs-file-returns-Not-Found-response.yml new file mode 100644 index 000000000000..8b34642810a1 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Get-Custom-Costs-file-returns-Not-Found-response.yml @@ -0,0 +1,21 @@ +http_interactions: +- recorded_at: Wed, 13 Aug 2025 20:50:39 GMT + request: + body: null + headers: + Accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/cost/custom_costs/00000000-0000-0000-0000-000000000000 + response: + body: + encoding: UTF-8 + string: '{"errors":[{"status":"404","title":"Not Found","detail":"metadata not + found"}]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/cloud_cost_management/List-Cloud-Cost-Management-AWS-CUR-configs-returns-OK-response.yml b/cassettes/features/v2/cloud_cost_management/List-Cloud-Cost-Management-AWS-CUR-configs-returns-OK-response.yml index 6c5680ade30a..e7cdfe60a72e 100644 --- a/cassettes/features/v2/cloud_cost_management/List-Cloud-Cost-Management-AWS-CUR-configs-returns-OK-response.yml +++ b/cassettes/features/v2/cloud_cost_management/List-Cloud-Cost-Management-AWS-CUR-configs-returns-OK-response.yml @@ -10,7 +10,7 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data": [{"type": "aws_cur_config", "id": 100, "attributes": {"account_id": + string: '{"data": [{"type": "aws_cur_config", "id": "100", "attributes": {"account_id": "000000000000", "bucket_name": "test_bucket_name", "bucket_region": "us-east-1", "report_prefix": "cur-hourly", "report_name": "billing-conductor-cur", "months": 15, "updated_at": "2023-10-27T12:38:39.585408", "created_at": "2023-10-10T13:53:28.774143", diff --git a/cassettes/features/v2/cloud_cost_management/List-Cloud-Cost-Management-Azure-configs-returns-OK-response.yml b/cassettes/features/v2/cloud_cost_management/List-Cloud-Cost-Management-Azure-configs-returns-OK-response.yml index d5453ebf35a2..0e8e1ec93355 100644 --- a/cassettes/features/v2/cloud_cost_management/List-Cloud-Cost-Management-Azure-configs-returns-OK-response.yml +++ b/cassettes/features/v2/cloud_cost_management/List-Cloud-Cost-Management-Azure-configs-returns-OK-response.yml @@ -10,43 +10,43 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data": [{"type": "azure_uc_configs", "id": 1, "attributes": {"configs": - [{"id": 1, "export_name": "test_export_name", "scope": "test_scope", "created_at": + string: '{"data": [{"type": "azure_uc_configs", "id": "1", "attributes": {"configs": + [{"id": "1", "export_name": "test_export_name", "scope": "test_scope", "created_at": "2023-06-29T12:43:36.569819", "storage_container": "test_storage_container", "status": "active", "updated_at": "2023-06-29T12:43:36.569819", "account_id": "test_account_id", "client_id": "test_client_id", "dataset_type": "actual", "status_updated_at": "2023-11-03T13:48:16.827724", "error_messages": [], "storage_account": "test_storage_account", "months": 15, "export_path": "test_export_path"}, - {"id": 1, "export_name": "test_export_name", "scope": "test_scope", "created_at": + {"id": "1", "export_name": "test_export_name", "scope": "test_scope", "created_at": "2023-06-29T12:43:36.569819", "storage_container": "test_storage_container", "status": "active", "updated_at": "2023-06-29T12:43:36.569819", "account_id": "test_account_id", "client_id": "test_client_id", "dataset_type": "amortized", "status_updated_at": "2023-11-03T13:48:16.827724", "error_messages": [], "storage_account": "test_storage_account", "months": 15, "export_path": "test_export_path"}]}}, - {"type": "azure_uc_configs", "id": 1, "attributes": {"configs": [{"id": 1, - "export_name": "test_export_name", "scope": "test_scope", "created_at": "2023-11-09T16:26:33.859447", - "storage_container": "test_storage_container", "status": "active", "updated_at": - "2023-11-09T16:26:33.859447", "account_id": "test_account_id", "client_id": - "test_client_id", "dataset_type": "actual", "status_updated_at": "2023-11-09T16:26:33.849153", - "storage_account": "test_storage_account", "months": 15, "export_path": "test_export_path"}, - {"id": 1, "export_name": "test_export_name", "scope": "test_scope", "created_at": - "2023-11-09T16:26:33.862026", "storage_container": "test_storage_container", - "status": "active", "updated_at": "2023-11-09T16:26:33.862026", "account_id": - "test_account_id", "client_id": "test_client_id", "dataset_type": "amortized", + {"type": "azure_uc_configs", "id": "1", "attributes": {"configs": [{"id": + "1", "export_name": "test_export_name", "scope": "test_scope", "created_at": + "2023-11-09T16:26:33.859447", "storage_container": "test_storage_container", + "status": "active", "updated_at": "2023-11-09T16:26:33.859447", "account_id": + "test_account_id", "client_id": "test_client_id", "dataset_type": "actual", "status_updated_at": "2023-11-09T16:26:33.849153", "storage_account": "test_storage_account", - "months": 15, "export_path": "test_export_path"}]}}, {"type": "azure_uc_configs", - "id": 1, "attributes": {"configs": [{"id": 1, "export_name": "test_export_name", - "scope": "test_scope", "created_at": "2023-11-09T20:20:35.959808", "storage_container": - "test_storage_container", "status": "active", "updated_at": "2023-11-09T20:20:35.959808", - "account_id": "test_account_id", "client_id": "test_client_id", "dataset_type": - "actual", "status_updated_at": "2023-11-09T20:20:35.956202", "storage_account": - "test_storage_account", "months": 15, "export_path": "test_export_path"}, - {"id": 1, "export_name": "test_export_name", "scope": "test_scope", "created_at": - "2023-11-09T20:20:35.960815", "storage_container": "test_storage_container", - "status": "active", "updated_at": "2023-11-09T20:20:35.960815", "account_id": - "test_account_id", "client_id": "test_client_id", "dataset_type": "amortized", + "months": 15, "export_path": "test_export_path"}, {"id": "1", "export_name": + "test_export_name", "scope": "test_scope", "created_at": "2023-11-09T16:26:33.862026", + "storage_container": "test_storage_container", "status": "active", "updated_at": + "2023-11-09T16:26:33.862026", "account_id": "test_account_id", "client_id": + "test_client_id", "dataset_type": "amortized", "status_updated_at": "2023-11-09T16:26:33.849153", + "storage_account": "test_storage_account", "months": 15, "export_path": "test_export_path"}]}}, + {"type": "azure_uc_configs", "id": "1", "attributes": {"configs": [{"id": + "1", "export_name": "test_export_name", "scope": "test_scope", "created_at": + "2023-11-09T20:20:35.959808", "storage_container": "test_storage_container", + "status": "active", "updated_at": "2023-11-09T20:20:35.959808", "account_id": + "test_account_id", "client_id": "test_client_id", "dataset_type": "actual", "status_updated_at": "2023-11-09T20:20:35.956202", "storage_account": "test_storage_account", - "months": 15, "export_path": "test_export_path"}]}}]}' + "months": 15, "export_path": "test_export_path"}, {"id": "1", "export_name": + "test_export_name", "scope": "test_scope", "created_at": "2023-11-09T20:20:35.960815", + "storage_container": "test_storage_container", "status": "active", "updated_at": + "2023-11-09T20:20:35.960815", "account_id": "test_account_id", "client_id": + "test_client_id", "dataset_type": "amortized", "status_updated_at": "2023-11-09T20:20:35.956202", + "storage_account": "test_storage_account", "months": 15, "export_path": "test_export_path"}]}}]}' headers: Content-Type: - application/json diff --git a/cassettes/features/v2/cloud_cost_management/List-Custom-Costs-files-returns-Bad-Request-response.frozen b/cassettes/features/v2/cloud_cost_management/List-Custom-Costs-files-returns-Bad-Request-response.frozen new file mode 100644 index 000000000000..9ed454a07802 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/List-Custom-Costs-files-returns-Bad-Request-response.frozen @@ -0,0 +1 @@ +2025-08-13T20:12:25.668Z \ No newline at end of file diff --git a/cassettes/features/v2/cloud_cost_management/List-Custom-Costs-files-returns-Bad-Request-response.yml b/cassettes/features/v2/cloud_cost_management/List-Custom-Costs-files-returns-Bad-Request-response.yml new file mode 100644 index 000000000000..a69a47784e8c --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/List-Custom-Costs-files-returns-Bad-Request-response.yml @@ -0,0 +1,21 @@ +http_interactions: +- recorded_at: Wed, 13 Aug 2025 20:12:25 GMT + request: + body: null + headers: + Accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/cost/custom_costs?filter%5Bstatus%5D=invalid_file_status + response: + body: + encoding: UTF-8 + string: '{"errors":[{"status":"400","title":"Bad Request","detail":"unknown + status, got invalid_file_status"}]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 400 + message: Bad Request +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/cloud_cost_management/Update-Cloud-Cost-Management-AWS-CUR-config-returns-OK-response.yml b/cassettes/features/v2/cloud_cost_management/Update-Cloud-Cost-Management-AWS-CUR-config-returns-OK-response.yml index c9cb61d8ecad..a64967d3cb15 100644 --- a/cassettes/features/v2/cloud_cost_management/Update-Cloud-Cost-Management-AWS-CUR-config-returns-OK-response.yml +++ b/cassettes/features/v2/cloud_cost_management/Update-Cloud-Cost-Management-AWS-CUR-config-returns-OK-response.yml @@ -14,7 +14,7 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data": [{"type": "aws_cur_config", "id": 100, "attributes": {"account_id": + string: '{"data": [{"type": "aws_cur_config", "id": "100", "attributes": {"account_id": "000000000000", "bucket_name": "test_bucket_name", "bucket_region": "us-east-1", "report_prefix": "cur-report-hourly", "report_name": "cur-hourly", "months": 15, "updated_at": "2023-10-18T08:15:45.265597", "created_at": "2022-07-25T17:19:47.190482", diff --git a/cassettes/features/v2/cloud_cost_management/Update-Cloud-Cost-Management-Azure-config-returns-OK-response.yml b/cassettes/features/v2/cloud_cost_management/Update-Cloud-Cost-Management-Azure-config-returns-OK-response.yml index a596422b93f7..f00201570e5d 100644 --- a/cassettes/features/v2/cloud_cost_management/Update-Cloud-Cost-Management-Azure-config-returns-OK-response.yml +++ b/cassettes/features/v2/cloud_cost_management/Update-Cloud-Cost-Management-Azure-config-returns-OK-response.yml @@ -14,14 +14,14 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data": {"type": "azure_uc_configs", "id": 100, "attributes": {"configs": + string: '{"data": {"type": "azure_uc_configs", "id": "100", "attributes": {"configs": [{"updated_at": "2023-06-29T12:43:36.569819", "export_path": "/amortized-cost", - "status": "active", "id": 56, "account_id": "test_account_id", "client_id": + "status": "active", "id": "56", "account_id": "test_account_id", "client_id": "test_client_id", "dataset_type": "amortized", "created_at": "2023-06-29T12:43:36.569819", "export_name": "test_export_name", "scope": "test_scope", "storage_account": "test_storage_account", "storage_container": "test_storage_container", "status_updated_at": "2023-12-13T13:29:24.462039", "months": 15}, {"updated_at": "2023-06-29T12:43:36.569819", - "export_path": "/actual-cost", "status": "active", "id": 55, "account_id": + "export_path": "/actual-cost", "status": "active", "id": "55", "account_id": "test_account_id", "client_id": "test_client_id", "dataset_type": "actual", "created_at": "2023-06-29T12:43:36.569819", "export_name": "test_export_name", "scope": "test_scope", "storage_account": "test_storage_account", "storage_container": diff --git a/cassettes/features/v2/cloud_cost_management/Upload-Custom-Costs-file-returns-Bad-Request-response.frozen b/cassettes/features/v2/cloud_cost_management/Upload-Custom-Costs-file-returns-Bad-Request-response.frozen new file mode 100644 index 000000000000..5c37aecb84d1 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Upload-Custom-Costs-file-returns-Bad-Request-response.frozen @@ -0,0 +1 @@ +2025-08-13T18:09:22.298Z \ No newline at end of file diff --git a/cassettes/features/v2/cloud_cost_management/Upload-Custom-Costs-file-returns-Bad-Request-response.yml b/cassettes/features/v2/cloud_cost_management/Upload-Custom-Costs-file-returns-Bad-Request-response.yml new file mode 100644 index 000000000000..de0412bfb5a0 --- /dev/null +++ b/cassettes/features/v2/cloud_cost_management/Upload-Custom-Costs-file-returns-Bad-Request-response.yml @@ -0,0 +1,26 @@ +http_interactions: +- recorded_at: Wed, 13 Aug 2025 18:09:22 GMT + request: + body: + encoding: UTF-8 + string: '[{"BilledCost":100.5,"BillingCurrency":"USD","ChargeDescription":"Monthly + usage charge for my service","ChargePeriodEnd":"2023-02-28","ChargePeriodStart":"2023-02-01"}]' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: PUT + uri: https://api.datadoghq.com/api/v2/cost/custom_costs + response: + body: + encoding: UTF-8 + string: '{"errors":[{"status":"400","title":"Bad Request","detail":"errors in + object 0:\nTags is a required field\nProviderName is a required field","meta":{"end":167,"obj":0,"start":1}}]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 400 + message: Bad Request +recorded_with: VCR 6.0.0 diff --git a/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb b/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb index b39f1855d167..734a256a8c7e 100644 --- a/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb +++ b/examples/v2/cloud-cost-management/DeleteCostAWSCURConfig.rb @@ -2,4 +2,4 @@ require "datadog_api_client" api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new -api_instance.delete_cost_awscur_config("100") +api_instance.delete_cost_awscur_config(100) diff --git a/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb b/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb index 046043c96ce8..99087eb5723f 100644 --- a/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb +++ b/examples/v2/cloud-cost-management/DeleteCostAzureUCConfig.rb @@ -2,4 +2,4 @@ require "datadog_api_client" api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new -api_instance.delete_cost_azure_uc_config("100") +api_instance.delete_cost_azure_uc_config(100) diff --git a/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb b/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb index 8b9b1cbd355d..a240f5b7bbbd 100644 --- a/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb +++ b/examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.rb @@ -2,4 +2,4 @@ require "datadog_api_client" api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new -api_instance.delete_cost_gcp_usage_cost_config("100") +api_instance.delete_cost_gcp_usage_cost_config(100) diff --git a/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb b/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb index de854a10fe5b..8d6c48ba59a4 100644 --- a/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb +++ b/examples/v2/cloud-cost-management/UpdateCostAWSCURConfig.rb @@ -11,4 +11,4 @@ type: DatadogAPIClient::V2::AwsCURConfigPatchRequestType::AWS_CUR_CONFIG_PATCH_REQUEST, }), }) -p api_instance.update_cost_awscur_config("100", body) +p api_instance.update_cost_awscur_config(100, body) diff --git a/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb b/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb index 83c54950202b..46efc358f544 100644 --- a/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb +++ b/examples/v2/cloud-cost-management/UpdateCostAzureUCConfigs.rb @@ -11,4 +11,4 @@ type: DatadogAPIClient::V2::AzureUCConfigPatchRequestType::AZURE_UC_CONFIG_PATCH_REQUEST, }), }) -p api_instance.update_cost_azure_uc_configs("100", body) +p api_instance.update_cost_azure_uc_configs(100, body) diff --git a/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb b/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb index ca015f777175..f8b8e3e8a9fb 100644 --- a/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb +++ b/examples/v2/cloud-cost-management/UpdateCostGCPUsageCostConfig.rb @@ -11,4 +11,4 @@ type: DatadogAPIClient::V2::GCPUsageCostConfigPatchRequestType::GCP_USAGE_COST_CONFIG_PATCH_REQUEST, }), }) -p api_instance.update_cost_gcp_usage_cost_config("100", body) +p api_instance.update_cost_gcp_usage_cost_config(100, body) diff --git a/features/scenarios_model_mapping.rb b/features/scenarios_model_mapping.rb index 039243aa5ad9..de16117e642d 100644 --- a/features/scenarios_model_mapping.rb +++ b/features/scenarios_model_mapping.rb @@ -1464,20 +1464,20 @@ "body" => "AwsCURConfigPostRequest", }, "v2.DeleteCostAWSCURConfig" => { - "cloud_account_id" => "String", + "cloud_account_id" => "Integer", }, "v2.UpdateCostAWSCURConfig" => { - "cloud_account_id" => "String", + "cloud_account_id" => "Integer", "body" => "AwsCURConfigPatchRequest", }, "v2.CreateCostAzureUCConfigs" => { "body" => "AzureUCConfigPostRequest", }, "v2.DeleteCostAzureUCConfig" => { - "cloud_account_id" => "String", + "cloud_account_id" => "Integer", }, "v2.UpdateCostAzureUCConfigs" => { - "cloud_account_id" => "String", + "cloud_account_id" => "Integer", "body" => "AzureUCConfigPatchRequest", }, "v2.UpsertBudget" => { @@ -1489,6 +1489,12 @@ "v2.GetBudget" => { "budget_id" => "String", }, + "v2.ListCustomCostsFiles" => { + "page_number" => "Integer", + "page_size" => "Integer", + "filter_status" => "String", + "sort" => "String", + }, "v2.UploadCustomCostsFile" => { "body" => "Array", }, @@ -1502,10 +1508,10 @@ "body" => "GCPUsageCostConfigPostRequest", }, "v2.DeleteCostGCPUsageCostConfig" => { - "cloud_account_id" => "String", + "cloud_account_id" => "Integer", }, "v2.UpdateCostGCPUsageCostConfig" => { - "cloud_account_id" => "String", + "cloud_account_id" => "Integer", "body" => "GCPUsageCostConfigPatchRequest", }, "v2.GetMonthlyCostAttribution" => { diff --git a/features/v2/cloud_cost_management.feature b/features/v2/cloud_cost_management.feature index dcd04d3b83af..300d7094f799 100644 --- a/features/v2/cloud_cost_management.feature +++ b/features/v2/cloud_cost_management.feature @@ -28,10 +28,10 @@ Feature: Cloud Cost Management Then the response status is 200 OK And the response "data.attributes.account_id" is equal to "123456789123" - @generated @skip @team:Datadog/cloud-cost-management + @team:Datadog/cloud-cost-management Scenario: Create Cloud Cost Management Azure configs returns "Bad Request" response Given new "CreateCostAzureUCConfigs" request - And body with value {"data": {"attributes": {"account_id": "1234abcd-1234-abcd-1234-1234abcd1234", "actual_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "amortized_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", "scope": "/subscriptions/1234abcd-1234-abcd-1234-1234abcd1234"}, "type": "azure_uc_config_post_request"}} + And body with value {"data": {"attributes": {"account_id": "1234abcd-1234-abcd-1234-1234abcd1234", "actual_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "amortized_bill_config": {"export_name": "dd-actual-export", "export_path": "dd-export-path", "storage_account": "dd-storage-account", "storage_container": "dd-storage-container"}, "client_id": "1234abcd-1234-abcd-1234-1234abcd1234", "scope": "this_is_an_invalid_scope"}, "type": "azure_uc_config_post_request"}} When the request is sent Then the response status is 400 Bad Request @@ -89,14 +89,14 @@ Feature: Cloud Cost Management @replay-only @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management AWS CUR config returns "No Content" response Given new "DeleteCostAWSCURConfig" request - And request contains "cloud_account_id" parameter with value "100" + And request contains "cloud_account_id" parameter with value 100 When the request is sent Then the response status is 204 No Content - @generated @skip @team:Datadog/cloud-cost-management + @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management AWS CUR config returns "Not Found" response Given new "DeleteCostAWSCURConfig" request - And request contains "cloud_account_id" parameter from "REPLACE.ME" + And request contains "cloud_account_id" parameter with value 123456 When the request is sent Then the response status is 404 Not Found @@ -110,35 +110,35 @@ Feature: Cloud Cost Management @replay-only @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management Azure config returns "No Content" response Given new "DeleteCostAzureUCConfig" request - And request contains "cloud_account_id" parameter with value "100" + And request contains "cloud_account_id" parameter with value 100 When the request is sent Then the response status is 204 No Content - @generated @skip @team:Datadog/cloud-cost-management + @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management Azure config returns "Not Found" response Given new "DeleteCostAzureUCConfig" request - And request contains "cloud_account_id" parameter from "REPLACE.ME" + And request contains "cloud_account_id" parameter with value 123456 When the request is sent Then the response status is 404 Not Found - @team:Datadog/cloud-cost-management + @generated @skip @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management GCP Usage Cost config returns "Bad Request" response Given new "DeleteCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value "Invalid" + And request contains "cloud_account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request @replay-only @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management GCP Usage Cost config returns "No Content" response Given new "DeleteCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value "100" + And request contains "cloud_account_id" parameter with value 100 When the request is sent Then the response status is 204 No Content @team:Datadog/cloud-cost-management Scenario: Delete Cloud Cost Management GCP Usage Cost config returns "Not Found" response Given new "DeleteCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value "123456" + And request contains "cloud_account_id" parameter with value 123456 When the request is sent Then the response status is 404 Not Found @@ -156,6 +156,13 @@ Feature: Cloud Cost Management When the request is sent Then the response status is 204 No Content + @team:Datadog/cloud-cost-management + Scenario: Delete Custom Costs file returns "Not Found" response + Given new "DeleteCustomCostsFile" request + And request contains "file_id" parameter with value "00000000-0000-0000-0000-000000000000" + When the request is sent + Then the response status is 404 Not Found + @team:Datadog/cloud-cost-management Scenario: Delete a budget returns "Bad Request" response Given new "DeleteBudget" request @@ -179,6 +186,13 @@ Feature: Cloud Cost Management And the response "data.attributes.name" is equal to "data.json" And the response "data.attributes.content[0].ChargeDescription" is equal to "my_description" + @team:Datadog/cloud-cost-management + Scenario: Get Custom Costs file returns "Not Found" response + Given new "GetCustomCostsFile" request + And request contains "file_id" parameter with value "00000000-0000-0000-0000-000000000000" + When the request is sent + Then the response status is 404 Not Found + @generated @skip @team:Datadog/cloud-cost-management Scenario: Get Custom Costs file returns "OK" response Given new "GetCustomCostsFile" request @@ -234,6 +248,13 @@ Feature: Cloud Cost Management Then the response status is 200 OK And the response "data[0].attributes.name" is equal to "data.json" + @team:Datadog/cloud-cost-management + Scenario: List Custom Costs files returns "Bad Request" response + Given new "ListCustomCostsFiles" request + And request contains "filter[status]" parameter with value "invalid_file_status" + When the request is sent + Then the response status is 400 Bad Request + @generated @skip @team:Datadog/cloud-cost-management Scenario: List Custom Costs files returns "OK" response Given new "ListCustomCostsFiles" request @@ -249,7 +270,7 @@ Feature: Cloud Cost Management @replay-only @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management AWS CUR config returns "OK" response Given new "UpdateCostAWSCURConfig" request - And request contains "cloud_account_id" parameter with value "100" + And request contains "cloud_account_id" parameter with value 100 And body with value {"data": {"attributes": {"is_enabled": true}, "type": "aws_cur_config_patch_request"}} When the request is sent Then the response status is 200 OK @@ -266,16 +287,16 @@ Feature: Cloud Cost Management @replay-only @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management Azure config returns "OK" response Given new "UpdateCostAzureUCConfigs" request - And request contains "cloud_account_id" parameter with value "100" + And request contains "cloud_account_id" parameter with value 100 And body with value {"data": {"attributes": {"is_enabled": true}, "type": "azure_uc_config_patch_request"}} When the request is sent Then the response status is 200 OK And the response "data.type" is equal to "azure_uc_configs" - @team:Datadog/cloud-cost-management + @generated @skip @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management GCP Usage Cost config returns "Bad Request" response Given new "UpdateCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value "InvalidValue" + And request contains "cloud_account_id" parameter from "REPLACE.ME" And body with value {"data": {"attributes": {"is_enabled": true}, "type": "gcp_uc_config_patch_request"}} When the request is sent Then the response status is 400 Bad Request @@ -283,7 +304,7 @@ Feature: Cloud Cost Management @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management GCP Usage Cost config returns "Not Found" response Given new "UpdateCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value "12345678" + And request contains "cloud_account_id" parameter with value 12345678 And body with value {"data": {"attributes": {"is_enabled": true}, "type": "gcp_uc_config_patch_request"}} When the request is sent Then the response status is 404 Not Found @@ -291,7 +312,7 @@ Feature: Cloud Cost Management @replay-only @team:Datadog/cloud-cost-management Scenario: Update Cloud Cost Management GCP Usage Cost config returns "OK" response Given new "UpdateCostGCPUsageCostConfig" request - And request contains "cloud_account_id" parameter with value "100" + And request contains "cloud_account_id" parameter with value 100 And body with value {"data": {"attributes": {"is_enabled": true}, "type": "gcp_uc_config_patch_request"}} When the request is sent Then the response status is 200 OK @@ -311,3 +332,10 @@ Feature: Cloud Cost Management And body with value [{"BilledCost": 100.5, "BillingCurrency": "USD", "ChargeDescription": "Monthly usage charge for my service", "ChargePeriodEnd": "2023-02-28", "ChargePeriodStart": "2023-02-01"}] When the request is sent Then the response status is 202 Accepted + + @team:Datadog/cloud-cost-management + Scenario: Upload Custom Costs file returns "Bad Request" response + Given new "UploadCustomCostsFile" request + And body with value [{"BilledCost": 100.5, "BillingCurrency": "USD", "ChargeDescription": "Monthly usage charge for my service", "ChargePeriodEnd": "2023-02-28", "ChargePeriodStart": "2023-02-01"}] + When the request is sent + Then the response status is 400 Bad Request diff --git a/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb b/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb index 3df37e622754..361e89804d38 100644 --- a/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb +++ b/lib/datadog_api_client/v2/api/cloud_cost_management_api.rb @@ -301,7 +301,7 @@ def delete_cost_awscur_config(cloud_account_id, opts = {}) # # Archive a Cloud Cost Management Account. # - # @param cloud_account_id [String] Cloud Account id. + # @param cloud_account_id [Integer] Cloud Account id. # @param opts [Hash] the optional parameters # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers def delete_cost_awscur_config_with_http_info(cloud_account_id, opts = {}) @@ -366,7 +366,7 @@ def delete_cost_azure_uc_config(cloud_account_id, opts = {}) # # Archive a Cloud Cost Management Account. # - # @param cloud_account_id [String] Cloud Account id. + # @param cloud_account_id [Integer] Cloud Account id. # @param opts [Hash] the optional parameters # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers def delete_cost_azure_uc_config_with_http_info(cloud_account_id, opts = {}) @@ -431,7 +431,7 @@ def delete_cost_gcp_usage_cost_config(cloud_account_id, opts = {}) # # Archive a Cloud Cost Management account. # - # @param cloud_account_id [String] Cloud Account id. + # @param cloud_account_id [Integer] Cloud Account id. # @param opts [Hash] the optional parameters # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers def delete_cost_gcp_usage_cost_config_with_http_info(cloud_account_id, opts = {}) @@ -932,6 +932,10 @@ def list_custom_costs_files(opts = {}) # List the Custom Costs files. # # @param opts [Hash] the optional parameters + # @option opts [Integer] :page_number Page number for pagination + # @option opts [Integer] :page_size Page size for pagination + # @option opts [String] :filter_status Filter by file status + # @option opts [String] :sort Sort key with optional descending prefix # @return [Array<(CustomCostsFileListResponse, Integer, Hash)>] CustomCostsFileListResponse data, response status code and response headers def list_custom_costs_files_with_http_info(opts = {}) @@ -943,6 +947,10 @@ def list_custom_costs_files_with_http_info(opts = {}) # query parameters query_params = opts[:query_params] || {} + query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil? + query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'filter[status]'] = opts[:'filter_status'] if !opts[:'filter_status'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? # header parameters header_params = opts[:header_params] || {} @@ -991,7 +999,7 @@ def update_cost_awscur_config(cloud_account_id, body, opts = {}) # # Update the status (active/archived) and/or account filtering configuration of an AWS CUR config. # - # @param cloud_account_id [String] Cloud Account id. + # @param cloud_account_id [Integer] Cloud Account id. # @param body [AwsCURConfigPatchRequest] # @param opts [Hash] the optional parameters # @return [Array<(AwsCURConfigsResponse, Integer, Hash)>] AwsCURConfigsResponse data, response status code and response headers @@ -1063,7 +1071,7 @@ def update_cost_azure_uc_configs(cloud_account_id, body, opts = {}) # # Update the status of an Azure config (active/archived). # - # @param cloud_account_id [String] Cloud Account id. + # @param cloud_account_id [Integer] Cloud Account id. # @param body [AzureUCConfigPatchRequest] # @param opts [Hash] the optional parameters # @return [Array<(AzureUCConfigPairsResponse, Integer, Hash)>] AzureUCConfigPairsResponse data, response status code and response headers @@ -1135,7 +1143,7 @@ def update_cost_gcp_usage_cost_config(cloud_account_id, body, opts = {}) # # Update the status of an GCP Usage Cost config (active/archived). # - # @param cloud_account_id [String] Cloud Account id. + # @param cloud_account_id [Integer] Cloud Account id. # @param body [GCPUsageCostConfigPatchRequest] # @param opts [Hash] the optional parameters # @return [Array<(GCPUsageCostConfigResponse, Integer, Hash)>] GCPUsageCostConfigResponse data, response status code and response headers diff --git a/lib/datadog_api_client/v2/models/aws_cur_config.rb b/lib/datadog_api_client/v2/models/aws_cur_config.rb index 232cfb33f835..dd6581c8b1fd 100644 --- a/lib/datadog_api_client/v2/models/aws_cur_config.rb +++ b/lib/datadog_api_client/v2/models/aws_cur_config.rb @@ -47,7 +47,7 @@ def self.attribute_map def self.openapi_types { :'attributes' => :'AwsCURConfigAttributes', - :'id' => :'Integer', + :'id' => :'String', :'type' => :'AwsCURConfigType' } end diff --git a/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb b/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb index 2a32a86c3fe4..3da008ff372a 100644 --- a/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb +++ b/lib/datadog_api_client/v2/models/aws_cur_config_post_request_attributes.rb @@ -33,9 +33,6 @@ class AwsCURConfigPostRequestAttributes # The region the bucket is located in. attr_accessor :bucket_region - # Whether or not the Cloud Cost Management account is enabled. - attr_accessor :is_enabled - # The month of the report. attr_reader :months @@ -55,7 +52,6 @@ def self.attribute_map :'account_id' => :'account_id', :'bucket_name' => :'bucket_name', :'bucket_region' => :'bucket_region', - :'is_enabled' => :'is_enabled', :'months' => :'months', :'report_name' => :'report_name', :'report_prefix' => :'report_prefix' @@ -70,7 +66,6 @@ def self.openapi_types :'account_id' => :'String', :'bucket_name' => :'String', :'bucket_region' => :'String', - :'is_enabled' => :'Boolean', :'months' => :'Integer', :'report_name' => :'String', :'report_prefix' => :'String' @@ -111,10 +106,6 @@ def initialize(attributes = {}) self.bucket_region = attributes[:'bucket_region'] end - if attributes.key?(:'is_enabled') - self.is_enabled = attributes[:'is_enabled'] - end - if attributes.key?(:'months') self.months = attributes[:'months'] end @@ -220,7 +211,6 @@ def ==(o) account_id == o.account_id && bucket_name == o.bucket_name && bucket_region == o.bucket_region && - is_enabled == o.is_enabled && months == o.months && report_name == o.report_name && report_prefix == o.report_prefix && @@ -231,7 +221,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [account_filters, account_id, bucket_name, bucket_region, is_enabled, months, report_name, report_prefix, additional_properties].hash + [account_filters, account_id, bucket_name, bucket_region, months, report_name, report_prefix, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/azure_uc_config.rb b/lib/datadog_api_client/v2/models/azure_uc_config.rb index aadd7eafa662..a44deedc8822 100644 --- a/lib/datadog_api_client/v2/models/azure_uc_config.rb +++ b/lib/datadog_api_client/v2/models/azure_uc_config.rb @@ -101,7 +101,7 @@ def self.openapi_types :'error_messages' => :'Array', :'export_name' => :'String', :'export_path' => :'String', - :'id' => :'Integer', + :'id' => :'String', :'months' => :'Integer', :'scope' => :'String', :'status' => :'String', diff --git a/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb b/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb index a30204598a40..85eb556d1c73 100644 --- a/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb +++ b/lib/datadog_api_client/v2/models/azure_uc_config_pair.rb @@ -47,7 +47,7 @@ def self.attribute_map def self.openapi_types { :'attributes' => :'AzureUCConfigPairAttributes', - :'id' => :'Integer', + :'id' => :'String', :'type' => :'AzureUCConfigPairType' } end diff --git a/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb b/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb index b45044cc8e6e..5105b8dd77fe 100644 --- a/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb +++ b/lib/datadog_api_client/v2/models/azure_uc_config_pair_attributes.rb @@ -43,7 +43,7 @@ def self.attribute_map def self.openapi_types { :'configs' => :'Array', - :'id' => :'Integer' + :'id' => :'String' } end