Skip to content

Commit 2d19d28

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 (#2831)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent b7e9f9e commit 2d19d28

File tree

181 files changed

+10279
-396
lines changed

Some content is hidden

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

181 files changed

+10279
-396
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 2506 additions & 196 deletions
Large diffs are not rendered by default.

docs/datadog_api_client.v2.model.rst

Lines changed: 588 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
"""
2+
Create arbitrary cost rule returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
7+
from datadog_api_client.v2.model.arbitrary_cost_upsert_request import ArbitraryCostUpsertRequest
8+
from datadog_api_client.v2.model.arbitrary_cost_upsert_request_data import ArbitraryCostUpsertRequestData
9+
from datadog_api_client.v2.model.arbitrary_cost_upsert_request_data_attributes import (
10+
ArbitraryCostUpsertRequestDataAttributes,
11+
)
12+
from datadog_api_client.v2.model.arbitrary_cost_upsert_request_data_attributes_costs_to_allocate_items import (
13+
ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems,
14+
)
15+
from datadog_api_client.v2.model.arbitrary_cost_upsert_request_data_attributes_strategy import (
16+
ArbitraryCostUpsertRequestDataAttributesStrategy,
17+
)
18+
from datadog_api_client.v2.model.arbitrary_cost_upsert_request_data_attributes_strategy_based_on_costs_items import (
19+
ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems,
20+
)
21+
from datadog_api_client.v2.model.arbitrary_cost_upsert_request_data_type import ArbitraryCostUpsertRequestDataType
22+
23+
body = ArbitraryCostUpsertRequest(
24+
data=ArbitraryCostUpsertRequestData(
25+
attributes=ArbitraryCostUpsertRequestDataAttributes(
26+
costs_to_allocate=[
27+
ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems(
28+
condition="is",
29+
tag="account_id",
30+
value="123456789",
31+
values=[],
32+
),
33+
ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems(
34+
condition="in",
35+
tag="environment",
36+
value="",
37+
values=[
38+
"production",
39+
"staging",
40+
],
41+
),
42+
],
43+
enabled=True,
44+
order_id=1,
45+
provider=[
46+
"aws",
47+
"gcp",
48+
],
49+
rule_name="example-arbitrary-cost-rule",
50+
strategy=ArbitraryCostUpsertRequestDataAttributesStrategy(
51+
allocated_by_tag_keys=[
52+
"team",
53+
"environment",
54+
],
55+
based_on_costs=[
56+
ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems(
57+
condition="is",
58+
tag="service",
59+
value="web-api",
60+
values=[],
61+
),
62+
ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems(
63+
condition="not in",
64+
tag="team",
65+
value="",
66+
values=[
67+
"legacy",
68+
"deprecated",
69+
],
70+
),
71+
],
72+
granularity="daily",
73+
method="proportional",
74+
),
75+
type="shared",
76+
),
77+
type=ArbitraryCostUpsertRequestDataType.UPSERT_ARBITRARY_RULE,
78+
),
79+
)
80+
81+
configuration = Configuration()
82+
with ApiClient(configuration) as api_client:
83+
api_instance = CloudCostManagementApi(api_client)
84+
response = api_instance.create_arbitrary_cost_rule(body=body)
85+
86+
print(response)

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
storage_container="dd-storage-container",
2828
),
2929
client_id="1234abcd-1234-abcd-1234-1234abcd1234",
30-
is_enabled=True,
3130
scope="subscriptions/1234abcd-1234-abcd-1234-1234abcd1234",
3231
),
3332
type=AzureUCConfigPostRequestType.AZURE_UC_CONFIG_POST_REQUEST,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Create Cloud Cost Management GCP Usage Cost config returns "OK" response
2+
Create Google Cloud Usage Cost config returns "OK" response
33
"""
44

55
from datadog_api_client import ApiClient, Configuration
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
"""
2+
Create ruleset returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
7+
from datadog_api_client.v2.model.create_ruleset_request import CreateRulesetRequest
8+
from datadog_api_client.v2.model.create_ruleset_request_data import CreateRulesetRequestData
9+
from datadog_api_client.v2.model.create_ruleset_request_data_attributes import CreateRulesetRequestDataAttributes
10+
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items import (
11+
CreateRulesetRequestDataAttributesRulesItems,
12+
)
13+
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items_query import (
14+
CreateRulesetRequestDataAttributesRulesItemsQuery,
15+
)
16+
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items_query_addition import (
17+
CreateRulesetRequestDataAttributesRulesItemsQueryAddition,
18+
)
19+
from datadog_api_client.v2.model.create_ruleset_request_data_type import CreateRulesetRequestDataType
20+
21+
body = CreateRulesetRequest(
22+
data=CreateRulesetRequestData(
23+
attributes=CreateRulesetRequestDataAttributes(
24+
enabled=True,
25+
rules=[
26+
CreateRulesetRequestDataAttributesRulesItems(
27+
enabled=True,
28+
mapping=None,
29+
name="Add Cost Center Tag",
30+
query=CreateRulesetRequestDataAttributesRulesItemsQuery(
31+
addition=CreateRulesetRequestDataAttributesRulesItemsQueryAddition(
32+
key="cost_center",
33+
value="engineering",
34+
),
35+
case_insensitivity=False,
36+
if_not_exists=True,
37+
query='account_id:"123456789" AND service:"web-api"',
38+
),
39+
reference_table=None,
40+
),
41+
],
42+
),
43+
id="New Ruleset",
44+
type=CreateRulesetRequestDataType.CREATE_RULESET,
45+
),
46+
)
47+
48+
configuration = Configuration()
49+
with ApiClient(configuration) as api_client:
50+
api_instance = CloudCostManagementApi(api_client)
51+
response = api_instance.create_ruleset(body=body)
52+
53+
print(response)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"""
2+
Delete arbitrary cost rule returns "No Content" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
7+
8+
configuration = Configuration()
9+
with ApiClient(configuration) as api_client:
10+
api_instance = CloudCostManagementApi(api_client)
11+
api_instance.delete_arbitrary_cost_rule(
12+
rule_id=123456,
13+
)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Delete Cloud Cost Management GCP Usage Cost config returns "No Content" response
2+
Delete Google Cloud Usage Cost config returns "No Content" response
33
"""
44

55
from datadog_api_client import ApiClient, Configuration
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"""
2+
Delete ruleset returns "No Content" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
7+
8+
configuration = Configuration()
9+
with ApiClient(configuration) as api_client:
10+
api_instance = CloudCostManagementApi(api_client)
11+
api_instance.delete_ruleset(
12+
ruleset_id="1c5dae14-237d-4b9a-a515-aa55b3939142",
13+
)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""
2+
Get arbitrary cost rule returns "OK" response
3+
"""
4+
5+
from datadog_api_client import ApiClient, Configuration
6+
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
7+
8+
configuration = Configuration()
9+
with ApiClient(configuration) as api_client:
10+
api_instance = CloudCostManagementApi(api_client)
11+
response = api_instance.get_arbitrary_cost_rule(
12+
rule_id=123456,
13+
)
14+
15+
print(response)

0 commit comments

Comments
 (0)