Skip to content

Commit 76578c6

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add tag pipeline, custom allocation rule and get cloud account by id for AWS/Azure/GCP configs APIs (#3131)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent c7d91d7 commit 76578c6

File tree

179 files changed

+24206
-926
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+24206
-926
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 2506 additions & 196 deletions
Large diffs are not rendered by default.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// Create arbitrary cost rule 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.ArbitraryCostUpsertRequest;
7+
import com.datadog.api.client.v2.model.ArbitraryCostUpsertRequestData;
8+
import com.datadog.api.client.v2.model.ArbitraryCostUpsertRequestDataAttributes;
9+
import com.datadog.api.client.v2.model.ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems;
10+
import com.datadog.api.client.v2.model.ArbitraryCostUpsertRequestDataAttributesStrategy;
11+
import com.datadog.api.client.v2.model.ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems;
12+
import com.datadog.api.client.v2.model.ArbitraryCostUpsertRequestDataType;
13+
import com.datadog.api.client.v2.model.ArbitraryRuleResponse;
14+
import java.util.Arrays;
15+
16+
public class Example {
17+
public static void main(String[] args) {
18+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
19+
CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);
20+
21+
ArbitraryCostUpsertRequest body =
22+
new ArbitraryCostUpsertRequest()
23+
.data(
24+
new ArbitraryCostUpsertRequestData()
25+
.attributes(
26+
new ArbitraryCostUpsertRequestDataAttributes()
27+
.costsToAllocate(
28+
Arrays.asList(
29+
new ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems()
30+
.condition("is")
31+
.tag("account_id")
32+
.value("123456789"),
33+
new ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems()
34+
.condition("in")
35+
.tag("environment")
36+
.value("")
37+
.values(Arrays.asList("production", "staging"))))
38+
.enabled(true)
39+
.orderId(1L)
40+
.provider(Arrays.asList("aws", "gcp"))
41+
.ruleName("example-arbitrary-cost-rule")
42+
.strategy(
43+
new ArbitraryCostUpsertRequestDataAttributesStrategy()
44+
.allocatedByTagKeys(Arrays.asList("team", "environment"))
45+
.basedOnCosts(
46+
Arrays.asList(
47+
new ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems()
48+
.condition("is")
49+
.tag("service")
50+
.value("web-api"),
51+
new ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems()
52+
.condition("not in")
53+
.tag("team")
54+
.value("")
55+
.values(Arrays.asList("legacy", "deprecated"))))
56+
.granularity("daily")
57+
.method("proportional"))
58+
.type("shared"))
59+
.type(ArbitraryCostUpsertRequestDataType.UPSERT_ARBITRARY_RULE));
60+
61+
try {
62+
ArbitraryRuleResponse result = apiInstance.createArbitraryCostRule(body);
63+
System.out.println(result);
64+
} catch (ApiException e) {
65+
System.err.println("Exception when calling CloudCostManagementApi#createArbitraryCostRule");
66+
System.err.println("Status code: " + e.getCode());
67+
System.err.println("Reason: " + e.getResponseBody());
68+
System.err.println("Response headers: " + e.getResponseHeaders());
69+
e.printStackTrace();
70+
}
71+
}
72+
}

examples/v2/cloud-cost-management/CreateCostAWSCURConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import com.datadog.api.client.v2.model.AwsCURConfigPostRequest;
88
import com.datadog.api.client.v2.model.AwsCURConfigPostRequestAttributes;
99
import com.datadog.api.client.v2.model.AwsCURConfigPostRequestType;
10-
import com.datadog.api.client.v2.model.AwsCURConfigResponse;
10+
import com.datadog.api.client.v2.model.AwsCurConfigResponse;
1111

1212
public class Example {
1313
public static void main(String[] args) {
@@ -28,7 +28,7 @@ public static void main(String[] args) {
2828
.type(AwsCURConfigPostRequestType.AWS_CUR_CONFIG_POST_REQUEST));
2929

3030
try {
31-
AwsCURConfigResponse result = apiInstance.createCostAWSCURConfig(body);
31+
AwsCurConfigResponse result = apiInstance.createCostAWSCURConfig(body);
3232
System.out.println(result);
3333
} catch (ApiException e) {
3434
System.err.println("Exception when calling CloudCostManagementApi#createCostAWSCURConfig");

examples/v2/cloud-cost-management/CreateCostAzureUCConfigs.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ public static void main(String[] args) {
3535
.storageAccount("dd-storage-account")
3636
.storageContainer("dd-storage-container"))
3737
.clientId("1234abcd-1234-abcd-1234-1234abcd1234")
38-
.isEnabled(true)
3938
.scope("subscriptions/1234abcd-1234-abcd-1234-1234abcd1234"))
4039
.type(AzureUCConfigPostRequestType.AZURE_UC_CONFIG_POST_REQUEST));
4140

examples/v2/cloud-cost-management/CreateCostGCPUsageCostConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Create Cloud Cost Management GCP Usage Cost config returns "OK" response
1+
// Create Google Cloud Usage Cost config returns "OK" response
22

33
import com.datadog.api.client.ApiClient;
44
import com.datadog.api.client.ApiException;
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// Create ruleset 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.CreateRulesetRequest;
7+
import com.datadog.api.client.v2.model.CreateRulesetRequestData;
8+
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributes;
9+
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItems;
10+
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItemsQuery;
11+
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItemsQueryAddition;
12+
import com.datadog.api.client.v2.model.CreateRulesetRequestDataType;
13+
import com.datadog.api.client.v2.model.RulesetResp;
14+
import java.util.Collections;
15+
16+
public class Example {
17+
public static void main(String[] args) {
18+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
19+
CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);
20+
21+
CreateRulesetRequest body =
22+
new CreateRulesetRequest()
23+
.data(
24+
new CreateRulesetRequestData()
25+
.attributes(
26+
new CreateRulesetRequestDataAttributes()
27+
.enabled(true)
28+
.rules(
29+
Collections.singletonList(
30+
new CreateRulesetRequestDataAttributesRulesItems()
31+
.enabled(true)
32+
.mapping(null)
33+
.name("Add Cost Center Tag")
34+
.query(
35+
new CreateRulesetRequestDataAttributesRulesItemsQuery()
36+
.addition(
37+
new CreateRulesetRequestDataAttributesRulesItemsQueryAddition()
38+
.key("cost_center")
39+
.value("engineering"))
40+
.caseInsensitivity(false)
41+
.ifNotExists(true)
42+
.query(
43+
"""
44+
account_id:"123456789" AND service:"web-api"
45+
"""))
46+
.referenceTable(null))))
47+
.id("New Ruleset")
48+
.type(CreateRulesetRequestDataType.CREATE_RULESET));
49+
50+
try {
51+
RulesetResp result = apiInstance.createRuleset(body);
52+
System.out.println(result);
53+
} catch (ApiException e) {
54+
System.err.println("Exception when calling CloudCostManagementApi#createRuleset");
55+
System.err.println("Status code: " + e.getCode());
56+
System.err.println("Reason: " + e.getResponseBody());
57+
System.err.println("Response headers: " + e.getResponseHeaders());
58+
e.printStackTrace();
59+
}
60+
}
61+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Delete arbitrary cost rule returns "No Content" 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+
7+
public class Example {
8+
public static void main(String[] args) {
9+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
10+
CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);
11+
12+
try {
13+
apiInstance.deleteArbitraryCostRule(123456L);
14+
} catch (ApiException e) {
15+
System.err.println("Exception when calling CloudCostManagementApi#deleteArbitraryCostRule");
16+
System.err.println("Status code: " + e.getCode());
17+
System.err.println("Reason: " + e.getResponseBody());
18+
System.err.println("Response headers: " + e.getResponseHeaders());
19+
e.printStackTrace();
20+
}
21+
}
22+
}

examples/v2/cloud-cost-management/DeleteCostGCPUsageCostConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Delete Cloud Cost Management GCP Usage Cost config returns "No Content" response
1+
// Delete Google Cloud Usage Cost config returns "No Content" response
22

33
import com.datadog.api.client.ApiClient;
44
import com.datadog.api.client.ApiException;
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Delete ruleset returns "No Content" 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+
7+
public class Example {
8+
public static void main(String[] args) {
9+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
10+
CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);
11+
12+
try {
13+
apiInstance.deleteRuleset("1c5dae14-237d-4b9a-a515-aa55b3939142");
14+
} catch (ApiException e) {
15+
System.err.println("Exception when calling CloudCostManagementApi#deleteRuleset");
16+
System.err.println("Status code: " + e.getCode());
17+
System.err.println("Reason: " + e.getResponseBody());
18+
System.err.println("Response headers: " + e.getResponseHeaders());
19+
e.printStackTrace();
20+
}
21+
}
22+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Get arbitrary cost rule 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.ArbitraryRuleResponse;
7+
8+
public class Example {
9+
public static void main(String[] args) {
10+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);
12+
13+
try {
14+
ArbitraryRuleResponse result = apiInstance.getArbitraryCostRule(123456L);
15+
System.out.println(result);
16+
} catch (ApiException e) {
17+
System.err.println("Exception when calling CloudCostManagementApi#getArbitraryCostRule");
18+
System.err.println("Status code: " + e.getCode());
19+
System.err.println("Reason: " + e.getResponseBody());
20+
System.err.println("Response headers: " + e.getResponseHeaders());
21+
e.printStackTrace();
22+
}
23+
}
24+
}

0 commit comments

Comments
 (0)