Skip to content

Commit f91d69f

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit b142429 of spec repo
1 parent d03b10c commit f91d69f

12 files changed

Lines changed: 802 additions & 0 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15600,6 +15600,98 @@ components:
1560015600
type: string
1560115601
x-enum-varnames:
1560215602
- COST_BY_ORG
15603+
CostTagDescription:
15604+
description: A Cloud Cost Management tag key description, either cross-cloud or scoped to a single cloud provider.
15605+
properties:
15606+
attributes:
15607+
$ref: "#/components/schemas/CostTagDescriptionAttributes"
15608+
id:
15609+
description: Stable identifier of the tag description. Equals the tag key when the description is the cross-cloud default; encodes both the cloud and the tag key when the description is cloud-specific.
15610+
example: account_id
15611+
type: string
15612+
type:
15613+
$ref: "#/components/schemas/CostTagDescriptionType"
15614+
required:
15615+
- attributes
15616+
- id
15617+
- type
15618+
type: object
15619+
CostTagDescriptionAttributes:
15620+
description: Human-readable description and metadata attached to a Cloud Cost Management tag key, optionally scoped to a single cloud provider.
15621+
properties:
15622+
cloud:
15623+
description: Cloud provider this description applies to (for example, `aws`). Empty when the description is the cross-cloud default for the tag key.
15624+
example: aws
15625+
type: string
15626+
created_at:
15627+
description: Timestamp when the description was created, in RFC 3339 format.
15628+
example: "2026-01-01T12:00:00Z"
15629+
type: string
15630+
description:
15631+
description: The human-readable description for the tag key.
15632+
example: AWS account that owns this cost.
15633+
type: string
15634+
source:
15635+
$ref: "#/components/schemas/CostTagDescriptionSource"
15636+
tag_key:
15637+
description: The tag key this description applies to.
15638+
example: account_id
15639+
type: string
15640+
updated_at:
15641+
description: Timestamp when the description was last updated, in RFC 3339 format.
15642+
example: "2026-01-01T12:00:00Z"
15643+
type: string
15644+
required:
15645+
- cloud
15646+
- created_at
15647+
- description
15648+
- source
15649+
- tag_key
15650+
- updated_at
15651+
type: object
15652+
CostTagDescriptionSource:
15653+
description: Origin of the description. `human` indicates the description was written by a user, `ai_generated` was produced by AI, and `datadog` is a default supplied by Datadog.
15654+
enum:
15655+
- human
15656+
- ai_generated
15657+
- datadog
15658+
example: human
15659+
type: string
15660+
x-enum-varnames:
15661+
- HUMAN
15662+
- AI_GENERATED
15663+
- DATADOG
15664+
CostTagDescriptionType:
15665+
default: cost_tag_description
15666+
description: Type of the Cloud Cost Management tag description resource.
15667+
enum:
15668+
- cost_tag_description
15669+
example: cost_tag_description
15670+
type: string
15671+
x-enum-varnames:
15672+
- COST_TAG_DESCRIPTION
15673+
CostTagDescriptionsResponse:
15674+
description: List of Cloud Cost Management tag key descriptions for the organization, optionally filtered to a single cloud provider.
15675+
example:
15676+
data:
15677+
- attributes:
15678+
cloud: aws
15679+
created_at: "2026-01-01T12:00:00Z"
15680+
description: AWS account that owns this cost.
15681+
source: human
15682+
tag_key: account_id
15683+
updated_at: "2026-01-01T12:00:00Z"
15684+
id: account_id
15685+
type: cost_tag_description
15686+
properties:
15687+
data:
15688+
description: List of tag key descriptions.
15689+
items:
15690+
$ref: "#/components/schemas/CostTagDescription"
15691+
type: array
15692+
required:
15693+
- data
15694+
type: object
1560315695
CoverageSummaryAttributes:
1560415696
description: Attributes object for code coverage summary response.
1560515697
properties:
@@ -96749,6 +96841,57 @@ paths:
9674996841
operator: OR
9675096842
permissions:
9675196843
- cloud_cost_management_read
96844+
/api/v2/cost/tag_descriptions:
96845+
get:
96846+
description: List Cloud Cost Management tag key descriptions for the organization. Use `filter[cloud]` to scope the result to a single cloud provider; when omitted, both cross-cloud defaults and cloud-specific descriptions are returned.
96847+
operationId: ListCostTagDescriptions
96848+
parameters:
96849+
- description: Filter descriptions to a specific cloud provider (for example, `aws`). Omit to return descriptions across all clouds.
96850+
in: query
96851+
name: filter[cloud]
96852+
required: false
96853+
schema:
96854+
type: string
96855+
responses:
96856+
"200":
96857+
content:
96858+
application/json:
96859+
examples:
96860+
default:
96861+
value:
96862+
data:
96863+
- attributes:
96864+
cloud: aws
96865+
created_at: "2026-01-01T12:00:00Z"
96866+
description: AWS account that owns this cost.
96867+
source: human
96868+
tag_key: account_id
96869+
updated_at: "2026-01-01T12:00:00Z"
96870+
id: account_id
96871+
type: cost_tag_description
96872+
schema:
96873+
$ref: "#/components/schemas/CostTagDescriptionsResponse"
96874+
description: OK
96875+
"403":
96876+
content:
96877+
application/json:
96878+
schema:
96879+
$ref: "#/components/schemas/APIErrorResponse"
96880+
description: Forbidden
96881+
"429":
96882+
$ref: "#/components/responses/TooManyRequestsResponse"
96883+
security:
96884+
- apiKeyAuth: []
96885+
appKeyAuth: []
96886+
- AuthZ:
96887+
- cloud_cost_management_read
96888+
summary: List Cloud Cost Management tag descriptions
96889+
tags:
96890+
- Cloud Cost Management
96891+
"x-permission":
96892+
operator: OR
96893+
permissions:
96894+
- cloud_cost_management_read
9675296895
/api/v2/cost_by_tag/active_billing_dimensions:
9675396896
get:
9675496897
description: |-
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# List Cloud Cost Management tag descriptions returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new
5+
p api_instance.list_cost_tag_descriptions()

features/scenarios_model_mapping.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2185,6 +2185,9 @@
21852185
"cloud_account_id" => "Integer",
21862186
"body" => "GCPUsageCostConfigPatchRequest",
21872187
},
2188+
"v2.ListCostTagDescriptions" => {
2189+
"filter_cloud" => "String",
2190+
},
21882191
"v2.CreateTagPipelinesRuleset" => {
21892192
"body" => "CreateRulesetRequest",
21902193
},

features/v2/cloud_cost_management.feature

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,12 @@ Feature: Cloud Cost Management
319319
When the request is sent
320320
Then the response status is 200 OK
321321

322+
@generated @skip @team:DataDog/cloud-cost-management
323+
Scenario: List Cloud Cost Management tag descriptions returns "OK" response
324+
Given new "ListCostTagDescriptions" request
325+
When the request is sent
326+
Then the response status is 200 OK
327+
322328
@replay-only @team:DataDog/cloud-cost-management
323329
Scenario: List Custom Costs Files returns "OK" response
324330
Given new "ListCustomCostsFiles" request

features/v2/undo.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1470,6 +1470,12 @@
14701470
"type": "safe"
14711471
}
14721472
},
1473+
"ListCostTagDescriptions": {
1474+
"tag": "Cloud Cost Management",
1475+
"undo": {
1476+
"type": "safe"
1477+
}
1478+
},
14731479
"GetActiveBillingDimensions": {
14741480
"tag": "Usage Metering",
14751481
"undo": {

lib/datadog_api_client/inflector.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1988,6 +1988,11 @@ def overrides
19881988
"v2.cost_by_org_attributes" => "CostByOrgAttributes",
19891989
"v2.cost_by_org_response" => "CostByOrgResponse",
19901990
"v2.cost_by_org_type" => "CostByOrgType",
1991+
"v2.cost_tag_description" => "CostTagDescription",
1992+
"v2.cost_tag_description_attributes" => "CostTagDescriptionAttributes",
1993+
"v2.cost_tag_description_source" => "CostTagDescriptionSource",
1994+
"v2.cost_tag_descriptions_response" => "CostTagDescriptionsResponse",
1995+
"v2.cost_tag_description_type" => "CostTagDescriptionType",
19911996
"v2.coverage_summary_attributes" => "CoverageSummaryAttributes",
19921997
"v2.coverage_summary_codeowner_stats" => "CoverageSummaryCodeownerStats",
19931998
"v2.coverage_summary_data" => "CoverageSummaryData",

lib/datadog_api_client/v2/api/cloud_cost_management_api.rb

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1580,6 +1580,68 @@ def list_cost_oci_configs_with_http_info(opts = {})
15801580
return data, status_code, headers
15811581
end
15821582

1583+
# List Cloud Cost Management tag descriptions.
1584+
#
1585+
# @see #list_cost_tag_descriptions_with_http_info
1586+
def list_cost_tag_descriptions(opts = {})
1587+
data, _status_code, _headers = list_cost_tag_descriptions_with_http_info(opts)
1588+
data
1589+
end
1590+
1591+
# List Cloud Cost Management tag descriptions.
1592+
#
1593+
# List Cloud Cost Management tag key descriptions for the organization. Use `filter[cloud]` to scope the result to a single cloud provider; when omitted, both cross-cloud defaults and cloud-specific descriptions are returned.
1594+
#
1595+
# @param opts [Hash] the optional parameters
1596+
# @option opts [String] :filter_cloud Filter descriptions to a specific cloud provider (for example, `aws`). Omit to return descriptions across all clouds.
1597+
# @return [Array<(CostTagDescriptionsResponse, Integer, Hash)>] CostTagDescriptionsResponse data, response status code and response headers
1598+
def list_cost_tag_descriptions_with_http_info(opts = {})
1599+
1600+
if @api_client.config.debugging
1601+
@api_client.config.logger.debug 'Calling API: CloudCostManagementAPI.list_cost_tag_descriptions ...'
1602+
end
1603+
# resource path
1604+
local_var_path = '/api/v2/cost/tag_descriptions'
1605+
1606+
# query parameters
1607+
query_params = opts[:query_params] || {}
1608+
query_params[:'filter[cloud]'] = opts[:'filter_cloud'] if !opts[:'filter_cloud'].nil?
1609+
1610+
# header parameters
1611+
header_params = opts[:header_params] || {}
1612+
# HTTP header 'Accept' (if needed)
1613+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1614+
1615+
# form parameters
1616+
form_params = opts[:form_params] || {}
1617+
1618+
# http body (model)
1619+
post_body = opts[:debug_body]
1620+
1621+
# return_type
1622+
return_type = opts[:debug_return_type] || 'CostTagDescriptionsResponse'
1623+
1624+
# auth_names
1625+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
1626+
1627+
new_options = opts.merge(
1628+
:operation => :list_cost_tag_descriptions,
1629+
:header_params => header_params,
1630+
:query_params => query_params,
1631+
:form_params => form_params,
1632+
:body => post_body,
1633+
:auth_names => auth_names,
1634+
:return_type => return_type,
1635+
:api_version => "V2"
1636+
)
1637+
1638+
data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options)
1639+
if @api_client.config.debugging
1640+
@api_client.config.logger.debug "API called: CloudCostManagementAPI#list_cost_tag_descriptions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1641+
end
1642+
return data, status_code, headers
1643+
end
1644+
15831645
# List custom allocation rules.
15841646
#
15851647
# @see #list_custom_allocation_rules_with_http_info

0 commit comments

Comments
 (0)