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
4,621 changes: 4,443 additions & 178 deletions .generator/schemas/v2/openapi.yaml

Large diffs are not rendered by default.

1,217 changes: 1,088 additions & 129 deletions docs/datadog_api_client.v2.model.rst

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
"""
Update custom attribute config returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_attribute_api import CaseManagementAttributeApi
from datadog_api_client.v2.model.custom_attribute_config_resource_type import CustomAttributeConfigResourceType
from datadog_api_client.v2.model.custom_attribute_config_update import CustomAttributeConfigUpdate
from datadog_api_client.v2.model.custom_attribute_config_update_attributes import CustomAttributeConfigUpdateAttributes
from datadog_api_client.v2.model.custom_attribute_config_update_request import CustomAttributeConfigUpdateRequest
from datadog_api_client.v2.model.custom_attribute_select_option import CustomAttributeSelectOption
from datadog_api_client.v2.model.custom_attribute_type import CustomAttributeType
from datadog_api_client.v2.model.custom_attribute_type_data import CustomAttributeTypeData

body = CustomAttributeConfigUpdateRequest(
data=CustomAttributeConfigUpdate(
attributes=CustomAttributeConfigUpdateAttributes(
description="Updated description.",
display_name="AWS Region",
type=CustomAttributeType.NUMBER,
type_data=CustomAttributeTypeData(
options=[
CustomAttributeSelectOption(
value="us-east-1",
),
],
),
),
type=CustomAttributeConfigResourceType.CUSTOM_ATTRIBUTE,
),
)

configuration = Configuration()
configuration.unstable_operations["update_custom_attribute_config"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementAttributeApi(api_client)
response = api_instance.update_custom_attribute_config(
case_type_id="case_type_id", custom_attribute_id="custom_attribute_id", body=body
)

print(response)
29 changes: 29 additions & 0 deletions examples/v2/case-management-type/UpdateCaseType.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
"""
Update a case type returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_type_api import CaseManagementTypeApi
from datadog_api_client.v2.model.case_type_resource_attributes import CaseTypeResourceAttributes
from datadog_api_client.v2.model.case_type_resource_type import CaseTypeResourceType
from datadog_api_client.v2.model.case_type_update import CaseTypeUpdate
from datadog_api_client.v2.model.case_type_update_request import CaseTypeUpdateRequest

body = CaseTypeUpdateRequest(
data=CaseTypeUpdate(
attributes=CaseTypeResourceAttributes(
description="Investigations done in case management",
emoji="🕵🏻\u200d♂️",
name="Investigation",
),
type=CaseTypeResourceType.CASE_TYPE,
),
)

configuration = Configuration()
configuration.unstable_operations["update_case_type"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementTypeApi(api_client)
response = api_instance.update_case_type(case_type_id="case_type_id", body=body)

print(response)
35 changes: 35 additions & 0 deletions examples/v2/case-management/AddCaseInsights.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"""
Add insights to a case returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi
from datadog_api_client.v2.model.case_insight import CaseInsight
from datadog_api_client.v2.model.case_insight_type import CaseInsightType
from datadog_api_client.v2.model.case_insights_attributes import CaseInsightsAttributes
from datadog_api_client.v2.model.case_insights_data import CaseInsightsData
from datadog_api_client.v2.model.case_insights_request import CaseInsightsRequest
from datadog_api_client.v2.model.case_resource_type import CaseResourceType

body = CaseInsightsRequest(
data=CaseInsightsData(
attributes=CaseInsightsAttributes(
insights=[
CaseInsight(
ref="/monitors/12345?q=total",
resource_id="12345",
type=CaseInsightType.SECURITY_SIGNAL,
),
],
),
type=CaseResourceType.CASE,
),
)

configuration = Configuration()
configuration.unstable_operations["add_case_insights"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementApi(api_client)
response = api_instance.add_case_insights(case_id="case_id", body=body)

print(response)
34 changes: 34 additions & 0 deletions examples/v2/case-management/AggregateCases.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
"""
Aggregate cases returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi
from datadog_api_client.v2.model.case_aggregate_group_by import CaseAggregateGroupBy
from datadog_api_client.v2.model.case_aggregate_request import CaseAggregateRequest
from datadog_api_client.v2.model.case_aggregate_request_attributes import CaseAggregateRequestAttributes
from datadog_api_client.v2.model.case_aggregate_request_data import CaseAggregateRequestData
from datadog_api_client.v2.model.case_aggregate_resource_type import CaseAggregateResourceType

body = CaseAggregateRequest(
data=CaseAggregateRequestData(
attributes=CaseAggregateRequestAttributes(
group_by=CaseAggregateGroupBy(
groups=[
"status",
],
limit=14,
),
query_filter="service:case-api",
),
type=CaseAggregateResourceType.AGGREGATE,
),
)

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

print(response)
33 changes: 33 additions & 0 deletions examples/v2/case-management/BulkUpdateCases.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
"""
Bulk update cases returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi
from datadog_api_client.v2.model.case_bulk_action_type import CaseBulkActionType
from datadog_api_client.v2.model.case_bulk_resource_type import CaseBulkResourceType
from datadog_api_client.v2.model.case_bulk_update_request import CaseBulkUpdateRequest
from datadog_api_client.v2.model.case_bulk_update_request_attributes import CaseBulkUpdateRequestAttributes
from datadog_api_client.v2.model.case_bulk_update_request_data import CaseBulkUpdateRequestData

body = CaseBulkUpdateRequest(
data=CaseBulkUpdateRequestData(
attributes=CaseBulkUpdateRequestAttributes(
case_ids=[
"case-id-1",
"case-id-2",
],
payload=dict(
priority="P1",
),
type=CaseBulkActionType.PRIORITY,
),
type=CaseBulkResourceType.BULK,
),
)

configuration = Configuration()
configuration.unstable_operations["bulk_update_cases"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementApi(api_client)
api_instance.bulk_update_cases(body=body)
14 changes: 14 additions & 0 deletions examples/v2/case-management/CountCases.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""
Count cases returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi

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

print(response)
45 changes: 45 additions & 0 deletions examples/v2/case-management/CreateCaseAutomationRule.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
"""
Create an automation rule returns "Created" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi
from datadog_api_client.v2.model.automation_rule_action import AutomationRuleAction
from datadog_api_client.v2.model.automation_rule_action_data import AutomationRuleActionData
from datadog_api_client.v2.model.automation_rule_action_type import AutomationRuleActionType
from datadog_api_client.v2.model.automation_rule_create import AutomationRuleCreate
from datadog_api_client.v2.model.automation_rule_create_attributes import AutomationRuleCreateAttributes
from datadog_api_client.v2.model.automation_rule_create_request import AutomationRuleCreateRequest
from datadog_api_client.v2.model.automation_rule_trigger import AutomationRuleTrigger
from datadog_api_client.v2.model.automation_rule_trigger_data import AutomationRuleTriggerData
from datadog_api_client.v2.model.automation_rule_trigger_type import AutomationRuleTriggerType
from datadog_api_client.v2.model.case_automation_rule_resource_type import CaseAutomationRuleResourceType
from datadog_api_client.v2.model.case_automation_rule_state import CaseAutomationRuleState

body = AutomationRuleCreateRequest(
data=AutomationRuleCreate(
attributes=AutomationRuleCreateAttributes(
action=AutomationRuleAction(
data=AutomationRuleActionData(
handle="workflow-handle-123",
),
type=AutomationRuleActionType.EXECUTE_WORKFLOW,
),
name="Auto-assign workflow",
state=CaseAutomationRuleState.ENABLED,
trigger=AutomationRuleTrigger(
data=AutomationRuleTriggerData(),
type=AutomationRuleTriggerType.CASE_CREATED,
),
),
type=CaseAutomationRuleResourceType.RULE,
),
)

configuration = Configuration()
configuration.unstable_operations["create_case_automation_rule"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementApi(api_client)
response = api_instance.create_case_automation_rule(project_id="project_id", body=body)

print(response)
31 changes: 31 additions & 0 deletions examples/v2/case-management/CreateCaseLink.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
"""
Create a case link returns "Created" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi
from datadog_api_client.v2.model.case_link_attributes import CaseLinkAttributes
from datadog_api_client.v2.model.case_link_create import CaseLinkCreate
from datadog_api_client.v2.model.case_link_create_request import CaseLinkCreateRequest
from datadog_api_client.v2.model.case_link_resource_type import CaseLinkResourceType

body = CaseLinkCreateRequest(
data=CaseLinkCreate(
attributes=CaseLinkAttributes(
child_entity_id="4417921d-0866-4a38-822c-6f2a0f65f77d",
child_entity_type="CASE",
parent_entity_id="bf0cbac6-4c16-4cfb-b6bf-ca5e0ec37a4f",
parent_entity_type="CASE",
relationship="BLOCKS",
),
type=CaseLinkResourceType.LINK,
),
)

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

print(response)
29 changes: 29 additions & 0 deletions examples/v2/case-management/CreateCaseView.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
"""
Create a case view returns "Created" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi
from datadog_api_client.v2.model.case_view_create import CaseViewCreate
from datadog_api_client.v2.model.case_view_create_attributes import CaseViewCreateAttributes
from datadog_api_client.v2.model.case_view_create_request import CaseViewCreateRequest
from datadog_api_client.v2.model.case_view_resource_type import CaseViewResourceType

body = CaseViewCreateRequest(
data=CaseViewCreate(
attributes=CaseViewCreateAttributes(
name="Open bugs",
project_id="e555e290-ed65-49bd-ae18-8acbfcf18db7",
query="status:open type:bug",
),
type=CaseViewResourceType.VIEW,
),
)

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

print(response)
32 changes: 32 additions & 0 deletions examples/v2/case-management/CreateMaintenanceWindow.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
"""
Create a maintenance window returns "Created" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi
from datadog_api_client.v2.model.maintenance_window_create import MaintenanceWindowCreate
from datadog_api_client.v2.model.maintenance_window_create_attributes import MaintenanceWindowCreateAttributes
from datadog_api_client.v2.model.maintenance_window_create_request import MaintenanceWindowCreateRequest
from datadog_api_client.v2.model.maintenance_window_resource_type import MaintenanceWindowResourceType
from datetime import datetime
from dateutil.tz import tzutc

body = MaintenanceWindowCreateRequest(
data=MaintenanceWindowCreate(
attributes=MaintenanceWindowCreateAttributes(
end_at=datetime(2026, 6, 1, 6, 0, tzinfo=tzutc()),
name="Weekly maintenance",
query="project:SEC",
start_at=datetime(2026, 6, 1, 0, 0, tzinfo=tzutc()),
),
type=MaintenanceWindowResourceType.MAINTENANCE_WINDOW,
),
)

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

print(response)
15 changes: 15 additions & 0 deletions examples/v2/case-management/DeleteCaseAutomationRule.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"""
Delete an automation rule returns "No Content" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi

configuration = Configuration()
configuration.unstable_operations["delete_case_automation_rule"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementApi(api_client)
api_instance.delete_case_automation_rule(
project_id="project_id",
rule_id="rule_id",
)
14 changes: 14 additions & 0 deletions examples/v2/case-management/DeleteCaseLink.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""
Delete a case link returns "No Content" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi

configuration = Configuration()
configuration.unstable_operations["delete_case_link"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementApi(api_client)
api_instance.delete_case_link(
link_id="804cd682-55f6-4541-ab00-b608b282ea7d",
)
14 changes: 14 additions & 0 deletions examples/v2/case-management/DeleteCaseView.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""
Delete a case view returns "No Content" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi

configuration = Configuration()
configuration.unstable_operations["delete_case_view"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementApi(api_client)
api_instance.delete_case_view(
view_id="view_id",
)
14 changes: 14 additions & 0 deletions examples/v2/case-management/DeleteMaintenanceWindow.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
"""
Delete a maintenance window returns "No Content" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.case_management_api import CaseManagementApi

configuration = Configuration()
configuration.unstable_operations["delete_maintenance_window"] = True
with ApiClient(configuration) as api_client:
api_instance = CaseManagementApi(api_client)
api_instance.delete_maintenance_window(
maintenance_window_id="maintenance_window_id",
)
Loading
Loading