Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
649 changes: 649 additions & 0 deletions .generator/schemas/v2/openapi.yaml

Large diffs are not rendered by default.

60 changes: 60 additions & 0 deletions examples/v2/cloud-cost-management/CreateUnitCost.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
"""
Create a unit cost returns "Created" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
from datadog_api_client.v2.model.unit_cost_create_request import UnitCostCreateRequest
from datadog_api_client.v2.model.unit_cost_create_request_data import UnitCostCreateRequestData
from datadog_api_client.v2.model.unit_cost_formula import UnitCostFormula
from datadog_api_client.v2.model.unit_cost_query import UnitCostQuery
from datadog_api_client.v2.model.unit_cost_query_definition import UnitCostQueryDefinition
from datadog_api_client.v2.model.unit_cost_request_attributes import UnitCostRequestAttributes
from datadog_api_client.v2.model.unit_cost_type import UnitCostType

body = UnitCostCreateRequest(
data=UnitCostCreateRequestData(
attributes=UnitCostRequestAttributes(
denominator_query=UnitCostQueryDefinition(
formulas=[
UnitCostFormula([("formula", "numerator")]),
],
queries=[
UnitCostQuery(
[
("data_source", "cloud_cost"),
("name", "numerator"),
("query", "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"),
]
),
],
),
description="Amortized cloud spend divided by the number of active users.",
name="Cloud cost per active user",
numerator_query=UnitCostQueryDefinition(
formulas=[
UnitCostFormula([("formula", "numerator")]),
],
queries=[
UnitCostQuery(
[
("data_source", "cloud_cost"),
("name", "numerator"),
("query", "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"),
]
),
],
),
unit_label="user",
),
type=UnitCostType.UNIT_COST,
),
)

configuration = Configuration()
configuration.unstable_operations["create_unit_cost"] = True
with ApiClient(configuration) as api_client:
api_instance = CloudCostManagementApi(api_client)
response = api_instance.create_unit_cost(body=body)

print(response)
15 changes: 15 additions & 0 deletions examples/v2/cloud-cost-management/DeleteUnitCost.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""
Delete a unit cost returns "No Content" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
from uuid import UUID

configuration = Configuration()
configuration.unstable_operations["delete_unit_cost"] = True
with ApiClient(configuration) as api_client:
api_instance = CloudCostManagementApi(api_client)
api_instance.delete_unit_cost(
unit_cost_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"),
)
17 changes: 17 additions & 0 deletions examples/v2/cloud-cost-management/GetUnitCost.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
"""
Get a unit cost returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
from uuid import UUID

configuration = Configuration()
configuration.unstable_operations["get_unit_cost"] = True
with ApiClient(configuration) as api_client:
api_instance = CloudCostManagementApi(api_client)
response = api_instance.get_unit_cost(
unit_cost_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"),
)

print(response)
14 changes: 14 additions & 0 deletions examples/v2/cloud-cost-management/ListUnitCosts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""
List unit costs returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi

configuration = Configuration()
configuration.unstable_operations["list_unit_costs"] = True
with ApiClient(configuration) as api_client:
api_instance = CloudCostManagementApi(api_client)
response = api_instance.list_unit_costs()

print(response)
62 changes: 62 additions & 0 deletions examples/v2/cloud-cost-management/UpdateUnitCost.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
"""
Update a unit cost returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
from datadog_api_client.v2.model.unit_cost_formula import UnitCostFormula
from datadog_api_client.v2.model.unit_cost_query import UnitCostQuery
from datadog_api_client.v2.model.unit_cost_query_definition import UnitCostQueryDefinition
from datadog_api_client.v2.model.unit_cost_request_attributes import UnitCostRequestAttributes
from datadog_api_client.v2.model.unit_cost_type import UnitCostType
from datadog_api_client.v2.model.unit_cost_update_request import UnitCostUpdateRequest
from datadog_api_client.v2.model.unit_cost_update_request_data import UnitCostUpdateRequestData
from uuid import UUID

body = UnitCostUpdateRequest(
data=UnitCostUpdateRequestData(
attributes=UnitCostRequestAttributes(
denominator_query=UnitCostQueryDefinition(
formulas=[
UnitCostFormula([("formula", "numerator")]),
],
queries=[
UnitCostQuery(
[
("data_source", "cloud_cost"),
("name", "numerator"),
("query", "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"),
]
),
],
),
description="Amortized cloud spend divided by the number of active users.",
name="Cloud cost per active user",
numerator_query=UnitCostQueryDefinition(
formulas=[
UnitCostFormula([("formula", "numerator")]),
],
queries=[
UnitCostQuery(
[
("data_source", "cloud_cost"),
("name", "numerator"),
("query", "sum:aws.cost.net.amortized.shared.resources.allocated{*}.rollup(sum, daily)"),
]
),
],
),
unit_label="user",
),
id=UUID("64aecd58-e355-4f07-9c3a-56ff6bda6cd8"),
type=UnitCostType.UNIT_COST,
),
)

configuration = Configuration()
configuration.unstable_operations["update_unit_cost"] = True
with ApiClient(configuration) as api_client:
api_instance = CloudCostManagementApi(api_client)
response = api_instance.update_unit_cost(unit_cost_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body)

print(response)
5 changes: 5 additions & 0 deletions src/datadog_api_client/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -454,6 +454,8 @@ def __init__(
"v2.get_code_coverage_branch_summary": False,
"v2.get_code_coverage_commit_summary": False,
"v2.get_rule_based_view": False,
"v2.create_unit_cost": False,
"v2.delete_unit_cost": False,
"v2.get_commitments_commitment_list": False,
"v2.get_commitments_coverage_scalar": False,
"v2.get_commitments_coverage_timeseries": False,
Expand All @@ -464,13 +466,16 @@ def __init__(
"v2.get_commitments_utilization_timeseries": False,
"v2.get_cost_anomaly": False,
"v2.get_cost_tag_metadata_currency": False,
"v2.get_unit_cost": False,
"v2.list_cost_anomalies": False,
"v2.list_cost_tag_key_sources": False,
"v2.list_cost_tag_metadata": False,
"v2.list_cost_tag_metadata_metrics": False,
"v2.list_cost_tag_metadata_months": False,
"v2.list_cost_tag_metadata_orchestrators": False,
"v2.list_unit_costs": False,
"v2.search_cost_recommendations": False,
"v2.update_unit_cost": False,
"v2.create_quotas": False,
"v2.delete_quota": False,
"v2.list_quotas": False,
Expand Down
Loading
Loading