Skip to content

Commit 39f6038

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit b0bd3ab of spec repo
1 parent 6a05bef commit 39f6038

9 files changed

Lines changed: 719 additions & 0 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19897,6 +19897,45 @@ components:
1989719897
x-enum-varnames:
1989819898
- "TRUE"
1989919899
- "FALSE"
19900+
CostTagMetadataMonth:
19901+
description: A month that has Cloud Cost Management tag metadata available for a given provider.
19902+
properties:
19903+
id:
19904+
description: The month, in `YYYY-MM` format.
19905+
example: "2026-04"
19906+
type: string
19907+
type:
19908+
$ref: "#/components/schemas/CostTagMetadataMonthType"
19909+
required:
19910+
- id
19911+
- type
19912+
type: object
19913+
CostTagMetadataMonthType:
19914+
default: cost_tag_metadata_month
19915+
description: Type of the Cloud Cost Management tag metadata month resource.
19916+
enum:
19917+
- cost_tag_metadata_month
19918+
example: cost_tag_metadata_month
19919+
type: string
19920+
x-enum-varnames:
19921+
- COST_TAG_METADATA_MONTH
19922+
CostTagMetadataMonthsResponse:
19923+
description: List of months that have Cloud Cost Management tag metadata for the requested provider, ordered most-recent first and capped at 36 months.
19924+
example:
19925+
data:
19926+
- id: "2026-04"
19927+
type: cost_tag_metadata_month
19928+
- id: "2026-03"
19929+
type: cost_tag_metadata_month
19930+
properties:
19931+
data:
19932+
description: List of months that have tag metadata available.
19933+
items:
19934+
$ref: "#/components/schemas/CostTagMetadataMonth"
19935+
type: array
19936+
required:
19937+
- data
19938+
type: object
1990019939
CostTagType:
1990119940
default: cost_tag
1990219941
description: Type of the Cloud Cost Management tag resource.
@@ -111135,6 +111174,68 @@ paths:
111135111174
x-unstable: |-
111136111175
**Note**: This endpoint is in preview and is subject to change.
111137111176
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
111177+
/api/v2/cost/tag_metadata/months:
111178+
get:
111179+
description: |-
111180+
List months that have Cloud Cost Management tag metadata for a given provider,
111181+
ordered most-recent first. The response is capped at 36 months.
111182+
operationId: ListCostTagMetadataMonths
111183+
parameters:
111184+
- description: |-
111185+
Provider to scope the query to. Use the value of the `providername` tag in CCM
111186+
(for example, `aws`, `azure`, `gcp`, `Oracle`, `Confluent Cloud`, `Snowflake`).
111187+
For costs uploaded through the Custom Costs API, use `custom`.
111188+
Values are case-sensitive.
111189+
example: aws
111190+
in: query
111191+
name: filter[provider]
111192+
required: true
111193+
schema:
111194+
type: string
111195+
responses:
111196+
"200":
111197+
content:
111198+
application/json:
111199+
examples:
111200+
default:
111201+
value:
111202+
data:
111203+
- id: "2026-04"
111204+
type: cost_tag_metadata_month
111205+
- id: "2026-03"
111206+
type: cost_tag_metadata_month
111207+
schema:
111208+
$ref: "#/components/schemas/CostTagMetadataMonthsResponse"
111209+
description: OK
111210+
"400":
111211+
content:
111212+
application/json:
111213+
schema:
111214+
$ref: "#/components/schemas/APIErrorResponse"
111215+
description: Bad Request
111216+
"403":
111217+
content:
111218+
application/json:
111219+
schema:
111220+
$ref: "#/components/schemas/APIErrorResponse"
111221+
description: Forbidden
111222+
"429":
111223+
$ref: "#/components/responses/TooManyRequestsResponse"
111224+
security:
111225+
- apiKeyAuth: []
111226+
appKeyAuth: []
111227+
- AuthZ:
111228+
- cloud_cost_management_read
111229+
summary: List Cloud Cost Management tag metadata months
111230+
tags:
111231+
- Cloud Cost Management
111232+
"x-permission":
111233+
operator: OR
111234+
permissions:
111235+
- cloud_cost_management_read
111236+
x-unstable: |-
111237+
**Note**: This endpoint is in preview and is subject to change.
111238+
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
111138111239
/api/v2/cost/tag_metadata/orchestrators:
111139111240
get:
111140111241
description: List container orchestrators (for example, `kubernetes`, `ecs`) detected in Cloud Cost Management data for the requested period.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// List Cloud Cost Management tag metadata months returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.CloudCostManagementApi;
6+
import com.datadog.api.client.v2.model.CostTagMetadataMonthsResponse;
7+
8+
public class Example {
9+
public static void main(String[] args) {
10+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
defaultClient.setUnstableOperationEnabled("v2.listCostTagMetadataMonths", true);
12+
CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);
13+
14+
try {
15+
CostTagMetadataMonthsResponse result = apiInstance.listCostTagMetadataMonths("aws");
16+
System.out.println(result);
17+
} catch (ApiException e) {
18+
System.err.println("Exception when calling CloudCostManagementApi#listCostTagMetadataMonths");
19+
System.err.println("Status code: " + e.getCode());
20+
System.err.println("Reason: " + e.getResponseBody());
21+
System.err.println("Response headers: " + e.getResponseHeaders());
22+
e.printStackTrace();
23+
}
24+
}
25+
}

src/main/java/com/datadog/api/client/ApiClient.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -953,6 +953,7 @@ public class ApiClient {
953953
put("v2.listCostTagKeySources", false);
954954
put("v2.listCostTagMetadata", false);
955955
put("v2.listCostTagMetadataMetrics", false);
956+
put("v2.listCostTagMetadataMonths", false);
956957
put("v2.listCostTagMetadataOrchestrators", false);
957958
put("v2.searchCostRecommendations", false);
958959
put("v2.createDashboardSecureEmbed", false);

src/main/java/com/datadog/api/client/v2/api/CloudCostManagementApi.java

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import com.datadog.api.client.v2.model.CostTagKeySourcesResponse;
4343
import com.datadog.api.client.v2.model.CostTagKeysResponse;
4444
import com.datadog.api.client.v2.model.CostTagMetadataDailyFilter;
45+
import com.datadog.api.client.v2.model.CostTagMetadataMonthsResponse;
4546
import com.datadog.api.client.v2.model.CostTagsResponse;
4647
import com.datadog.api.client.v2.model.CreateRulesetRequest;
4748
import com.datadog.api.client.v2.model.CustomCostsFileGetResponse;
@@ -7919,6 +7920,185 @@ public ApiResponse<CostMetricsResponse> listCostTagMetadataMetricsWithHttpInfo(
79197920
new GenericType<CostMetricsResponse>() {});
79207921
}
79217922

7923+
/**
7924+
* List Cloud Cost Management tag metadata months.
7925+
*
7926+
* <p>See {@link #listCostTagMetadataMonthsWithHttpInfo}.
7927+
*
7928+
* @param filterProvider Provider to scope the query to. Use the value of the <code>providername
7929+
* </code> tag in CCM (for example, <code>aws</code>, <code>azure</code>, <code>gcp</code>,
7930+
* <code>Oracle</code>, <code>Confluent Cloud</code>, <code>Snowflake</code>). For costs
7931+
* uploaded through the Custom Costs API, use <code>custom</code>. Values are case-sensitive.
7932+
* (required)
7933+
* @return CostTagMetadataMonthsResponse
7934+
* @throws ApiException if fails to make API call
7935+
*/
7936+
public CostTagMetadataMonthsResponse listCostTagMetadataMonths(String filterProvider)
7937+
throws ApiException {
7938+
return listCostTagMetadataMonthsWithHttpInfo(filterProvider).getData();
7939+
}
7940+
7941+
/**
7942+
* List Cloud Cost Management tag metadata months.
7943+
*
7944+
* <p>See {@link #listCostTagMetadataMonthsWithHttpInfoAsync}.
7945+
*
7946+
* @param filterProvider Provider to scope the query to. Use the value of the <code>providername
7947+
* </code> tag in CCM (for example, <code>aws</code>, <code>azure</code>, <code>gcp</code>,
7948+
* <code>Oracle</code>, <code>Confluent Cloud</code>, <code>Snowflake</code>). For costs
7949+
* uploaded through the Custom Costs API, use <code>custom</code>. Values are case-sensitive.
7950+
* (required)
7951+
* @return CompletableFuture&lt;CostTagMetadataMonthsResponse&gt;
7952+
*/
7953+
public CompletableFuture<CostTagMetadataMonthsResponse> listCostTagMetadataMonthsAsync(
7954+
String filterProvider) {
7955+
return listCostTagMetadataMonthsWithHttpInfoAsync(filterProvider)
7956+
.thenApply(
7957+
response -> {
7958+
return response.getData();
7959+
});
7960+
}
7961+
7962+
/**
7963+
* List months that have Cloud Cost Management tag metadata for a given provider, ordered
7964+
* most-recent first. The response is capped at 36 months.
7965+
*
7966+
* @param filterProvider Provider to scope the query to. Use the value of the <code>providername
7967+
* </code> tag in CCM (for example, <code>aws</code>, <code>azure</code>, <code>gcp</code>,
7968+
* <code>Oracle</code>, <code>Confluent Cloud</code>, <code>Snowflake</code>). For costs
7969+
* uploaded through the Custom Costs API, use <code>custom</code>. Values are case-sensitive.
7970+
* (required)
7971+
* @return ApiResponse&lt;CostTagMetadataMonthsResponse&gt;
7972+
* @throws ApiException if fails to make API call
7973+
* @http.response.details
7974+
* <table border="1">
7975+
* <caption>Response details</caption>
7976+
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
7977+
* <tr><td> 200 </td><td> OK </td><td> - </td></tr>
7978+
* <tr><td> 400 </td><td> Bad Request </td><td> - </td></tr>
7979+
* <tr><td> 403 </td><td> Forbidden </td><td> - </td></tr>
7980+
* <tr><td> 429 </td><td> Too many requests </td><td> - </td></tr>
7981+
* </table>
7982+
*/
7983+
public ApiResponse<CostTagMetadataMonthsResponse> listCostTagMetadataMonthsWithHttpInfo(
7984+
String filterProvider) throws ApiException {
7985+
// Check if unstable operation is enabled
7986+
String operationId = "listCostTagMetadataMonths";
7987+
if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
7988+
apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
7989+
} else {
7990+
throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
7991+
}
7992+
Object localVarPostBody = null;
7993+
7994+
// verify the required parameter 'filterProvider' is set
7995+
if (filterProvider == null) {
7996+
throw new ApiException(
7997+
400,
7998+
"Missing the required parameter 'filterProvider' when calling listCostTagMetadataMonths");
7999+
}
8000+
// create path and map variables
8001+
String localVarPath = "/api/v2/cost/tag_metadata/months";
8002+
8003+
List<Pair> localVarQueryParams = new ArrayList<Pair>();
8004+
Map<String, String> localVarHeaderParams = new HashMap<String, String>();
8005+
8006+
localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[provider]", filterProvider));
8007+
8008+
Invocation.Builder builder =
8009+
apiClient.createBuilder(
8010+
"v2.CloudCostManagementApi.listCostTagMetadataMonths",
8011+
localVarPath,
8012+
localVarQueryParams,
8013+
localVarHeaderParams,
8014+
new HashMap<String, String>(),
8015+
new String[] {"application/json"},
8016+
new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
8017+
return apiClient.invokeAPI(
8018+
"GET",
8019+
builder,
8020+
localVarHeaderParams,
8021+
new String[] {},
8022+
localVarPostBody,
8023+
new HashMap<String, Object>(),
8024+
false,
8025+
new GenericType<CostTagMetadataMonthsResponse>() {});
8026+
}
8027+
8028+
/**
8029+
* List Cloud Cost Management tag metadata months.
8030+
*
8031+
* <p>See {@link #listCostTagMetadataMonthsWithHttpInfo}.
8032+
*
8033+
* @param filterProvider Provider to scope the query to. Use the value of the <code>providername
8034+
* </code> tag in CCM (for example, <code>aws</code>, <code>azure</code>, <code>gcp</code>,
8035+
* <code>Oracle</code>, <code>Confluent Cloud</code>, <code>Snowflake</code>). For costs
8036+
* uploaded through the Custom Costs API, use <code>custom</code>. Values are case-sensitive.
8037+
* (required)
8038+
* @return CompletableFuture&lt;ApiResponse&lt;CostTagMetadataMonthsResponse&gt;&gt;
8039+
*/
8040+
public CompletableFuture<ApiResponse<CostTagMetadataMonthsResponse>>
8041+
listCostTagMetadataMonthsWithHttpInfoAsync(String filterProvider) {
8042+
// Check if unstable operation is enabled
8043+
String operationId = "listCostTagMetadataMonths";
8044+
if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
8045+
apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
8046+
} else {
8047+
CompletableFuture<ApiResponse<CostTagMetadataMonthsResponse>> result =
8048+
new CompletableFuture<>();
8049+
result.completeExceptionally(
8050+
new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
8051+
return result;
8052+
}
8053+
Object localVarPostBody = null;
8054+
8055+
// verify the required parameter 'filterProvider' is set
8056+
if (filterProvider == null) {
8057+
CompletableFuture<ApiResponse<CostTagMetadataMonthsResponse>> result =
8058+
new CompletableFuture<>();
8059+
result.completeExceptionally(
8060+
new ApiException(
8061+
400,
8062+
"Missing the required parameter 'filterProvider' when calling"
8063+
+ " listCostTagMetadataMonths"));
8064+
return result;
8065+
}
8066+
// create path and map variables
8067+
String localVarPath = "/api/v2/cost/tag_metadata/months";
8068+
8069+
List<Pair> localVarQueryParams = new ArrayList<Pair>();
8070+
Map<String, String> localVarHeaderParams = new HashMap<String, String>();
8071+
8072+
localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[provider]", filterProvider));
8073+
8074+
Invocation.Builder builder;
8075+
try {
8076+
builder =
8077+
apiClient.createBuilder(
8078+
"v2.CloudCostManagementApi.listCostTagMetadataMonths",
8079+
localVarPath,
8080+
localVarQueryParams,
8081+
localVarHeaderParams,
8082+
new HashMap<String, String>(),
8083+
new String[] {"application/json"},
8084+
new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
8085+
} catch (ApiException ex) {
8086+
CompletableFuture<ApiResponse<CostTagMetadataMonthsResponse>> result =
8087+
new CompletableFuture<>();
8088+
result.completeExceptionally(ex);
8089+
return result;
8090+
}
8091+
return apiClient.invokeAPIAsync(
8092+
"GET",
8093+
builder,
8094+
localVarHeaderParams,
8095+
new String[] {},
8096+
localVarPostBody,
8097+
new HashMap<String, Object>(),
8098+
false,
8099+
new GenericType<CostTagMetadataMonthsResponse>() {});
8100+
}
8101+
79228102
/** Manage optional parameters to listCostTagMetadataOrchestrators. */
79238103
public static class ListCostTagMetadataOrchestratorsOptionalParameters {
79248104
private String filterProvider;

0 commit comments

Comments
 (0)