From 99a6c997e8447df9f9e2e354cd61ea123ef82a97 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 1 Jun 2026 08:30:17 +0000 Subject: [PATCH] Regenerate client from commit 0c82d0f of spec repo --- .generator/schemas/v2/openapi.yaml | 4356 +++++++++++++++++ docs/datadog_api_client.v2.model.rst | 1615 ++++-- examples/v2/incidents/PatchIncidentImpact.py | 35 + examples/v2/incidents/UpdateIncidentImpact.py | 35 + src/datadog_api_client/configuration.py | 37 + .../v2/api/incidents_api.py | 1939 +++++++- ..._ai_postmortem_data_attributes_response.py | 88 + .../incident_ai_postmortem_data_response.py | 65 + .../model/incident_ai_postmortem_response.py | 40 + .../incident_ai_postmortem_response_type.py | 37 + ...t_configuration_data_attributes_request.py | 64 + ..._configuration_data_attributes_response.py | 87 + .../incident_configuration_data_request.py | 60 + .../incident_configuration_data_response.py | 77 + ...iguration_patch_data_attributes_request.py | 64 + ...cident_configuration_patch_data_request.py | 68 + .../incident_configuration_patch_request.py | 44 + .../incident_configuration_relationships.py | 54 + .../model/incident_configuration_request.py | 40 + .../model/incident_configuration_response.py | 59 + .../v2/model/incident_configuration_type.py | 35 + ...te_on_call_page_data_attributes_request.py | 88 + ...cident_create_on_call_page_data_request.py | 59 + .../incident_create_on_call_page_request.py | 44 + ...e_from_incident_data_attributes_request.py | 96 + ..._create_page_from_incident_data_request.py | 59 + ...ident_create_page_from_incident_request.py | 44 + ...incident_create_page_from_incident_type.py | 35 + ...t_configuration_data_attributes_request.py | 53 + ..._configuration_data_attributes_response.py | 73 + ..._google_chat_configuration_data_request.py | 72 + ...google_chat_configuration_data_response.py | 83 + ...iguration_patch_data_attributes_request.py | 64 + ...e_chat_configuration_patch_data_request.py | 70 + ...google_chat_configuration_patch_request.py | 44 + ...google_chat_configuration_relationships.py | 64 + ...hat_configuration_relationships_request.py | 40 + ...ident_google_chat_configuration_request.py | 44 + ...dent_google_chat_configuration_response.py | 63 + ...incident_google_chat_configuration_type.py | 37 + ...t_configuration_data_attributes_request.py | 39 + ..._configuration_data_attributes_response.py | 63 + ..._google_meet_configuration_data_request.py | 72 + ...google_meet_configuration_data_response.py | 83 + ...iguration_patch_data_attributes_request.py | 48 + ...e_meet_configuration_patch_data_request.py | 70 + ...google_meet_configuration_patch_request.py | 44 + ...google_meet_configuration_relationships.py | 64 + ...eet_configuration_relationships_request.py | 40 + ...ident_google_meet_configuration_request.py | 44 + ...dent_google_meet_configuration_response.py | 63 + ...incident_google_meet_configuration_type.py | 37 + .../v2/model/incident_impact_field_choice.py | 49 + ...nt_impact_field_data_attributes_request.py | 79 + ...t_impact_field_data_attributes_response.py | 79 + .../incident_impact_field_data_request.py | 70 + .../incident_impact_field_data_response.py | 77 + .../incident_impact_field_relationships.py | 64 + ...dent_impact_field_relationships_request.py | 40 + .../v2/model/incident_impact_field_request.py | 40 + .../model/incident_impact_field_response.py | 59 + .../v2/model/incident_impact_field_type.py | 35 + .../model/incident_impact_field_value_type.py | 53 + .../model/incident_impact_fields_response.py | 59 + ...nt_on_call_page_data_attributes_request.py | 62 + .../incident_on_call_page_data_request.py | 67 + .../incident_on_call_page_link_request.py | 40 + .../v2/model/incident_on_call_page_target.py | 39 + .../v2/model/incident_on_call_page_type.py | 35 + ...t_org_settings_data_attributes_response.py | 53 + .../incident_org_settings_data_response.py | 77 + .../incident_org_settings_list_response.py | 40 + .../v2/model/incident_org_settings_meta.py | 17 + .../incident_org_settings_relationships.py | 42 + .../model/incident_org_settings_response.py | 40 + .../v2/model/incident_org_settings_type.py | 35 + .../v2/model/incident_page_role_reference.py | 47 + .../v2/model/incident_page_role_type.py | 38 + .../v2/model/incident_page_target.py | 46 + .../v2/model/incident_page_target_type.py | 41 + .../model/incident_page_uuid_data_response.py | 47 + .../v2/model/incident_page_uuid_response.py | 40 + .../v2/model/incident_page_uuid_type.py | 35 + ...dent_responder_data_attributes_response.py | 106 + .../model/incident_responder_data_request.py | 52 + .../model/incident_responder_data_response.py | 77 + .../model/incident_responder_relationships.py | 79 + ...ncident_responder_relationships_request.py | 40 + .../v2/model/incident_responder_request.py | 40 + .../v2/model/incident_responder_response.py | 56 + ...onder_role_assignment_relationship_data.py | 40 + ...responder_role_assignments_relationship.py | 48 + .../v2/model/incident_responder_type.py | 35 + .../incident_responder_user_relationship.py | 44 + ...cident_responder_user_relationship_data.py | 40 + .../v2/model/incident_responders_response.py | 59 + .../v2/model/incident_rule_condition.py | 40 + .../incident_rule_data_attributes_request.py | 123 + .../incident_rule_data_attributes_response.py | 171 + .../v2/model/incident_rule_data_request.py | 48 + .../v2/model/incident_rule_data_response.py | 59 + .../v2/model/incident_rule_execution_type.py | 38 + ...dent_rule_patch_data_attributes_request.py | 82 + .../model/incident_rule_patch_data_request.py | 68 + .../v2/model/incident_rule_patch_request.py | 40 + .../v2/model/incident_rule_query_condition.py | 49 + .../v2/model/incident_rule_request.py | 40 + .../v2/model/incident_rule_response.py | 40 + .../v2/model/incident_rule_response_type.py | 35 + .../v2/model/incident_rule_task_id_type.py | 72 + .../v2/model/incident_rule_trigger_type.py | 41 + .../v2/model/incident_rule_type.py | 35 + .../v2/model/incident_rules_response.py | 40 + ...vice_now_record_data_attributes_request.py | 62 + ...ncident_service_now_record_data_request.py | 59 + ...incident_service_now_record_prompt_type.py | 37 + .../incident_service_now_record_request.py | 42 + ...estamp_override_data_attributes_request.py | 47 + ...stamp_override_data_attributes_response.py | 84 + ...ncident_timestamp_override_data_request.py | 54 + ...cident_timestamp_override_data_response.py | 81 + ..._override_patch_data_attributes_request.py | 55 + ...t_timestamp_override_patch_data_request.py | 68 + ...cident_timestamp_override_patch_request.py | 44 + ...cident_timestamp_override_relationships.py | 54 + .../incident_timestamp_override_request.py | 44 + .../incident_timestamp_override_response.py | 63 + .../model/incident_timestamp_override_type.py | 37 + .../incident_timestamp_overrides_response.py | 63 + .../v2/model/incident_timestamp_type.py | 44 + ...er_defined_role_data_attributes_request.py | 62 + ...r_defined_role_data_attributes_response.py | 77 + ...incident_user_defined_role_data_request.py | 70 + ...ncident_user_defined_role_data_response.py | 81 + ...defined_role_incident_type_relationship.py | 44 + ...ed_role_incident_type_relationship_data.py | 40 + ...ncident_user_defined_role_included_item.py | 49 + ...ined_role_patch_data_attributes_request.py | 63 + ...nt_user_defined_role_patch_data_request.py | 68 + ...ncident_user_defined_role_patch_request.py | 44 + .../incident_user_defined_role_policy.py | 33 + ...user_defined_role_relationships_request.py | 44 + ...ser_defined_role_relationships_response.py | 68 + .../incident_user_defined_role_request.py | 42 + .../incident_user_defined_role_response.py | 64 + .../model/incident_user_defined_role_type.py | 35 + .../incident_user_defined_roles_response.py | 64 + src/datadog_api_client/v2/models/__init__.py | 384 ++ tests/v2/features/incidents.feature | 60 + tests/v2/features/undo.json | 12 + 150 files changed, 15956 insertions(+), 366 deletions(-) create mode 100644 examples/v2/incidents/PatchIncidentImpact.py create mode 100644 examples/v2/incidents/UpdateIncidentImpact.py create mode 100644 src/datadog_api_client/v2/model/incident_ai_postmortem_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_ai_postmortem_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_ai_postmortem_response.py create mode 100644 src/datadog_api_client/v2/model/incident_ai_postmortem_response_type.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_patch_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_patch_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_patch_request.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_relationships.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_request.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_response.py create mode 100644 src/datadog_api_client/v2/model/incident_configuration_type.py create mode 100644 src/datadog_api_client/v2/model/incident_create_on_call_page_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_create_on_call_page_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_create_on_call_page_request.py create mode 100644 src/datadog_api_client/v2/model/incident_create_page_from_incident_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_create_page_from_incident_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_create_page_from_incident_request.py create mode 100644 src/datadog_api_client/v2/model/incident_create_page_from_incident_type.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_relationships.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_relationships_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_response.py create mode 100644 src/datadog_api_client/v2/model/incident_google_chat_configuration_type.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_relationships.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_relationships_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_request.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_response.py create mode 100644 src/datadog_api_client/v2/model/incident_google_meet_configuration_type.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_choice.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_relationships.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_relationships_request.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_request.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_response.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_type.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_field_value_type.py create mode 100644 src/datadog_api_client/v2/model/incident_impact_fields_response.py create mode 100644 src/datadog_api_client/v2/model/incident_on_call_page_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_on_call_page_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_on_call_page_link_request.py create mode 100644 src/datadog_api_client/v2/model/incident_on_call_page_target.py create mode 100644 src/datadog_api_client/v2/model/incident_on_call_page_type.py create mode 100644 src/datadog_api_client/v2/model/incident_org_settings_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_org_settings_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_org_settings_list_response.py create mode 100644 src/datadog_api_client/v2/model/incident_org_settings_meta.py create mode 100644 src/datadog_api_client/v2/model/incident_org_settings_relationships.py create mode 100644 src/datadog_api_client/v2/model/incident_org_settings_response.py create mode 100644 src/datadog_api_client/v2/model/incident_org_settings_type.py create mode 100644 src/datadog_api_client/v2/model/incident_page_role_reference.py create mode 100644 src/datadog_api_client/v2/model/incident_page_role_type.py create mode 100644 src/datadog_api_client/v2/model/incident_page_target.py create mode 100644 src/datadog_api_client/v2/model/incident_page_target_type.py create mode 100644 src/datadog_api_client/v2/model/incident_page_uuid_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_page_uuid_response.py create mode 100644 src/datadog_api_client/v2/model/incident_page_uuid_type.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_relationships.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_relationships_request.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_request.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_response.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_role_assignment_relationship_data.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_role_assignments_relationship.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_type.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_user_relationship.py create mode 100644 src/datadog_api_client/v2/model/incident_responder_user_relationship_data.py create mode 100644 src/datadog_api_client/v2/model/incident_responders_response.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_condition.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_execution_type.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_patch_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_patch_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_patch_request.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_query_condition.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_request.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_response.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_response_type.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_task_id_type.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_trigger_type.py create mode 100644 src/datadog_api_client/v2/model/incident_rule_type.py create mode 100644 src/datadog_api_client/v2/model/incident_rules_response.py create mode 100644 src/datadog_api_client/v2/model/incident_service_now_record_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_service_now_record_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_service_now_record_prompt_type.py create mode 100644 src/datadog_api_client/v2/model/incident_service_now_record_request.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_patch_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_patch_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_patch_request.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_relationships.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_request.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_response.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_override_type.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_overrides_response.py create mode 100644 src/datadog_api_client/v2/model/incident_timestamp_type.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_data_attributes_response.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_data_response.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_incident_type_relationship.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_incident_type_relationship_data.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_included_item.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_patch_data_attributes_request.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_patch_data_request.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_patch_request.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_policy.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_relationships_request.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_relationships_response.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_request.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_response.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_role_type.py create mode 100644 src/datadog_api_client/v2/model/incident_user_defined_roles_response.py diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index b2e0e022c9..fba8f21df2 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -675,6 +675,22 @@ components: required: true schema: type: string + IncidentGoogleChatConfigurationIDPathParameter: + description: The UUID of the Google Chat configuration. + in: path + name: id + required: true + schema: + format: uuid + type: string + IncidentGoogleMeetConfigurationIDPathParameter: + description: The UUID of the Google Meet configuration. + in: path + name: id + required: true + schema: + format: uuid + type: string IncidentIDPathParameter: description: The UUID of the incident. in: path @@ -682,6 +698,14 @@ components: required: true schema: type: string + IncidentImpactFieldIDPathParameter: + description: The UUID of the impact field. + in: path + name: field_id + required: true + schema: + format: uuid + type: string IncidentImpactIDPathParameter: description: The UUID of the incident impact. in: path @@ -774,6 +798,30 @@ components: schema: example: "created_by_user,incident_type" type: string + IncidentOrgSettingsTypeIDPathParameter: + description: The UUID of the incident type. + in: path + name: incident_type_id + required: true + schema: + format: uuid + type: string + IncidentResponderIDPathParameter: + description: The UUID of the incident responder. + in: path + name: responder_id + required: true + schema: + format: uuid + type: string + IncidentRuleIDPathParameter: + description: The UUID of the incident rule. + in: path + name: rule_id + required: true + schema: + format: uuid + type: string IncidentSearchIncludeQueryParameter: description: Specifies which types of related objects should be included in the response. in: query @@ -822,6 +870,14 @@ components: schema: example: "ExampleServiceName" type: string + IncidentTimestampOverrideIDPathParameter: + description: The UUID of the timestamp override. + in: path + name: id + required: true + schema: + format: uuid + type: string IncidentTodoIDPathParameter: description: The UUID of the incident todo. in: path @@ -851,6 +907,15 @@ components: schema: example: "00000000-0000-0000-0000-000000000000" type: string + IncidentUserDefinedRoleIDPathParameter: + description: The UUID of the incident user-defined role. + in: path + name: role_id + required: true + schema: + example: "00000000-0000-0000-0000-000000000002" + format: uuid + type: string Include: description: Include relationship data. explode: true @@ -38599,6 +38664,71 @@ components: type: string x-mimetype: application/xml type: object + IncidentAIPostmortemDataAttributesResponse: + description: Attributes of an AI-generated incident postmortem. + properties: + action_items: + description: Action items to prevent recurrence. + example: "1. Improve failover testing. 2. Add more monitoring alerts." + type: string + customer_impact: + description: The impact of the incident on customers. + example: "5% of users experienced timeouts for 30 minutes." + type: string + executive_summary: + description: An executive summary of the incident. + example: "A database failover caused a 30-minute service outage affecting 5% of users." + type: string + key_insights: + description: Key insights from the incident. + example: "The auto-failover mechanism was slower than expected under high load." + type: string + key_timeline: + description: Key timeline events during the incident. + example: "10:00 - Alert fired. 10:05 - On-call engineer paged. 10:30 - Issue resolved." + type: string + lessons_learned: + description: Lessons learned from the incident. + example: "We need to test the failover process under realistic load conditions." + type: string + system_overview: + description: An overview of the affected systems. + example: "The primary database cluster experienced a failover event." + type: string + type: object + IncidentAIPostmortemDataResponse: + description: AI postmortem data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentAIPostmortemDataAttributesResponse" + id: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentAIPostmortemResponseType" + required: + - id + - type + - attributes + type: object + IncidentAIPostmortemResponse: + description: Response with an AI-generated incident postmortem. + properties: + data: + $ref: "#/components/schemas/IncidentAIPostmortemDataResponse" + required: + - data + type: object + IncidentAIPostmortemResponseType: + description: AI postmortem response resource type. + enum: + - get_incident_ai_postmortem_response + example: get_incident_ai_postmortem_response + type: string + x-enum-varnames: + - GET_INCIDENT_AI_POSTMORTEM_RESPONSE IncidentAttachmentType: default: incident_attachments description: The incident attachment resource type. @@ -38608,6 +38738,175 @@ components: type: string x-enum-varnames: - INCIDENT_ATTACHMENTS + IncidentConfigurationDataAttributesRequest: + description: Attributes for creating an incident configuration. + properties: + execute_integrations: + description: Whether to execute integrations for this incident. + example: true + type: boolean + execute_notification_rules: + description: Whether to execute notification rules for this incident. + example: true + type: boolean + include_in_analytics: + description: Whether to include this incident in analytics. + example: true + type: boolean + include_in_search: + description: Whether to include this incident in search results. + example: true + type: boolean + type: object + IncidentConfigurationDataAttributesResponse: + description: Attributes of an incident configuration in a response. + properties: + created_at: + description: Timestamp when the configuration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + execute_integrations: + description: Whether integrations are executed for this incident. + example: true + type: boolean + execute_notification_rules: + description: Whether notification rules are executed for this incident. + example: true + type: boolean + incident_id: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + type: string + include_in_analytics: + description: Whether this incident is included in analytics. + example: true + type: boolean + include_in_search: + description: Whether this incident is included in search results. + example: true + type: boolean + modified_at: + description: Timestamp when the configuration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + required: + - incident_id + - created_at + - modified_at + type: object + IncidentConfigurationDataRequest: + description: Incident configuration data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentConfigurationDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentConfigurationType" + required: + - type + type: object + IncidentConfigurationDataResponse: + description: Incident configuration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentConfigurationDataAttributesResponse" + id: + description: The incident configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentConfigurationRelationships" + type: + $ref: "#/components/schemas/IncidentConfigurationType" + required: + - id + - type + - attributes + type: object + IncidentConfigurationPatchDataAttributesRequest: + description: Attributes for patching an incident configuration. All fields are optional. + properties: + execute_integrations: + description: Whether to execute integrations for this incident. + example: true + type: boolean + execute_notification_rules: + description: Whether to execute notification rules for this incident. + example: true + type: boolean + include_in_analytics: + description: Whether to include this incident in analytics. + example: true + type: boolean + include_in_search: + description: Whether to include this incident in search results. + example: true + type: boolean + type: object + IncidentConfigurationPatchDataRequest: + description: Incident configuration data in a patch request. + properties: + attributes: + $ref: "#/components/schemas/IncidentConfigurationPatchDataAttributesRequest" + id: + description: The incident configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentConfigurationType" + required: + - id + - type + type: object + IncidentConfigurationPatchRequest: + description: Request payload for patching an incident configuration. + properties: + data: + $ref: "#/components/schemas/IncidentConfigurationPatchDataRequest" + required: + - data + type: object + IncidentConfigurationRelationships: + description: Relationships for an incident configuration. + properties: + created_by_user: + $ref: "#/components/schemas/RelationshipToUser" + last_modified_by_user: + $ref: "#/components/schemas/RelationshipToUser" + type: object + IncidentConfigurationRequest: + description: Request payload for creating an incident configuration. + properties: + data: + $ref: "#/components/schemas/IncidentConfigurationDataRequest" + required: + - data + type: object + IncidentConfigurationResponse: + description: Response with an incident configuration. + properties: + data: + $ref: "#/components/schemas/IncidentConfigurationDataResponse" + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object + IncidentConfigurationType: + description: Incident configuration resource type. + enum: + - incidents_configurations + example: incidents_configurations + type: string + x-enum-varnames: + - INCIDENTS_CONFIGURATIONS IncidentCreateAttributes: description: The incident's attributes for a create request. properties: @@ -38665,6 +38964,117 @@ components: - type - attributes type: object + IncidentCreateOnCallPageDataAttributesRequest: + description: Attributes for creating an on-call page from an incident. + properties: + description: + description: The description of the page. + example: A critical incident affecting production systems. + type: string + role: + $ref: "#/components/schemas/IncidentPageRoleReference" + services: + description: List of affected services. + example: + - web-store + items: + type: string + type: array + tags: + description: List of tags for the page. + example: + - env:prod + items: + type: string + type: array + target: + $ref: "#/components/schemas/IncidentPageTarget" + title: + description: The title of the page. + example: Production outage - SEV-1 + type: string + type: object + IncidentCreateOnCallPageDataRequest: + description: On-call page data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentCreateOnCallPageDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentCreatePageFromIncidentType" + required: + - type + - attributes + type: object + IncidentCreateOnCallPageRequest: + description: Request payload for creating an on-call page from an incident. + properties: + data: + $ref: "#/components/schemas/IncidentCreateOnCallPageDataRequest" + required: + - data + type: object + IncidentCreatePageFromIncidentDataAttributesRequest: + description: Attributes for creating a page from an incident. + properties: + description: + description: The description of the page. + example: A critical incident affecting production systems. + type: string + incident_public_id: + description: The public ID of the incident. + example: "12345" + type: string + role: + $ref: "#/components/schemas/IncidentPageRoleReference" + services: + description: List of affected services. + example: + - web-store + - checkout + items: + type: string + type: array + tags: + description: List of tags for the page. + example: + - env:prod + items: + type: string + type: array + target: + $ref: "#/components/schemas/IncidentPageTarget" + title: + description: The title of the page. + example: Production outage - SEV-1 + type: string + type: object + IncidentCreatePageFromIncidentDataRequest: + description: Page data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentCreatePageFromIncidentDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentCreatePageFromIncidentType" + required: + - type + - attributes + type: object + IncidentCreatePageFromIncidentRequest: + description: Request payload for creating a page from an incident. + properties: + data: + $ref: "#/components/schemas/IncidentCreatePageFromIncidentDataRequest" + required: + - data + type: object + IncidentCreatePageFromIncidentType: + description: Resource type for a page creation request. + enum: + - page + example: page + type: string + x-enum-varnames: + - PAGE IncidentCreateRelationships: description: The relationships the incident will have with other resources once created. properties: @@ -38738,6 +39148,351 @@ components: - TEXTARRAY - METRICTAG - AUTOCOMPLETE + IncidentGoogleChatConfigurationDataAttributesRequest: + description: Attributes for creating a Google Chat configuration. + properties: + domain_id: + description: The Google Chat domain ID. + example: my-domain + type: string + space_name_template: + description: The template for the Google Chat space name. + example: "{{incident.title}}" + type: string + space_target_audience_id: + description: The target audience ID for the Google Chat space. + example: "123456789" + type: string + space_time_zone: + description: The time zone for the Google Chat space. + example: America/New_York + type: string + required: + - domain_id + - space_name_template + - space_time_zone + - space_target_audience_id + type: object + IncidentGoogleChatConfigurationDataAttributesResponse: + description: Attributes of a Google Chat configuration. + properties: + created_at: + description: Timestamp when the configuration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + domain_id: + description: The Google Chat domain ID. + example: my-domain + type: string + modified_at: + description: Timestamp when the configuration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + space_name_template: + description: The template for the Google Chat space name. + example: "{{incident.title}}" + type: string + space_target_audience_id: + description: The target audience ID for the Google Chat space. + example: "123456789" + type: string + space_time_zone: + description: The time zone for the Google Chat space. + example: America/New_York + type: string + required: + - domain_id + - space_name_template + - space_time_zone + - space_target_audience_id + - created_at + - modified_at + type: object + IncidentGoogleChatConfigurationDataRequest: + description: Google Chat configuration data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationDataAttributesRequest" + relationships: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationRelationshipsRequest" + type: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationType" + required: + - type + - attributes + - relationships + type: object + IncidentGoogleChatConfigurationDataResponse: + description: Google Chat configuration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationDataAttributesResponse" + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationRelationships" + type: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationType" + required: + - id + - type + - attributes + type: object + IncidentGoogleChatConfigurationPatchDataAttributesRequest: + description: Attributes for patching a Google Chat configuration. All fields are optional. + properties: + domain_id: + description: The Google Chat domain ID. + example: my-domain + type: string + space_name_template: + description: The template for the Google Chat space name. + example: "{{incident.title}}" + type: string + space_target_audience_id: + description: The target audience ID for the Google Chat space. + example: "123456789" + type: string + space_time_zone: + description: The time zone for the Google Chat space. + example: America/New_York + type: string + type: object + IncidentGoogleChatConfigurationPatchDataRequest: + description: Google Chat configuration data in a patch request. + properties: + attributes: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationPatchDataAttributesRequest" + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationType" + required: + - id + - type + type: object + IncidentGoogleChatConfigurationPatchRequest: + description: Request payload for patching a Google Chat configuration. + properties: + data: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationPatchDataRequest" + required: + - data + type: object + IncidentGoogleChatConfigurationRelationships: + description: Relationships for a Google Chat configuration. + properties: + created_by_user: + $ref: "#/components/schemas/RelationshipToUser" + incident_type: + $ref: "#/components/schemas/RelationshipToIncidentType" + last_modified_by_user: + $ref: "#/components/schemas/RelationshipToUser" + type: object + IncidentGoogleChatConfigurationRelationshipsRequest: + description: Relationships for a Google Chat configuration create request. + properties: + incident_type: + $ref: "#/components/schemas/RelationshipToIncidentType" + required: + - incident_type + type: object + IncidentGoogleChatConfigurationRequest: + description: Request payload for creating a Google Chat configuration. + properties: + data: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationDataRequest" + required: + - data + type: object + IncidentGoogleChatConfigurationResponse: + description: Response with a Google Chat configuration. + properties: + data: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationDataResponse" + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object + IncidentGoogleChatConfigurationType: + description: Google Chat configuration resource type. + enum: + - google_chat_configurations + example: google_chat_configurations + type: string + x-enum-varnames: + - GOOGLE_CHAT_CONFIGURATIONS + IncidentGoogleMeetConfigurationDataAttributesRequest: + description: Attributes for creating a Google Meet configuration. + properties: + allow_manual_meeting_creation: + description: Whether to allow manual meeting creation. + example: true + type: boolean + auto_summarize: + description: Whether to auto-summarize meetings. + example: false + type: boolean + required: + - allow_manual_meeting_creation + - auto_summarize + type: object + IncidentGoogleMeetConfigurationDataAttributesResponse: + description: Attributes of a Google Meet configuration. + properties: + allow_manual_meeting_creation: + description: Whether manual meeting creation is allowed. + example: true + type: boolean + auto_summarize: + description: Whether meetings are auto-summarized. + example: false + type: boolean + created_at: + description: Timestamp when the configuration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + modified_at: + description: Timestamp when the configuration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + required: + - allow_manual_meeting_creation + - auto_summarize + - modified_at + type: object + IncidentGoogleMeetConfigurationDataRequest: + description: Google Meet configuration data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationDataAttributesRequest" + relationships: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationRelationshipsRequest" + type: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationType" + required: + - type + - attributes + - relationships + type: object + IncidentGoogleMeetConfigurationDataResponse: + description: Google Meet configuration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationDataAttributesResponse" + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationRelationships" + type: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationType" + required: + - id + - type + - attributes + type: object + IncidentGoogleMeetConfigurationPatchDataAttributesRequest: + description: Attributes for patching a Google Meet configuration. All fields are optional. + properties: + allow_manual_meeting_creation: + description: Whether to allow manual meeting creation. + example: true + type: boolean + auto_summarize: + description: Whether to auto-summarize meetings. + example: false + type: boolean + type: object + IncidentGoogleMeetConfigurationPatchDataRequest: + description: Google Meet configuration data in a patch request. + properties: + attributes: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationPatchDataAttributesRequest" + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationType" + required: + - id + - type + type: object + IncidentGoogleMeetConfigurationPatchRequest: + description: Request payload for patching a Google Meet configuration. + properties: + data: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationPatchDataRequest" + required: + - data + type: object + IncidentGoogleMeetConfigurationRelationships: + description: Relationships for a Google Meet configuration. + properties: + created_by_user: + $ref: "#/components/schemas/RelationshipToUser" + incident_type: + $ref: "#/components/schemas/RelationshipToIncidentType" + last_modified_by_user: + $ref: "#/components/schemas/RelationshipToUser" + type: object + IncidentGoogleMeetConfigurationRelationshipsRequest: + description: Relationships for a Google Meet configuration create request. + properties: + incident_type: + $ref: "#/components/schemas/RelationshipToIncidentType" + required: + - incident_type + type: object + IncidentGoogleMeetConfigurationRequest: + description: Request payload for creating a Google Meet configuration. + properties: + data: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationDataRequest" + required: + - data + type: object + IncidentGoogleMeetConfigurationResponse: + description: Response with a Google Meet configuration. + properties: + data: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationDataResponse" + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object + IncidentGoogleMeetConfigurationType: + description: Google Meet configuration resource type. + enum: + - google_meet_configurations + example: google_meet_configurations + type: string + x-enum-varnames: + - GOOGLE_MEET_CONFIGURATIONS IncidentHandleAttributesFields: description: Dynamic fields associated with the handle example: @@ -39015,12 +39770,205 @@ components: required: - data type: object + IncidentImpactFieldChoice: + description: A choice option for a dropdown or multiselect impact field. + properties: + description: + description: The description of the choice. + example: Affects all customers + type: string + display_name: + description: The display name of the choice. + example: Critical + type: string + value: + description: The value of the choice. + example: critical + type: string + required: + - value + - display_name + type: object + IncidentImpactFieldDataAttributesRequest: + description: Attributes for creating an impact field. + properties: + display_name: + description: The display name of the impact field. + example: Customer Impact Scope + type: string + field_choices: + description: The choices for dropdown or multiselect fields. + items: + $ref: "#/components/schemas/IncidentImpactFieldChoice" + type: array + field_type: + $ref: "#/components/schemas/IncidentImpactFieldValueType" + name: + description: The normalized name of the impact field (used as identifier). + example: customer_impact_scope + type: string + tag_key: + description: The tag key associated with the field (for metrictag type). + example: env + nullable: true + type: string + required: + - name + - display_name + - field_type + type: object + IncidentImpactFieldDataAttributesResponse: + description: Attributes of an impact field in a response. + properties: + display_name: + description: The display name of the impact field. + example: Customer Impact Scope + type: string + field_choices: + description: The choices for dropdown or multiselect fields. + items: + $ref: "#/components/schemas/IncidentImpactFieldChoice" + type: array + field_type: + $ref: "#/components/schemas/IncidentImpactFieldValueType" + name: + description: The normalized name of the impact field. + example: customer_impact_scope + type: string + tag_key: + description: The tag key associated with the field. + example: env + nullable: true + type: string + required: + - name + - display_name + - field_type + type: object + IncidentImpactFieldDataRequest: + description: Impact field data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentImpactFieldDataAttributesRequest" + relationships: + $ref: "#/components/schemas/IncidentImpactFieldRelationshipsRequest" + type: + $ref: "#/components/schemas/IncidentImpactFieldType" + required: + - type + - attributes + - relationships + type: object + IncidentImpactFieldDataResponse: + description: Impact field data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentImpactFieldDataAttributesResponse" + id: + description: The impact field identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentImpactFieldRelationships" + type: + $ref: "#/components/schemas/IncidentImpactFieldType" + required: + - id + - type + - attributes + type: object + IncidentImpactFieldRelationships: + description: Relationships for an impact field. + properties: + created_by_user: + $ref: "#/components/schemas/RelationshipToUser" + incident_type: + $ref: "#/components/schemas/RelationshipToIncidentType" + last_modified_by_user: + $ref: "#/components/schemas/RelationshipToUser" + type: object + IncidentImpactFieldRelationshipsRequest: + description: Relationships for an impact field create request. + properties: + incident_type: + $ref: "#/components/schemas/RelationshipToIncidentType" + required: + - incident_type + type: object + IncidentImpactFieldRequest: + description: Request payload for creating an impact field. + properties: + data: + $ref: "#/components/schemas/IncidentImpactFieldDataRequest" + required: + - data + type: object + IncidentImpactFieldResponse: + description: Response with a single impact field. + properties: + data: + $ref: "#/components/schemas/IncidentImpactFieldDataResponse" + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object + IncidentImpactFieldType: + description: Impact field resource type. + enum: + - impact_fields + example: impact_fields + type: string + x-enum-varnames: + - IMPACT_FIELDS + IncidentImpactFieldValueType: + description: The type of an impact field. + enum: + - dropdown + - text + - textarray + - metrictag + - number + - datetime + - multiselect + example: dropdown + type: string + x-enum-varnames: + - DROPDOWN + - TEXT + - TEXTARRAY + - METRICTAG + - NUMBER + - DATETIME + - MULTISELECT IncidentImpactFieldsObject: additionalProperties: {} description: An object mapping impact field names to field values. example: {"customers_impacted": "all", "products_impacted": ["shopping", "marketing"]} nullable: true type: object + IncidentImpactFieldsResponse: + description: Response with a list of impact fields. + properties: + data: + description: List of impact fields. + items: + $ref: "#/components/schemas/IncidentImpactFieldDataResponse" + type: array + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object IncidentImpactRelatedObject: description: A reference to a resource related to an incident impact. enum: @@ -40074,6 +41022,226 @@ components: - id - type type: object + IncidentOnCallPageDataAttributesRequest: + description: Attributes for linking a page to an incident. + properties: + key: + description: The key of the on-call page. + example: PAGE-12345 + type: string + page_target: + $ref: "#/components/schemas/IncidentOnCallPageTarget" + team_id: + description: The team ID associated with the page (deprecated, use page_target instead). + example: team-abc-123 + type: string + type: object + IncidentOnCallPageDataRequest: + description: On-call page data in a link request. + properties: + attributes: + $ref: "#/components/schemas/IncidentOnCallPageDataAttributesRequest" + id: + description: The ID of the on-call page to link. + example: PAGE-12345 + type: string + type: + $ref: "#/components/schemas/IncidentOnCallPageType" + required: + - id + - type + type: object + IncidentOnCallPageLinkRequest: + description: Request payload for linking an on-call page to an incident. + properties: + data: + $ref: "#/components/schemas/IncidentOnCallPageDataRequest" + required: + - data + type: object + IncidentOnCallPageTarget: + description: The target of an on-call page. + properties: + identifier: + description: The identifier of the page target. + example: my-oncall-team + type: string + type: + description: The type of the page target. + example: team_handle + type: string + required: + - type + - identifier + type: object + IncidentOnCallPageType: + description: On-call page resource type. + enum: + - page + example: page + type: string + x-enum-varnames: + - PAGE + IncidentOrgSettingsDataAttributesResponse: + description: Attributes of an incident org settings resource in a response. + properties: + created: + description: Timestamp when the settings were created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + modified: + description: Timestamp when the settings were last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + settings: + $ref: "#/components/schemas/IncidentOrgSettingsMeta" + required: + - created + - modified + - settings + type: object + IncidentOrgSettingsDataResponse: + description: Incident org settings data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentOrgSettingsDataAttributesResponse" + id: + description: The org settings identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentOrgSettingsRelationships" + type: + $ref: "#/components/schemas/IncidentOrgSettingsType" + required: + - id + - type + - attributes + type: object + IncidentOrgSettingsListResponse: + description: Response with a list of incident org settings resources. + properties: + data: + description: List of incident org settings resources. + items: + $ref: "#/components/schemas/IncidentOrgSettingsDataResponse" + type: array + required: + - data + type: object + IncidentOrgSettingsMeta: + additionalProperties: {} + description: The settings configuration for an incident org settings resource. + example: + allow_anonymous_incident_declaration: false + allow_guest_incident_declaration: false + pagerduty_paging: true + private_incidents_by_default: false + type: object + IncidentOrgSettingsRelationships: + description: Relationships for an incident org settings resource. + properties: + incident_type: + $ref: "#/components/schemas/RelationshipToIncidentType" + type: object + IncidentOrgSettingsResponse: + description: Response with a single incident org settings resource. + properties: + data: + $ref: "#/components/schemas/IncidentOrgSettingsDataResponse" + required: + - data + type: object + IncidentOrgSettingsType: + description: Incident org settings resource type. + enum: + - incident_org_settings + example: incident_org_settings + type: string + x-enum-varnames: + - INCIDENT_ORG_SETTINGS + IncidentPageRoleReference: + description: A reference to an incident role for a page. + properties: + id: + description: The role identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentPageRoleType" + required: + - type + - id + type: object + IncidentPageRoleType: + description: The type of incident role for a page. + enum: + - incident_user_defined_roles + - incident_reserved_roles + example: incident_user_defined_roles + type: string + x-enum-varnames: + - INCIDENT_USER_DEFINED_ROLES + - INCIDENT_RESERVED_ROLES + IncidentPageTarget: + description: The target recipient for a page. + properties: + identifier: + description: The identifier of the target (handle, UUID, or user UUID). + example: my-team-handle + type: string + type: + $ref: "#/components/schemas/IncidentPageTargetType" + required: + - type + - identifier + type: object + IncidentPageTargetType: + description: The type of target for a page request. + enum: + - team_handle + - team_uuid + - user_uuid + example: team_uuid + type: string + x-enum-varnames: + - TEAM_HANDLE + - TEAM_UUID + - USER_UUID + IncidentPageUUIDDataResponse: + description: Page UUID data in a response. + properties: + id: + description: The UUID of the created page. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentPageUUIDType" + required: + - id + - type + type: object + IncidentPageUUIDResponse: + description: Response with a page UUID. + properties: + data: + $ref: "#/components/schemas/IncidentPageUUIDDataResponse" + required: + - data + type: object + IncidentPageUUIDType: + description: Resource type for a page UUID response. + enum: + - page_uuid + example: page_uuid + type: string + x-enum-varnames: + - PAGE_UUID IncidentPostmortemType: default: incident_postmortems description: Incident postmortem resource type. @@ -40113,6 +41281,195 @@ components: type: string x-enum-varnames: - INCIDENTS + IncidentResponderDataAttributesResponse: + description: Attributes of an incident responder in a response. + properties: + created: + description: Timestamp when the responder was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + external_id: + description: The external ID of the responder. + example: + nullable: true + type: string + external_source: + description: The external source of the responder. + example: + nullable: true + type: string + is_billable: + description: Whether this responder counts toward billing. + example: true + type: boolean + last_active: + description: Timestamp when the responder was last active. + example: "2024-01-01T00:00:00.000Z" + format: date-time + nullable: true + type: string + meta: + additionalProperties: {} + description: Additional metadata for the responder. + nullable: true + type: object + modified: + description: Timestamp when the responder was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + required: + - created + - modified + - is_billable + type: object + IncidentResponderDataRequest: + description: Incident responder data in a create request. + properties: + relationships: + $ref: "#/components/schemas/IncidentResponderRelationshipsRequest" + type: + $ref: "#/components/schemas/IncidentResponderType" + required: + - type + - relationships + type: object + IncidentResponderDataResponse: + description: Incident responder data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentResponderDataAttributesResponse" + id: + description: The responder identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentResponderRelationships" + type: + $ref: "#/components/schemas/IncidentResponderType" + required: + - id + - type + - attributes + type: object + IncidentResponderRelationships: + description: Relationships for an incident responder. + properties: + created_by: + $ref: "#/components/schemas/RelationshipToUser" + last_modified_by: + $ref: "#/components/schemas/RelationshipToUser" + role_assignments: + $ref: "#/components/schemas/IncidentResponderRoleAssignmentsRelationship" + user: + $ref: "#/components/schemas/NullableRelationshipToUser" + type: object + IncidentResponderRelationshipsRequest: + description: Relationships for creating an incident responder. + properties: + user: + $ref: "#/components/schemas/IncidentResponderUserRelationship" + required: + - user + type: object + IncidentResponderRequest: + description: Request payload for creating an incident responder. + properties: + data: + $ref: "#/components/schemas/IncidentResponderDataRequest" + required: + - data + type: object + IncidentResponderResponse: + description: Response with a single incident responder. + properties: + data: + $ref: "#/components/schemas/IncidentResponderDataResponse" + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object + IncidentResponderRoleAssignmentRelationshipData: + description: A single role assignment relationship data object. + properties: + id: + description: The role assignment identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + description: The role assignment resource type. + example: incident_role_assignments + type: string + required: + - id + - type + type: object + IncidentResponderRoleAssignmentsRelationship: + description: Relationship to role assignments for a responder. + properties: + data: + description: List of role assignment relationship data. + items: + $ref: "#/components/schemas/IncidentResponderRoleAssignmentRelationshipData" + type: array + type: object + IncidentResponderType: + description: Incident responder resource type. + enum: + - incident_responders + example: incident_responders + type: string + x-enum-varnames: + - INCIDENT_RESPONDERS + IncidentResponderUserRelationship: + description: Relationship to a user for a responder create request. + properties: + data: + $ref: "#/components/schemas/IncidentResponderUserRelationshipData" + required: + - data + type: object + IncidentResponderUserRelationshipData: + description: A user relationship data object for creating a responder. + properties: + id: + description: The user identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + description: The user resource type. + example: users + type: string + required: + - id + - type + type: object + IncidentRespondersResponse: + description: Response with a list of incident responders. + properties: + data: + description: List of incident responders. + items: + $ref: "#/components/schemas/IncidentResponderDataResponse" + type: array + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object IncidentRespondersType: description: The incident responders type. enum: @@ -40348,6 +41705,332 @@ components: user_defined_fields: $ref: "#/components/schemas/RelationshipToIncidentUserDefinedFields" type: object + IncidentRuleCondition: + description: A condition for an incident rule. + properties: + field: + description: The field to match on. + example: severity + type: string + values: + description: The values to match. + example: + - SEV-1 + - SEV-2 + items: + type: string + type: array + required: + - field + - values + type: object + IncidentRuleDataAttributesRequest: + description: Attributes for creating an incident rule. + properties: + condition: + $ref: "#/components/schemas/IncidentRuleQueryCondition" + condition_table_type: + description: "The condition table type. 1 = raw query." + example: 1 + type: integer + conditions: + description: List of field-based conditions. + items: + $ref: "#/components/schemas/IncidentRuleCondition" + type: array + enabled: + description: Whether the rule is enabled. + example: true + type: boolean + execution_type: + $ref: "#/components/schemas/IncidentRuleExecutionType" + incident_type_uuid: + description: The UUID of the incident type this rule applies to. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + nullable: true + type: string + match_any_condition: + description: Whether any condition (OR logic) should match instead of all (AND logic). + example: false + type: boolean + task_id: + $ref: "#/components/schemas/IncidentRuleTaskIDType" + task_payload: + description: The JSON-encoded payload for the task. + example: "{}" + type: string + trigger: + $ref: "#/components/schemas/IncidentRuleTriggerType" + required: + - execution_type + - condition_table_type + - condition + - task_id + - task_payload + - enabled + type: object + IncidentRuleDataAttributesResponse: + description: Attributes of an incident rule in a response. + properties: + condition: + $ref: "#/components/schemas/IncidentRuleQueryCondition" + condition_table_type: + description: The condition table type. + example: 1 + type: integer + conditions: + description: List of field-based conditions. + items: + $ref: "#/components/schemas/IncidentRuleCondition" + type: array + created: + description: Timestamp when the rule was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + created_by_uuid: + description: UUID of the user who created the rule. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + deleted: + description: Timestamp when the rule was deleted. + example: + format: date-time + nullable: true + type: string + enabled: + description: Whether the rule is enabled. + example: true + type: boolean + execution_type: + description: The execution type of the rule. + example: 1 + type: integer + incident_settings_association_uuid: + description: The incident settings association UUID. + example: + format: uuid + nullable: true + type: string + match_any_condition: + description: Whether any condition should match. + example: false + type: boolean + modified: + description: Timestamp when the rule was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + modified_by_uuid: + description: UUID of the user who last modified the rule. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + org_id: + description: The organization ID. + example: 123456 + format: int64 + type: integer + task_id: + description: The task ID. + example: notify-incident-handles-job + nullable: true + type: string + task_payload: + description: The JSON-encoded task payload. + example: "{}" + nullable: true + type: string + trigger: + description: The trigger event for the rule. + example: incident_created_trigger + type: string + type: object + IncidentRuleDataRequest: + description: Incident rule data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentRuleDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentRuleType" + required: + - type + - attributes + type: object + IncidentRuleDataResponse: + description: Incident rule data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentRuleDataAttributesResponse" + id: + description: The rule identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentRuleResponseType" + required: + - id + - type + - attributes + type: object + IncidentRuleExecutionType: + description: The execution type of an incident rule. + enum: + - 1 + - 2 + example: 1 + format: int64 + type: integer + x-enum-varnames: + - SINGLE_EXECUTION + - MULTI_EXECUTION + IncidentRulePatchDataAttributesRequest: + description: Attributes for patching an incident rule. All fields are optional. + properties: + condition: + $ref: "#/components/schemas/IncidentRuleQueryCondition" + conditions: + description: List of field-based conditions. + items: + $ref: "#/components/schemas/IncidentRuleCondition" + type: array + enabled: + description: Whether the rule is enabled. + example: true + type: boolean + task_payload: + description: The JSON-encoded payload for the task. + example: "{}" + type: string + trigger: + $ref: "#/components/schemas/IncidentRuleTriggerType" + type: object + IncidentRulePatchDataRequest: + description: Incident rule data in a patch request. + properties: + attributes: + $ref: "#/components/schemas/IncidentRulePatchDataAttributesRequest" + id: + description: The rule identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentRuleType" + required: + - id + - type + type: object + IncidentRulePatchRequest: + description: Request payload for patching an incident rule. + properties: + data: + $ref: "#/components/schemas/IncidentRulePatchDataRequest" + required: + - data + type: object + IncidentRuleQueryCondition: + description: A query-based condition for an incident rule. + properties: + normalized_query: + description: The normalized query string. + example: "severity:SEV-1" + nullable: true + type: string + raw_query: + description: The raw query string. + example: "severity:SEV-1" + nullable: true + type: string + type: object + IncidentRuleRequest: + description: Request payload for creating an incident rule. + properties: + data: + $ref: "#/components/schemas/IncidentRuleDataRequest" + required: + - data + type: object + IncidentRuleResponse: + description: Response with a single incident rule. + properties: + data: + $ref: "#/components/schemas/IncidentRuleDataResponse" + required: + - data + type: object + IncidentRuleResponseType: + description: Incident rule response resource type. + enum: + - incidents_rules + example: incidents_rules + type: string + x-enum-varnames: + - INCIDENTS_RULES + IncidentRuleTaskIDType: + description: The task ID for an incident rule. + enum: + - jira-create-issue-job + - notify-incident-handles-job + - servicenow-create-incident-job + - slack-create-channel-job + - zoom-create-meeting-job + - google-meet-create-meeting-job + - workflow-automation-job + - ms-teams-create-meeting-job + - google-chat-create-space-job + - zoom-suppress-summarization-job + - ms-teams-suppress-summarization-job + - google-meet-suppress-summarization-job + example: notify-incident-handles-job + type: string + x-enum-varnames: + - JIRA_CREATE_ISSUE_JOB + - NOTIFY_INCIDENT_HANDLES_JOB + - SERVICENOW_CREATE_INCIDENT_JOB + - SLACK_CREATE_CHANNEL_JOB + - ZOOM_CREATE_MEETING_JOB + - GOOGLE_MEET_CREATE_MEETING_JOB + - WORKFLOW_AUTOMATION_JOB + - MS_TEAMS_CREATE_MEETING_JOB + - GOOGLE_CHAT_CREATE_SPACE_JOB + - ZOOM_SUPPRESS_SUMMARIZATION_JOB + - MS_TEAMS_SUPPRESS_SUMMARIZATION_JOB + - GOOGLE_MEET_SUPPRESS_SUMMARIZATION_JOB + IncidentRuleTriggerType: + description: The trigger event for an incident rule. + enum: + - incident_saved_trigger + - incident_created_trigger + - incident_modified_trigger + example: incident_created_trigger + type: string + x-enum-varnames: + - INCIDENT_SAVED_TRIGGER + - INCIDENT_CREATED_TRIGGER + - INCIDENT_MODIFIED_TRIGGER + IncidentRuleType: + description: Incident rule resource type. + enum: + - incident_rules + example: incident_rules + type: string + x-enum-varnames: + - INCIDENT_RULES + IncidentRulesResponse: + description: Response with a list of incident rules. + properties: + data: + description: List of incident rules. + items: + $ref: "#/components/schemas/IncidentRuleDataResponse" + type: array + required: + - data + type: object IncidentSearchResponse: description: Response with incidents and facets. properties: @@ -40604,6 +42287,57 @@ components: description: An object related to an incident service which is present in the included payload. oneOf: - $ref: "#/components/schemas/User" + IncidentServiceNowRecordDataAttributesRequest: + description: Attributes for creating a ServiceNow record for an incident. + properties: + assignment_group: + description: The ServiceNow assignment group. + example: IT Support + type: string + configuration_item_mapping: + description: The ServiceNow configuration item mapping. + example: my-service + type: string + instance_name: + description: The ServiceNow instance name. + example: my-instance + type: string + record_id: + description: An existing ServiceNow record ID (Sys ID) to link instead of creating a new record. + example: abc123def456 + type: string + required: + - instance_name + - assignment_group + - configuration_item_mapping + type: object + IncidentServiceNowRecordDataRequest: + description: ServiceNow record data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentServiceNowRecordDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentServiceNowRecordPromptType" + required: + - type + - attributes + type: object + IncidentServiceNowRecordPromptType: + description: ServiceNow record prompt resource type. + enum: + - incident_servicenow_record_prompt + example: incident_servicenow_record_prompt + type: string + x-enum-varnames: + - INCIDENT_SERVICENOW_RECORD_PROMPT + IncidentServiceNowRecordRequest: + description: Request payload for creating a ServiceNow record for an incident. + properties: + data: + $ref: "#/components/schemas/IncidentServiceNowRecordDataRequest" + required: + - data + type: object IncidentServiceRelationships: description: The incident service's relationships. properties: @@ -40783,6 +42517,191 @@ components: nullable: false type: string type: object + IncidentTimestampOverrideDataAttributesRequest: + description: Attributes for creating a timestamp override. + properties: + timestamp_type: + $ref: "#/components/schemas/IncidentTimestampType" + timestamp_value: + description: The overridden timestamp value. + example: "2024-01-01T10:00:00.000Z" + format: date-time + type: string + required: + - timestamp_type + - timestamp_value + type: object + IncidentTimestampOverrideDataAttributesResponse: + description: Attributes of a timestamp override in a response. + properties: + created_at: + description: Timestamp when the override was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + deleted_at: + description: Timestamp when the override was deleted. + example: + format: date-time + nullable: true + type: string + incident_id: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + type: string + modified_at: + description: Timestamp when the override was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + timestamp_type: + $ref: "#/components/schemas/IncidentTimestampType" + timestamp_value: + description: The overridden timestamp value. + example: "2024-01-01T10:00:00.000Z" + format: date-time + type: string + required: + - incident_id + - timestamp_type + - timestamp_value + - created_at + - modified_at + type: object + IncidentTimestampOverrideDataRequest: + description: Timestamp override data in a create request. + properties: + attributes: + $ref: "#/components/schemas/IncidentTimestampOverrideDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentTimestampOverrideType" + required: + - type + - attributes + type: object + IncidentTimestampOverrideDataResponse: + description: Timestamp override data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentTimestampOverrideDataAttributesResponse" + id: + description: The timestamp override identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentTimestampOverrideRelationships" + type: + $ref: "#/components/schemas/IncidentTimestampOverrideType" + required: + - id + - type + - attributes + type: object + IncidentTimestampOverridePatchDataAttributesRequest: + description: Attributes for patching a timestamp override. All fields are optional. + properties: + timestamp_type: + $ref: "#/components/schemas/IncidentTimestampType" + timestamp_value: + description: The overridden timestamp value. + example: "2024-01-01T10:00:00.000Z" + format: date-time + type: string + type: object + IncidentTimestampOverridePatchDataRequest: + description: Timestamp override data in a patch request. + properties: + attributes: + $ref: "#/components/schemas/IncidentTimestampOverridePatchDataAttributesRequest" + id: + description: The timestamp override identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentTimestampOverrideType" + required: + - id + - type + type: object + IncidentTimestampOverridePatchRequest: + description: Request payload for patching a timestamp override. + properties: + data: + $ref: "#/components/schemas/IncidentTimestampOverridePatchDataRequest" + required: + - data + type: object + IncidentTimestampOverrideRelationships: + description: Relationships for a timestamp override. + properties: + created_by_user: + $ref: "#/components/schemas/RelationshipToUser" + last_modified_by_user: + $ref: "#/components/schemas/RelationshipToUser" + type: object + IncidentTimestampOverrideRequest: + description: Request payload for creating a timestamp override. + properties: + data: + $ref: "#/components/schemas/IncidentTimestampOverrideDataRequest" + required: + - data + type: object + IncidentTimestampOverrideResponse: + description: Response with a single timestamp override. + properties: + data: + $ref: "#/components/schemas/IncidentTimestampOverrideDataResponse" + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object + IncidentTimestampOverrideType: + description: Incident timestamp override resource type. + enum: + - incidents_timestamp_overrides + example: incidents_timestamp_overrides + type: string + x-enum-varnames: + - INCIDENTS_TIMESTAMP_OVERRIDES + IncidentTimestampOverridesResponse: + description: Response with a list of timestamp overrides. + properties: + data: + description: List of timestamp overrides. + items: + $ref: "#/components/schemas/IncidentTimestampOverrideDataResponse" + type: array + included: + description: Included related resources. + items: + $ref: "#/components/schemas/IncidentUserData" + readOnly: true + type: array + required: + - data + type: object + IncidentTimestampType: + description: The type of timestamp to override. + enum: + - created + - detected + - resolved + - declared + example: detected + type: string + x-enum-varnames: + - CREATED + - DETECTED + - RESOLVED + - DECLARED IncidentTodoAnonymousAssignee: description: Anonymous assignee entity. properties: @@ -41731,6 +43650,229 @@ components: - display_name - value type: object + IncidentUserDefinedRoleDataAttributesRequest: + description: Attributes for creating an incident user-defined role. + properties: + description: + description: A description of the user-defined role. + example: "The technical lead for the incident." + nullable: true + type: string + name: + description: The name of the user-defined role. + example: "Tech Lead" + type: string + policy: + $ref: "#/components/schemas/IncidentUserDefinedRolePolicy" + required: + - name + - policy + type: object + IncidentUserDefinedRoleDataAttributesResponse: + description: Attributes of an incident user-defined role. + properties: + created: + description: Timestamp when the role was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + description: + description: A description of the user-defined role. + example: "The technical lead for the incident." + nullable: true + type: string + modified: + description: Timestamp when the role was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + name: + description: The name of the user-defined role. + example: "Tech Lead" + type: string + policy: + $ref: "#/components/schemas/IncidentUserDefinedRolePolicy" + required: + - name + - policy + - created + - modified + type: object + IncidentUserDefinedRoleDataRequest: + description: Data for creating an incident user-defined role. + properties: + attributes: + $ref: "#/components/schemas/IncidentUserDefinedRoleDataAttributesRequest" + relationships: + $ref: "#/components/schemas/IncidentUserDefinedRoleRelationshipsRequest" + type: + $ref: "#/components/schemas/IncidentUserDefinedRoleType" + required: + - type + - attributes + - relationships + type: object + IncidentUserDefinedRoleDataResponse: + description: Data for an incident user-defined role response. + properties: + attributes: + $ref: "#/components/schemas/IncidentUserDefinedRoleDataAttributesResponse" + id: + description: The ID of the user-defined role. + example: "00000000-0000-0000-0000-000000000002" + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentUserDefinedRoleRelationshipsResponse" + type: + $ref: "#/components/schemas/IncidentUserDefinedRoleType" + required: + - id + - type + - attributes + type: object + IncidentUserDefinedRoleIncidentTypeRelationship: + description: Relationship to an incident type for a user-defined role. + properties: + data: + $ref: "#/components/schemas/IncidentUserDefinedRoleIncidentTypeRelationshipData" + required: + - data + type: object + IncidentUserDefinedRoleIncidentTypeRelationshipData: + description: Data for the incident type relationship of a user-defined role. + properties: + id: + description: The ID of the incident type. + example: "00000000-0000-0000-0000-000000000001" + format: uuid + type: string + type: + description: The type of the resource. + example: "incident_types" + type: string + required: + - id + - type + type: object + IncidentUserDefinedRoleIncludedItem: + description: A single included resource in a user-defined role response. + oneOf: + - $ref: "#/components/schemas/IncidentUserData" + - $ref: "#/components/schemas/IncidentTypeObject" + IncidentUserDefinedRoleIncludedResponse: + description: Included resources for an incident user-defined role response. + items: + $ref: "#/components/schemas/IncidentUserDefinedRoleIncludedItem" + type: array + IncidentUserDefinedRolePatchDataAttributesRequest: + description: Attributes for updating an incident user-defined role. + properties: + description: + description: A description of the user-defined role. + example: "The technical lead for the incident." + nullable: true + type: string + name: + description: The name of the user-defined role. + example: "Tech Lead" + type: string + policy: + $ref: "#/components/schemas/IncidentUserDefinedRolePolicy" + type: object + IncidentUserDefinedRolePatchDataRequest: + description: Data for updating an incident user-defined role. + properties: + attributes: + $ref: "#/components/schemas/IncidentUserDefinedRolePatchDataAttributesRequest" + id: + description: The ID of the user-defined role to update. + example: "00000000-0000-0000-0000-000000000002" + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentUserDefinedRoleType" + required: + - id + - type + type: object + IncidentUserDefinedRolePatchRequest: + description: Request for updating an incident user-defined role. + properties: + data: + $ref: "#/components/schemas/IncidentUserDefinedRolePatchDataRequest" + required: + - data + type: object + IncidentUserDefinedRolePolicy: + description: Policy configuration for a user-defined role. + properties: + is_single: + description: Whether this role can only be assigned to one responder at a time. + example: true + type: boolean + required: + - is_single + type: object + IncidentUserDefinedRoleRelationshipsRequest: + description: Relationships for creating a user-defined role. + properties: + incident_type: + $ref: "#/components/schemas/IncidentUserDefinedRoleIncidentTypeRelationship" + required: + - incident_type + type: object + IncidentUserDefinedRoleRelationshipsResponse: + description: Relationships of a user-defined role response. + properties: + created_by_user: + $ref: "#/components/schemas/RelationshipToUser" + incident_type: + $ref: "#/components/schemas/IncidentUserDefinedRoleIncidentTypeRelationship" + last_modified_by_user: + $ref: "#/components/schemas/RelationshipToUser" + type: object + IncidentUserDefinedRoleRequest: + description: Request for creating an incident user-defined role. + properties: + data: + $ref: "#/components/schemas/IncidentUserDefinedRoleDataRequest" + required: + - data + type: object + IncidentUserDefinedRoleResponse: + description: Response with a single incident user-defined role. + properties: + data: + $ref: "#/components/schemas/IncidentUserDefinedRoleDataResponse" + included: + $ref: "#/components/schemas/IncidentUserDefinedRoleIncludedResponse" + required: + - data + type: object + IncidentUserDefinedRoleType: + description: Incident user-defined role resource type. + enum: + - incident_user_defined_roles + example: incident_user_defined_roles + type: string + x-enum-varnames: + - INCIDENT_USER_DEFINED_ROLES + IncidentUserDefinedRolesDataResponse: + description: List of incident user-defined role data objects. + items: + $ref: "#/components/schemas/IncidentUserDefinedRoleDataResponse" + type: array + IncidentUserDefinedRolesResponse: + description: Response with a list of incident user-defined roles. + properties: + data: + $ref: "#/components/schemas/IncidentUserDefinedRolesDataResponse" + included: + $ref: "#/components/schemas/IncidentUserDefinedRoleIncludedResponse" + required: + - data + type: object IncidentsResponse: description: Response with a list of incidents. properties: @@ -120478,6 +122620,491 @@ paths: x-unstable: |- **Note**: This endpoint is in public beta and is subject to change. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/google-chat-configurations: + post: + description: Create a Google Chat configuration for incidents. + operationId: CreateIncidentGoogleChatConfiguration + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + domain_id: my-domain + space_name_template: "{{incident.title}}" + space_target_audience_id: "123456789" + space_time_zone: America/New_York + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: google_chat_configurations + schema: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationRequest" + description: Google Chat configuration payload. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + domain_id: my-domain + modified_at: "2024-01-01T00:00:00.000Z" + space_name_template: "{{incident.title}}" + space_target_audience_id: "123456789" + space_time_zone: America/New_York + id: 00000000-0000-0000-0000-000000000001 + type: google_chat_configurations + schema: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident Google Chat configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/google-chat-configurations/{id}: + patch: + description: Update a Google Chat configuration for incidents. + operationId: UpdateIncidentGoogleChatConfiguration + parameters: + - $ref: "#/components/parameters/IncidentGoogleChatConfigurationIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + domain_id: updated-domain + id: 00000000-0000-0000-0000-000000000001 + type: google_chat_configurations + schema: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationPatchRequest" + description: Google Chat configuration patch payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + domain_id: updated-domain + modified_at: "2024-01-02T00:00:00.000Z" + space_name_template: "{{incident.title}}" + space_target_audience_id: "123456789" + space_time_zone: America/New_York + id: 00000000-0000-0000-0000-000000000001 + type: google_chat_configurations + schema: + $ref: "#/components/schemas/IncidentGoogleChatConfigurationResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident Google Chat configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/google-meet-configurations: + post: + description: Create a Google Meet configuration for incidents. + operationId: CreateIncidentGoogleMeetConfiguration + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + allow_manual_meeting_creation: true + auto_summarize: false + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: google_meet_configurations + schema: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationRequest" + description: Google Meet configuration payload. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + allow_manual_meeting_creation: true + auto_summarize: false + created_at: "2024-01-01T00:00:00.000Z" + modified_at: "2024-01-01T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000001 + type: google_meet_configurations + schema: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident Google Meet configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/google-meet-configurations/{id}: + patch: + description: Update a Google Meet configuration for incidents. + operationId: UpdateIncidentGoogleMeetConfiguration + parameters: + - $ref: "#/components/parameters/IncidentGoogleMeetConfigurationIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + auto_summarize: true + id: 00000000-0000-0000-0000-000000000001 + type: google_meet_configurations + schema: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationPatchRequest" + description: Google Meet configuration patch payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + allow_manual_meeting_creation: true + auto_summarize: true + created_at: "2024-01-01T00:00:00.000Z" + modified_at: "2024-01-02T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000001 + type: google_meet_configurations + schema: + $ref: "#/components/schemas/IncidentGoogleMeetConfigurationResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident Google Meet configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/impact-fields: + get: + description: List all impact fields for incidents. + operationId: ListIncidentImpactFields + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentImpactFieldsResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident impact fields + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an impact field for incidents. + operationId: CreateIncidentImpactField + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + display_name: Customer Impact Scope + field_choices: + - description: Affects all customers + display_name: All Customers + value: all_customers + - description: Affects some customers + display_name: Some Customers + value: some_customers + field_type: dropdown + name: customer_impact_scope + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: impact_fields + schema: + $ref: "#/components/schemas/IncidentImpactFieldRequest" + description: Impact field payload. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + display_name: Customer Impact Scope + field_choices: + - description: Affects all customers + display_name: All Customers + value: all_customers + field_type: dropdown + name: customer_impact_scope + id: 00000000-0000-0000-0000-000000000001 + type: impact_fields + schema: + $ref: "#/components/schemas/IncidentImpactFieldResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident impact field + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/impact-fields/{field_id}: + delete: + description: Delete an impact field for incidents. + operationId: DeleteIncidentImpactField + parameters: + - $ref: "#/components/parameters/IncidentImpactFieldIDPathParameter" + responses: + "204": + description: No Content + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Delete an incident impact field + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Update an impact field for incidents. + operationId: UpdateIncidentImpactField + parameters: + - $ref: "#/components/parameters/IncidentImpactFieldIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + display_name: Customer Impact Scope Updated + field_type: dropdown + name: customer_impact_scope + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: impact_fields + schema: + $ref: "#/components/schemas/IncidentImpactFieldRequest" + description: Impact field update payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + display_name: Customer Impact Scope Updated + field_type: dropdown + name: customer_impact_scope + id: 00000000-0000-0000-0000-000000000001 + type: impact_fields + schema: + $ref: "#/components/schemas/IncidentImpactFieldResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident impact field + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/incidents/config/notification-rules: get: description: Lists all notification rules for the organization. Optionally filter by incident type. @@ -121321,6 +123948,302 @@ paths: x-unstable: |- **Note**: This endpoint is in preview and is subject to change. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/rules: + get: + description: List all incident rules. + operationId: ListIncidentRules + parameters: + - description: Filter rules by task ID. + in: query + name: "filter[task_id]" + required: false + schema: + example: notify-incident-handles-job + type: string + - description: Filter rules by trigger. + in: query + name: "filter[trigger]" + required: false + schema: + example: incident_created_trigger + type: string + - description: Filter rules by incident type UUID. + in: query + name: incidentTypeUUID + required: false + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentRulesResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident rules + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_notification_settings_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an incident rule. + operationId: CreateIncidentRule + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + condition: + raw_query: "severity:SEV-1" + condition_table_type: 1 + enabled: true + execution_type: 1 + task_id: notify-incident-handles-job + task_payload: "{}" + trigger: incident_created_trigger + type: incident_rules + schema: + $ref: "#/components/schemas/IncidentRuleRequest" + description: Incident rule payload. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + condition: + raw_query: "severity:SEV-1" + condition_table_type: 1 + created: "2024-01-01T00:00:00.000Z" + enabled: true + execution_type: 1 + modified: "2024-01-01T00:00:00.000Z" + task_id: notify-incident-handles-job + task_payload: "{}" + trigger: incident_created_trigger + id: 00000000-0000-0000-0000-000000000001 + type: incidents_rules + schema: + $ref: "#/components/schemas/IncidentRuleResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/rules/{rule_id}: + delete: + description: Delete an incident rule. + operationId: DeleteIncidentRule + parameters: + - $ref: "#/components/parameters/IncidentRuleIDPathParameter" + responses: + "204": + description: No Content + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Delete an incident rule + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_write + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a single incident rule by ID. + operationId: GetIncidentRule + parameters: + - $ref: "#/components/parameters/IncidentRuleIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + condition: + raw_query: "severity:SEV-1" + condition_table_type: 1 + created: "2024-01-01T00:00:00.000Z" + enabled: true + execution_type: 1 + modified: "2024-01-01T00:00:00.000Z" + task_id: notify-incident-handles-job + task_payload: "{}" + trigger: incident_created_trigger + id: 00000000-0000-0000-0000-000000000001 + type: incidents_rules + schema: + $ref: "#/components/schemas/IncidentRuleResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: Get an incident rule + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_notification_settings_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an incident rule. + operationId: UpdateIncidentRule + parameters: + - $ref: "#/components/parameters/IncidentRuleIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: false + id: 00000000-0000-0000-0000-000000000001 + type: incident_rules + schema: + $ref: "#/components/schemas/IncidentRulePatchRequest" + description: Incident rule patch payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + condition: + raw_query: "severity:SEV-1" + condition_table_type: 1 + created: "2024-01-01T00:00:00.000Z" + enabled: false + execution_type: 1 + modified: "2024-01-02T00:00:00.000Z" + task_id: notify-incident-handles-job + task_payload: "{}" + trigger: incident_created_trigger + id: 00000000-0000-0000-0000-000000000001 + type: incidents_rules + schema: + $ref: "#/components/schemas/IncidentRuleResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/incidents/config/types: get: description: Get all incident types. @@ -121433,6 +124356,74 @@ paths: x-unstable: |- **Note**: This endpoint is in public beta. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/types/org-settings: + get: + description: List org settings for all incident types. + operationId: ListOrgSettings + parameters: + - description: Maximum number of results to return. + in: query + name: "page[size]" + required: false + schema: + example: 10 + type: integer + - description: The offset for pagination. + in: query + name: "page[offset]" + required: false + schema: + example: 0 + type: integer + - description: Whether to include deleted records. + in: query + name: include-deleted + required: false + schema: + example: false + type: boolean + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: incident_type + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentOrgSettingsListResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident type org settings + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/incidents/config/types/{incident_type_id}: delete: description: Delete an incident type. @@ -121583,6 +124574,66 @@ paths: x-unstable: |- **Note**: This endpoint is in public beta. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/types/{incident_type_id}/org-settings: + get: + description: Get the org settings for a specific incident type. + operationId: GetOrgSettingsByIncidentType + parameters: + - $ref: "#/components/parameters/IncidentOrgSettingsTypeIDPathParameter" + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: incident_type + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + modified: "2024-01-01T00:00:00.000Z" + settings: + allow_anonymous_incident_declaration: false + allow_guest_incident_declaration: false + pagerduty_paging: true + private_incidents_by_default: false + id: 00000000-0000-0000-0000-000000000001 + type: incident_org_settings + schema: + $ref: "#/components/schemas/IncidentOrgSettingsResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get org settings by incident type + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/incidents/config/user-defined-fields: get: description: Get a list of all incident user-defined fields. @@ -122060,6 +125111,303 @@ paths: x-unstable: |- **Note**: This endpoint is in preview and is subject to change. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/user-defined-roles: + get: + description: List all user-defined roles for incidents. + operationId: ListIncidentUserDefinedRoles + parameters: + - description: Filter roles by incident type UUID. + in: query + name: filter[incident-type] + required: false + schema: + example: "00000000-0000-0000-0000-000000000001" + format: uuid + type: string + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: "created_by_user,last_modified_by_user,incident_type" + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + created: "2024-01-01T00:00:00.000Z" + description: "The technical lead for the incident." + modified: "2024-01-01T00:00:00.000Z" + name: "Tech Lead" + policy: + is_single: true + id: "00000000-0000-0000-0000-000000000002" + type: incident_user_defined_roles + schema: + $ref: "#/components/schemas/IncidentUserDefinedRolesResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident user-defined roles + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new user-defined role for incidents. + operationId: CreateIncidentUserDefinedRole + parameters: + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: "created_by_user,last_modified_by_user,incident_type" + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: "The technical lead for the incident." + name: "Tech Lead" + policy: + is_single: true + relationships: + incident_type: + data: + id: "00000000-0000-0000-0000-000000000001" + type: incident_types + type: incident_user_defined_roles + schema: + $ref: "#/components/schemas/IncidentUserDefinedRoleRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + description: "The technical lead for the incident." + modified: "2024-01-01T00:00:00.000Z" + name: "Tech Lead" + policy: + is_single: true + id: "00000000-0000-0000-0000-000000000002" + type: incident_user_defined_roles + schema: + $ref: "#/components/schemas/IncidentUserDefinedRoleResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident user-defined role + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/user-defined-roles/{role_id}: + delete: + description: Delete an existing user-defined role for incidents. + operationId: DeleteIncidentUserDefinedRole + parameters: + - $ref: "#/components/parameters/IncidentUserDefinedRoleIDPathParameter" + responses: + "204": + description: No Content + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Delete an incident user-defined role + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieve a single user-defined role for incidents. + operationId: GetIncidentUserDefinedRole + parameters: + - $ref: "#/components/parameters/IncidentUserDefinedRoleIDPathParameter" + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: "created_by_user,last_modified_by_user,incident_type" + type: string + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + description: "The technical lead for the incident." + modified: "2024-01-01T00:00:00.000Z" + name: "Tech Lead" + policy: + is_single: true + id: "00000000-0000-0000-0000-000000000002" + type: incident_user_defined_roles + schema: + $ref: "#/components/schemas/IncidentUserDefinedRoleResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: Get an incident user-defined role + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an existing user-defined role for incidents. + operationId: UpdateIncidentUserDefinedRole + parameters: + - $ref: "#/components/parameters/IncidentUserDefinedRoleIDPathParameter" + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: "created_by_user,last_modified_by_user,incident_type" + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: "Updated Tech Lead" + id: "00000000-0000-0000-0000-000000000002" + type: incident_user_defined_roles + schema: + $ref: "#/components/schemas/IncidentUserDefinedRolePatchRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + modified: "2024-01-02T00:00:00.000Z" + name: "Updated Tech Lead" + policy: + is_single: true + id: "00000000-0000-0000-0000-000000000002" + type: incident_user_defined_roles + schema: + $ref: "#/components/schemas/IncidentUserDefinedRoleResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident user-defined role + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/incidents/import: post: description: |- @@ -122394,6 +125742,57 @@ paths: x-unstable: |- **Note**: This endpoint is in public beta. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/ai/postmortem: + post: + description: Generate an AI postmortem for an incident. + operationId: GetIncidentAIPostmortem + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + action_items: "1. Improve failover testing." + customer_impact: "5% of users experienced timeouts for 30 minutes." + executive_summary: "A database failover caused a 30-minute service outage." + key_timeline: "10:00 - Alert fired. 10:30 - Issue resolved." + lessons_learned: "We need to test the failover process under realistic load." + system_overview: "The primary database cluster experienced a failover event." + id: 00000000-0000-0000-0000-000000000000 + type: get_incident_ai_postmortem_response + schema: + $ref: "#/components/schemas/IncidentAIPostmortemResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Get an AI-generated incident postmortem + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/incidents/{incident_id}/attachments: get: description: List incident attachments. @@ -122689,6 +126088,211 @@ paths: x-unstable: |- **Note**: This endpoint is in Preview. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/cases/page: + post: + description: Create a page from an incident using the Cases service. + operationId: CreatePageFromIncident + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: A critical incident affecting production systems. + services: + - web-store + tags: + - env:prod + target: + identifier: my-oncall-team + type: team_handle + title: Production outage - SEV-1 + type: page + schema: + $ref: "#/components/schemas/IncidentCreatePageFromIncidentRequest" + description: Page creation payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: page_uuid + schema: + $ref: "#/components/schemas/IncidentPageUUIDResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create a page from an incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - oncall_page + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/configurations: + patch: + description: Update a configuration for an incident. + operationId: UpdateIncidentConfiguration + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + include_in_search: false + id: 00000000-0000-0000-0000-000000000001 + type: incidents_configurations + schema: + $ref: "#/components/schemas/IncidentConfigurationPatchRequest" + description: Incident configuration patch payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + execute_integrations: true + execute_notification_rules: true + incident_id: 00000000-0000-0000-0000-000000000000 + include_in_analytics: true + include_in_search: false + modified_at: "2024-01-02T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000001 + type: incidents_configurations + schema: + $ref: "#/components/schemas/IncidentConfigurationResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a configuration for an incident. + operationId: CreateIncidentConfiguration + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + execute_integrations: true + execute_notification_rules: true + include_in_analytics: true + include_in_search: true + type: incidents_configurations + schema: + $ref: "#/components/schemas/IncidentConfigurationRequest" + description: Incident configuration payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + execute_integrations: true + execute_notification_rules: true + incident_id: 00000000-0000-0000-0000-000000000000 + include_in_analytics: true + include_in_search: true + modified_at: "2024-01-01T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000001 + type: incidents_configurations + schema: + $ref: "#/components/schemas/IncidentConfigurationResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/incidents/{incident_id}/impacts: get: description: Get all impacts for an incident. @@ -122832,6 +126436,273 @@ paths: operator: OR permissions: - incident_write + patch: + description: Partially update an incident impact. + operationId: PatchIncidentImpact + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentImpactIDPathParameter" + - $ref: "#/components/parameters/IncidentImpactIncludeQueryParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Patched service impact description + type: incident_impacts + schema: + $ref: "#/components/schemas/IncidentImpactCreateRequest" + description: Incident impact patch payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Patched service impact description + start_at: "2025-08-28T13:17:00Z" + id: 00000000-0000-0000-0000-000000000002 + type: incident_impacts + schema: + $ref: "#/components/schemas/IncidentImpactResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Patch an incident impact + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Update an incident impact. + operationId: UpdateIncidentImpact + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentImpactIDPathParameter" + - $ref: "#/components/parameters/IncidentImpactIncludeQueryParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Updated service impact description + end_at: "2025-08-29T13:17:00Z" + start_at: "2025-08-28T13:17:00Z" + type: incident_impacts + schema: + $ref: "#/components/schemas/IncidentImpactCreateRequest" + description: Incident impact payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Updated service impact description + end_at: "2025-08-29T13:17:00Z" + start_at: "2025-08-28T13:17:00Z" + id: 00000000-0000-0000-0000-000000000002 + type: incident_impacts + schema: + $ref: "#/components/schemas/IncidentImpactResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident impact + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/page: + post: + description: Create an on-call page directly from an incident. + operationId: CreateOnCallPageFromIncident + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: A critical incident affecting production systems. + services: + - web-store + target: + identifier: my-oncall-team + type: team_handle + title: Production outage - SEV-1 + type: page + schema: + $ref: "#/components/schemas/IncidentCreateOnCallPageRequest" + description: On-call page creation payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: page_uuid + schema: + $ref: "#/components/schemas/IncidentPageUUIDResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an on-call page from an incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - oncall_page + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/pages/link: + post: + description: Link an existing on-call page to an incident. + operationId: LinkPageToIncident + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + key: PAGE-12345 + page_target: + identifier: my-oncall-team + type: team_handle + id: PAGE-12345 + type: page + schema: + $ref: "#/components/schemas/IncidentOnCallPageLinkRequest" + description: On-call page link payload. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + integration_type: 1 + status: 1 + id: 00000000-0000-0000-0000-000000000001 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentIntegrationMetadataResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Conflict - page already linked to incident + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Link a page to an incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/incidents/{incident_id}/relationships/integrations: get: description: Get all integration metadata for an incident. @@ -123370,6 +127241,491 @@ paths: x-unstable: |- **Note**: This endpoint is in public beta. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/responders: + get: + description: List all responders for an incident. + operationId: ListIncidentResponders + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentRespondersResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident responders + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Add a responder to an incident. + operationId: CreateIncidentResponder + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + relationships: + user: + data: + id: 00000000-0000-0000-0000-000000000001 + type: users + type: incident_responders + schema: + $ref: "#/components/schemas/IncidentResponderRequest" + description: Incident responder payload. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + is_billable: true + modified: "2024-01-01T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000002 + type: incident_responders + schema: + $ref: "#/components/schemas/IncidentResponderResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident responder + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/responders/{responder_id}: + delete: + description: Remove a responder from an incident. + operationId: DeleteIncidentResponder + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentResponderIDPathParameter" + responses: + "204": + description: No Content + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident responder + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a single responder for an incident. + operationId: GetIncidentResponder + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentResponderIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + is_billable: true + modified: "2024-01-01T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000002 + type: incident_responders + schema: + $ref: "#/components/schemas/IncidentResponderResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get an incident responder + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/servicenow-records: + post: + description: Create a ServiceNow record for an incident. + operationId: CreateIncidentServiceNowRecord + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assignment_group: IT Support + configuration_item_mapping: my-service + instance_name: my-instance + type: incident_servicenow_record_prompt + schema: + $ref: "#/components/schemas/IncidentServiceNowRecordRequest" + description: ServiceNow record payload. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + incident_id: 00000000-0000-0000-0000-000000000000 + integration_type: 0 + metadata: + records: + - instance_name: my-instance + record_num: INC0001234 + redirect_url: https://my-instance.service-now.com/nav_to.do?uri=incident.do?sys_id=abc123 + status: 1 + id: 00000000-0000-0000-0000-000000000001 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentIntegrationMetadataResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident ServiceNow record + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/timestamp-overrides: + get: + description: List all timestamp overrides for an incident. + operationId: ListTimestampOverrides + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentTimestampOverridesResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident timestamp overrides + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a timestamp override for an incident. + operationId: CreateTimestampOverride + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + timestamp_type: detected + timestamp_value: "2024-01-01T10:00:00.000Z" + type: incidents_timestamp_overrides + schema: + $ref: "#/components/schemas/IncidentTimestampOverrideRequest" + description: Timestamp override payload. + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + incident_id: 00000000-0000-0000-0000-000000000000 + modified_at: "2024-01-01T00:00:00.000Z" + timestamp_type: detected + timestamp_value: "2024-01-01T10:00:00.000Z" + id: 00000000-0000-0000-0000-000000000001 + type: incidents_timestamp_overrides + schema: + $ref: "#/components/schemas/IncidentTimestampOverrideResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident timestamp override + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/timestamp-overrides/{id}: + delete: + description: Delete a timestamp override for an incident. + operationId: DeleteTimestampOverride + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentTimestampOverrideIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + deleted_at: "2024-01-03T00:00:00.000Z" + incident_id: 00000000-0000-0000-0000-000000000000 + modified_at: "2024-01-01T00:00:00.000Z" + timestamp_type: detected + timestamp_value: "2024-01-01T10:00:00.000Z" + id: 00000000-0000-0000-0000-000000000001 + type: incidents_timestamp_overrides + schema: + $ref: "#/components/schemas/IncidentTimestampOverrideResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident timestamp override + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update a timestamp override for an incident. + operationId: UpdateTimestampOverride + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentTimestampOverrideIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + timestamp_value: "2024-01-01T11:00:00.000Z" + id: 00000000-0000-0000-0000-000000000001 + type: incidents_timestamp_overrides + schema: + $ref: "#/components/schemas/IncidentTimestampOverridePatchRequest" + description: Timestamp override patch payload. + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + incident_id: 00000000-0000-0000-0000-000000000000 + modified_at: "2024-01-02T00:00:00.000Z" + timestamp_type: detected + timestamp_value: "2024-01-01T11:00:00.000Z" + id: 00000000-0000-0000-0000-000000000001 + type: incidents_timestamp_overrides + schema: + $ref: "#/components/schemas/IncidentTimestampOverrideResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "401": + $ref: "#/components/responses/UnauthorizedResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident timestamp override + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/integration/aws/accounts: get: description: Get a list of AWS Account Integration Configs. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 673622e05f..a9d33973e6 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -15978,752 +15978,1501 @@ datadog\_api\_client.v2.model.idp\_metadata\_form\_data module :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_attachment\_type module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_ai\_postmortem\_data\_attributes\_response module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_attachment_type +.. automodule:: datadog_api_client.v2.model.incident_ai_postmortem_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_create\_attributes module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_ai\_postmortem\_data\_response module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_create_attributes +.. automodule:: datadog_api_client.v2.model.incident_ai_postmortem_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_create\_data module ------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_ai\_postmortem\_response module +----------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_create_data +.. automodule:: datadog_api_client.v2.model.incident_ai_postmortem_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_create\_relationships module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_ai\_postmortem\_response\_type module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_create_relationships +.. automodule:: datadog_api_client.v2.model.incident_ai_postmortem_response_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_create\_request module --------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_attachment\_type module +--------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_create_request +.. automodule:: datadog_api_client.v2.model.incident_attachment_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_field\_attributes module ----------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_data\_attributes\_request module +--------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_field_attributes +.. automodule:: datadog_api_client.v2.model.incident_configuration_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_field\_attributes\_multiple\_value module ---------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_data\_attributes\_response module +---------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_field_attributes_multiple_value +.. automodule:: datadog_api_client.v2.model.incident_configuration_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_field\_attributes\_single\_value module -------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_data\_request module +--------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_field_attributes_single_value +.. automodule:: datadog_api_client.v2.model.incident_configuration_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_field\_attributes\_single\_value\_type module -------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_data\_response module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_field_attributes_single_value_type +.. automodule:: datadog_api_client.v2.model.incident_configuration_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_field\_attributes\_value\_type module ------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_configuration\_patch\_data\_attributes\_request module +---------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_field_attributes_value_type +.. automodule:: datadog_api_client.v2.model.incident_configuration_patch_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_attributes\_fields module -------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_patch\_data\_request module +---------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_handle_attributes_fields +.. automodule:: datadog_api_client.v2.model.incident_configuration_patch_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_attributes\_request module --------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_patch\_request module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_handle_attributes_request +.. automodule:: datadog_api_client.v2.model.incident_configuration_patch_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_attributes\_response module +datadog\_api\_client.v2.model.incident\_configuration\_relationships module --------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_handle_attributes_response +.. automodule:: datadog_api_client.v2.model.incident_configuration_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_data\_request module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_request module +--------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_handle_data_request +.. automodule:: datadog_api_client.v2.model.incident_configuration_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_data\_response module ---------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_response module +---------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_handle_data_response +.. automodule:: datadog_api_client.v2.model.incident_configuration_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_included\_item\_response module -------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_configuration\_type module +------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_handle_included_item_response +.. automodule:: datadog_api_client.v2.model.incident_configuration_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_relationship module -------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_create\_attributes module +----------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_handle_relationship +.. automodule:: datadog_api_client.v2.model.incident_create_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_relationship\_data module -------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_create\_data module +----------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_handle_relationship_data +.. automodule:: datadog_api_client.v2.model.incident_create_data :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_relationships module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_create\_on\_call\_page\_data\_attributes\_request module +------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_handle_relationships +.. automodule:: datadog_api_client.v2.model.incident_create_on_call_page_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_relationships\_request module ------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_create\_on\_call\_page\_data\_request module +------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_handle_relationships_request +.. automodule:: datadog_api_client.v2.model.incident_create_on_call_page_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_request module --------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_create\_on\_call\_page\_request module +------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_handle_request +.. automodule:: datadog_api_client.v2.model.incident_create_on_call_page_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_response module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_create\_page\_from\_incident\_data\_attributes\_request module +------------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_handle_response +.. automodule:: datadog_api_client.v2.model.incident_create_page_from_incident_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handle\_type module ------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_create\_page\_from\_incident\_data\_request module +------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_handle_type +.. automodule:: datadog_api_client.v2.model.incident_create_page_from_incident_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_handles\_response module ----------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_create\_page\_from\_incident\_request module +------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_handles_response +.. automodule:: datadog_api_client.v2.model.incident_create_page_from_incident_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_attributes module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_create\_page\_from\_incident\_type module +--------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_attributes +.. automodule:: datadog_api_client.v2.model.incident_create_page_from_incident_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_create\_attributes module -------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_create\_relationships module +-------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_create_attributes +.. automodule:: datadog_api_client.v2.model.incident_create_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_create\_data module -------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_create\_request module +-------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_create_data +.. automodule:: datadog_api_client.v2.model.incident_create_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_create\_request module ----------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_field\_attributes module +---------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_create_request +.. automodule:: datadog_api_client.v2.model.incident_field_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_fields\_object module ---------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_field\_attributes\_multiple\_value module +--------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_fields_object +.. automodule:: datadog_api_client.v2.model.incident_field_attributes_multiple_value :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_related\_object module ----------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_field\_attributes\_single\_value module +------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_related_object +.. automodule:: datadog_api_client.v2.model.incident_field_attributes_single_value :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_relationships module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_field\_attributes\_single\_value\_type module +------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_relationships +.. automodule:: datadog_api_client.v2.model.incident_field_attributes_single_value_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_response module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_field\_attributes\_value\_type module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_response +.. automodule:: datadog_api_client.v2.model.incident_field_attributes_value_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_response\_data module ---------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_data\_attributes\_request module +----------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impact_response_data +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impact\_type module ------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_data\_attributes\_response module +------------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_impact_type +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impacts\_response module ----------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_data\_request module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_impacts_response +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_impacts\_type module ------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_data\_response module +------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_impacts_type +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_field\_attributes module ------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_patch\_data\_attributes\_request module +------------------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_import_field_attributes +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_patch_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_field\_attributes\_multiple\_value module ------------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_patch\_data\_request module +------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_import_field_attributes_multiple_value +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_patch_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_field\_attributes\_single\_value module ---------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_patch\_request module +------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_import_field_attributes_single_value +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_patch_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_related\_object module ----------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_relationships module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_import_related_object +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_relationships module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_relationships\_request module +-------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_import_relationships +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_relationships_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_request module --------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_request module +----------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_import_request +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_request\_attributes module --------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_response module +------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_import_request_attributes +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_request\_data module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_chat\_configuration\_type module +-------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_import_request_data +.. automodule:: datadog_api_client.v2.model.incident_google_chat_configuration_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_response module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_data\_attributes\_request module +----------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_import_response +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_response\_attributes module ---------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_data\_attributes\_response module +------------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_import_response_attributes +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_response\_data module ---------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_data\_request module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_import_response_data +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_response\_included\_item module -------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_data\_response module +------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_import_response_included_item +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_response\_relationships module ------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_patch\_data\_attributes\_request module +------------------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_import_response_relationships +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_patch_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_import\_visibility module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_patch\_data\_request module +------------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_import_visibility +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_patch_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_attributes module --------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_patch\_request module +------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_attributes +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_patch_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_create\_data module ----------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_relationships module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_create_data +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_create\_request module -------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_relationships\_request module +-------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_create_request +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_relationships_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_list\_response module ------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_request module +----------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_list_response +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_metadata module ------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_response module +------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_metadata +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_patch\_data module ---------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_google\_meet\_configuration\_type module +-------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_patch_data +.. automodule:: datadog_api_client.v2.model.incident_google_meet_configuration_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_patch\_request module ------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_handle\_attributes\_fields module +------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_patch_request +.. automodule:: datadog_api_client.v2.model.incident_handle_attributes_fields :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_response module ------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_handle\_attributes\_request module +-------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_response +.. automodule:: datadog_api_client.v2.model.incident_handle_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_response\_data module ------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_handle\_attributes\_response module +--------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_response_data +.. automodule:: datadog_api_client.v2.model.incident_handle_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_response\_included\_item module ----------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_handle\_data\_request module +-------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_response_included_item +.. automodule:: datadog_api_client.v2.model.incident_handle_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_metadata\_type module --------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_handle\_data\_response module +--------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_type +.. automodule:: datadog_api_client.v2.model.incident_handle_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_integration\_relationships module +datadog\_api\_client.v2.model.incident\_handle\_included\_item\_response module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_handle_included_item_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_handle\_relationship module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_handle_relationship + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_handle\_relationship\_data module ------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_integration_relationships +.. automodule:: datadog_api_client.v2.model.incident_handle_relationship_data :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_non\_datadog\_creator module +datadog\_api\_client.v2.model.incident\_handle\_relationships module -------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_non_datadog_creator +.. automodule:: datadog_api_client.v2.model.incident_handle_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_handle module -------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_handle\_relationships\_request module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_handle +.. automodule:: datadog_api_client.v2.model.incident_handle_relationships_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule module +datadog\_api\_client.v2.model.incident\_handle\_request module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_handle_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_handle\_response module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_handle_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_handle\_type module +----------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_handle_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_handles\_response module +---------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_handles_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_impact\_attributes module ----------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule +.. automodule:: datadog_api_client.v2.model.incident_impact_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_array module ------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_create\_attributes module +------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array +.. automodule:: datadog_api_client.v2.model.incident_impact_create_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_array\_meta module ------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_create\_data module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array_meta +.. automodule:: datadog_api_client.v2.model.incident_impact_create_data :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_array\_meta\_page module ------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_create\_request module +---------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array_meta_page +.. automodule:: datadog_api_client.v2.model.incident_impact_create_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_attributes module ------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_impact\_field\_choice module +-------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_attributes +.. automodule:: datadog_api_client.v2.model.incident_impact_field_choice :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_attributes\_visibility module ------------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_impact\_field\_data\_attributes\_request module +--------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_attributes_visibility +.. automodule:: datadog_api_client.v2.model.incident_impact_field_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_conditions\_items module ------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_field\_data\_attributes\_response module +---------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_conditions_items +.. automodule:: datadog_api_client.v2.model.incident_impact_field_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_attributes module -------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_field\_data\_request module +--------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_attributes +.. automodule:: datadog_api_client.v2.model.incident_impact_field_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_attributes\_visibility module -------------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_field\_data\_response module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_attributes_visibility +.. automodule:: datadog_api_client.v2.model.incident_impact_field_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_data module -------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_field\_relationships module +--------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_data +.. automodule:: datadog_api_client.v2.model.incident_impact_field_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_data\_relationships module ----------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_field\_relationships\_request module +------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_data_relationships +.. automodule:: datadog_api_client.v2.model.incident_impact_field_relationships_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_included\_items module ----------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_field\_request module +--------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_included_items +.. automodule:: datadog_api_client.v2.model.incident_impact_field_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_relationships module --------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_field\_response module +---------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_relationships +.. automodule:: datadog_api_client.v2.model.incident_impact_field_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_response\_data module ---------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_field\_type module +------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_response_data +.. automodule:: datadog_api_client.v2.model.incident_impact_field_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_type module +datadog\_api\_client.v2.model.incident\_impact\_field\_value\_type module +------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_impact_field_value_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_impact\_fields\_object module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_impact_fields_object + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_impact\_fields\_response module ----------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_type +.. automodule:: datadog_api_client.v2.model.incident_impact_fields_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_update\_data module -------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_related\_object module +---------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_update_data +.. automodule:: datadog_api_client.v2.model.incident_impact_related_object :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template module +datadog\_api\_client.v2.model.incident\_impact\_relationships module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_impact_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_impact\_response module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_impact_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_impact\_response\_data module --------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template +.. automodule:: datadog_api_client.v2.model.incident_impact_response_data :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_array module ----------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impact\_type module +----------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_array +.. automodule:: datadog_api_client.v2.model.incident_impact_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_array\_meta module ----------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impacts\_response module +---------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_array_meta +.. automodule:: datadog_api_client.v2.model.incident_impacts_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_array\_meta\_page module ----------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_impacts\_type module +------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_template_array_meta_page +.. automodule:: datadog_api_client.v2.model.incident_impacts_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_attributes module ---------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_import\_field\_attributes module +------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_template_attributes +.. automodule:: datadog_api_client.v2.model.incident_import_field_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_create\_attributes module +datadog\_api\_client.v2.model.incident\_import\_field\_attributes\_multiple\_value module ----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_create_attributes +.. automodule:: datadog_api_client.v2.model.incident_import_field_attributes_multiple_value :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_create\_data module ------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_import\_field\_attributes\_single\_value module +--------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_create_data +.. automodule:: datadog_api_client.v2.model.incident_import_field_attributes_single_value + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_related\_object module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_related_object + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_relationships module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_request module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_request\_attributes module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_request_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_request\_data module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_response module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_response\_attributes module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_response\_data module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_response\_included\_item module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_response_included_item + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_response\_relationships module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_import_response_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_import\_visibility module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_import_visibility + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_attributes module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_create\_data module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_create_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_create\_request module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_create_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_list\_response module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_list_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_metadata module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_metadata + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_patch\_data module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_patch_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_patch\_request module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_patch_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_response module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_response\_data module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_response\_included\_item module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_response_included_item + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_metadata\_type module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_integration_metadata_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_integration\_relationships module +------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_integration_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_non\_datadog\_creator module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_non_datadog_creator + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_handle module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_handle + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_array module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_array\_meta module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_array\_meta\_page module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array_meta_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_attributes module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_attributes\_visibility module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_attributes_visibility + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_conditions\_items module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_conditions_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_attributes module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_attributes\_visibility module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_attributes_visibility + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_data module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_data\_relationships module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_included\_items module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_included_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_relationships module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_response\_data module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_type module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_rule\_update\_data module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_rule_update_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_array module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_array\_meta module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_array_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_array\_meta\_page module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_array_meta_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_attributes module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_create\_attributes module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_create_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_create\_data module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_create_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_create\_data\_relationships module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_create_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_included\_items module +-------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_included_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_object module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_object + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_relationships module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_response\_data module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_type module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_update\_attributes module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_update_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_notification\_template\_update\_data module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_notification_template_update_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_on\_call\_page\_data\_attributes\_request module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_on_call_page_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_on\_call\_page\_data\_request module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_on_call_page_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_on\_call\_page\_link\_request module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_on_call_page_link_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_on\_call\_page\_target module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_on_call_page_target + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_on\_call\_page\_type module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_on_call_page_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_org\_settings\_data\_attributes\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_org_settings_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_org\_settings\_data\_response module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_org_settings_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_org\_settings\_list\_response module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_org_settings_list_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_org\_settings\_meta module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_org_settings_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_org\_settings\_relationships module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_org_settings_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_org\_settings\_response module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_org_settings_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_org\_settings\_type module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_org_settings_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_page\_role\_reference module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_page_role_reference + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_page\_role\_type module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_page_role_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_page\_target module +----------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_page_target + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_page\_target\_type module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_page_target_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_page\_uuid\_data\_response module +------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_page_uuid_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_page\_uuid\_response module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_page_uuid_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_page\_uuid\_type module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_page_uuid_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_postmortem\_type module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_postmortem_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_related\_object module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_related_object + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_relationship\_data module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_relationship_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_resource\_type module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_resource_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_data\_attributes\_response module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_responder_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_data\_request module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_data\_response module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_responder_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_relationships module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_relationships\_request module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_relationships_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_request module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_response module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_responder_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_role\_assignment\_relationship\_data module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_role_assignment_relationship_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_role\_assignments\_relationship module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_role_assignments_relationship + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_type module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_user\_relationship module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_user_relationship + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responder\_user\_relationship\_data module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responder_user_relationship_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responders\_response module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responders_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_responders\_type module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_responders_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_response module +------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_response\_attributes module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_response\_data module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_response\_included\_item module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_response_included_item :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_create\_data\_relationships module --------------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_response\_meta module +------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_create_data_relationships +.. automodule:: datadog_api_client.v2.model.incident_response_meta :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_included\_items module --------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_response\_meta\_pagination module +------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_included_items +.. automodule:: datadog_api_client.v2.model.incident_response_meta_pagination :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_object module ------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_response\_relationships module +---------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_object +.. automodule:: datadog_api_client.v2.model.incident_response_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_relationships module ------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_condition module +-------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_relationships +.. automodule:: datadog_api_client.v2.model.incident_rule_condition :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_response\_data module -------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_data\_attributes\_request module +------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_template_response_data +.. automodule:: datadog_api_client.v2.model.incident_rule_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_type module ---------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_data\_attributes\_response module +------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_type +.. automodule:: datadog_api_client.v2.model.incident_rule_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_update\_attributes module ------------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_rule\_data\_request module +------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_template_update_attributes +.. automodule:: datadog_api_client.v2.model.incident_rule_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_update\_data module ------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_rule\_data\_response module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_update_data +.. automodule:: datadog_api_client.v2.model.incident_rule_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_postmortem\_type module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_execution\_type module +-------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_postmortem_type +.. automodule:: datadog_api_client.v2.model.incident_rule_execution_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_related\_object module --------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_patch\_data\_attributes\_request module +------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_related_object +.. automodule:: datadog_api_client.v2.model.incident_rule_patch_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_relationship\_data module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_rule\_patch\_data\_request module +------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_relationship_data +.. automodule:: datadog_api_client.v2.model.incident_rule_patch_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_resource\_type module -------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_patch\_request module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_resource_type +.. automodule:: datadog_api_client.v2.model.incident_rule_patch_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_responders\_type module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_query\_condition module +--------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_responders_type +.. automodule:: datadog_api_client.v2.model.incident_rule_query_condition :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response module -------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_request module +------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_response +.. automodule:: datadog_api_client.v2.model.incident_rule_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_attributes module -------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_response module +------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_attributes +.. automodule:: datadog_api_client.v2.model.incident_rule_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_data module -------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_response\_type module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_data +.. automodule:: datadog_api_client.v2.model.incident_rule_response_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_included\_item module ------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_rule\_task\_id\_type module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_included_item +.. automodule:: datadog_api_client.v2.model.incident_rule_task_id_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_meta module -------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_trigger\_type module +------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_response_meta +.. automodule:: datadog_api_client.v2.model.incident_rule_trigger_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_meta\_pagination module -------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rule\_type module +--------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_meta_pagination +.. automodule:: datadog_api_client.v2.model.incident_rule_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_relationships module ----------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_rules\_response module +-------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_relationships +.. automodule:: datadog_api_client.v2.model.incident_rules_response :members: :show-inheritance: @@ -16846,6 +17595,34 @@ datadog\_api\_client.v2.model.incident\_service\_included\_items module :members: :show-inheritance: +datadog\_api\_client.v2.model.incident\_service\_now\_record\_data\_attributes\_request module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_now_record_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_now\_record\_data\_request module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_now_record_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_now\_record\_prompt\_type module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_now_record_prompt_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_now\_record\_request module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_now_record_request + :members: + :show-inheritance: + datadog\_api\_client.v2.model.incident\_service\_relationships module --------------------------------------------------------------------- @@ -16944,6 +17721,97 @@ datadog\_api\_client.v2.model.incident\_timeline\_cell\_markdown\_create\_attrib :members: :show-inheritance: +datadog\_api\_client.v2.model.incident\_timestamp\_override\_data\_attributes\_request module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_data\_attributes\_response module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_data\_request module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_data\_response module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_patch\_data\_attributes\_request module +---------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_patch_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_patch\_data\_request module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_patch_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_patch\_request module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_patch_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_relationships module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_request module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_response module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_override\_type module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_override_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_overrides\_response module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_overrides_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_timestamp\_type module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_timestamp_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.incident\_todo\_anonymous\_assignee module ------------------------------------------------------------------------ @@ -17322,6 +18190,125 @@ datadog\_api\_client.v2.model.incident\_user\_defined\_field\_valid\_value modul :members: :show-inheritance: +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_data\_attributes\_request module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_data\_attributes\_response module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_data\_request module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_data\_response module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_incident\_type\_relationship module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_incident\_type\_relationship\_data module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_included\_item module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_included_item + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_patch\_data\_attributes\_request module +---------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_patch_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_patch\_data\_request module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_patch_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_patch\_request module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_patch_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_policy module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_policy + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_relationships\_request module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_relationships_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_relationships\_response module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_relationships_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_request module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_response module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_role\_type module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_role_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_user\_defined\_roles\_response module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_user_defined_roles_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.incidents\_response module -------------------------------------------------------- diff --git a/examples/v2/incidents/PatchIncidentImpact.py b/examples/v2/incidents/PatchIncidentImpact.py new file mode 100644 index 0000000000..cc9f69edaa --- /dev/null +++ b/examples/v2/incidents/PatchIncidentImpact.py @@ -0,0 +1,35 @@ +""" +Patch an incident impact returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from datadog_api_client.v2.model.incident_impact_create_attributes import IncidentImpactCreateAttributes +from datadog_api_client.v2.model.incident_impact_create_data import IncidentImpactCreateData +from datadog_api_client.v2.model.incident_impact_create_request import IncidentImpactCreateRequest +from datadog_api_client.v2.model.incident_impact_fields_object import IncidentImpactFieldsObject +from datadog_api_client.v2.model.incident_impact_type import IncidentImpactType +from datetime import datetime +from dateutil.tz import tzutc + +body = IncidentImpactCreateRequest( + data=IncidentImpactCreateData( + attributes=IncidentImpactCreateAttributes( + description="Service was unavailable for external users", + end_at=datetime(2025, 8, 29, 13, 17, tzinfo=tzutc()), + fields=IncidentImpactFieldsObject( + [("customers_impacted", "all"), ("products_impacted", "['shopping', 'marketing']")] + ), + start_at=datetime(2025, 8, 28, 13, 17, tzinfo=tzutc()), + ), + type=IncidentImpactType.INCIDENT_IMPACTS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["patch_incident_impact"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.patch_incident_impact(incident_id="incident_id", impact_id="impact_id", body=body) + + print(response) diff --git a/examples/v2/incidents/UpdateIncidentImpact.py b/examples/v2/incidents/UpdateIncidentImpact.py new file mode 100644 index 0000000000..a5b3ab2da9 --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentImpact.py @@ -0,0 +1,35 @@ +""" +Update an incident impact returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from datadog_api_client.v2.model.incident_impact_create_attributes import IncidentImpactCreateAttributes +from datadog_api_client.v2.model.incident_impact_create_data import IncidentImpactCreateData +from datadog_api_client.v2.model.incident_impact_create_request import IncidentImpactCreateRequest +from datadog_api_client.v2.model.incident_impact_fields_object import IncidentImpactFieldsObject +from datadog_api_client.v2.model.incident_impact_type import IncidentImpactType +from datetime import datetime +from dateutil.tz import tzutc + +body = IncidentImpactCreateRequest( + data=IncidentImpactCreateData( + attributes=IncidentImpactCreateAttributes( + description="Service was unavailable for external users", + end_at=datetime(2025, 8, 29, 13, 17, tzinfo=tzutc()), + fields=IncidentImpactFieldsObject( + [("customers_impacted", "all"), ("products_impacted", "['shopping', 'marketing']")] + ), + start_at=datetime(2025, 8, 28, 13, 17, tzinfo=tzutc()), + ), + type=IncidentImpactType.INCIDENT_IMPACTS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_incident_impact"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.update_incident_impact(incident_id="incident_id", impact_id="impact_id", body=body) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index 2e187d4546..76138a51ad 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -491,56 +491,93 @@ def __init__( "v2.create_global_incident_handle": False, "v2.create_incident": False, "v2.create_incident_attachment": False, + "v2.create_incident_configuration": False, + "v2.create_incident_google_chat_configuration": False, + "v2.create_incident_google_meet_configuration": False, + "v2.create_incident_impact_field": False, "v2.create_incident_integration": False, "v2.create_incident_notification_rule": False, "v2.create_incident_notification_template": False, "v2.create_incident_postmortem_attachment": False, "v2.create_incident_postmortem_template": False, + "v2.create_incident_responder": False, + "v2.create_incident_rule": False, + "v2.create_incident_service_now_record": False, "v2.create_incident_todo": False, "v2.create_incident_type": False, "v2.create_incident_user_defined_field": False, + "v2.create_incident_user_defined_role": False, + "v2.create_on_call_page_from_incident": False, + "v2.create_page_from_incident": False, + "v2.create_timestamp_override": False, "v2.delete_global_incident_handle": False, "v2.delete_incident": False, "v2.delete_incident_attachment": False, + "v2.delete_incident_impact_field": False, "v2.delete_incident_integration": False, "v2.delete_incident_notification_rule": False, "v2.delete_incident_notification_template": False, "v2.delete_incident_postmortem_template": False, + "v2.delete_incident_responder": False, + "v2.delete_incident_rule": False, "v2.delete_incident_todo": False, "v2.delete_incident_type": False, "v2.delete_incident_user_defined_field": False, + "v2.delete_incident_user_defined_role": False, + "v2.delete_timestamp_override": False, "v2.get_global_incident_settings": False, "v2.get_incident": False, + "v2.get_incident_ai_postmortem": False, "v2.get_incident_integration": False, "v2.get_incident_notification_rule": False, "v2.get_incident_notification_template": False, "v2.get_incident_postmortem_template": False, + "v2.get_incident_responder": False, + "v2.get_incident_rule": False, "v2.get_incident_todo": False, "v2.get_incident_type": False, "v2.get_incident_user_defined_field": False, + "v2.get_incident_user_defined_role": False, + "v2.get_org_settings_by_incident_type": False, "v2.import_incident": False, + "v2.link_page_to_incident": False, "v2.list_global_incident_handles": False, "v2.list_incident_attachments": False, + "v2.list_incident_impact_fields": False, "v2.list_incident_integrations": False, "v2.list_incident_notification_rules": False, "v2.list_incident_notification_templates": False, "v2.list_incident_postmortem_templates": False, + "v2.list_incident_responders": False, + "v2.list_incident_rules": False, "v2.list_incidents": False, "v2.list_incident_todos": False, "v2.list_incident_types": False, "v2.list_incident_user_defined_fields": False, + "v2.list_incident_user_defined_roles": False, + "v2.list_org_settings": False, + "v2.list_timestamp_overrides": False, + "v2.patch_incident_impact": False, "v2.search_incidents": False, "v2.update_global_incident_handle": False, "v2.update_global_incident_settings": False, "v2.update_incident": False, "v2.update_incident_attachment": False, + "v2.update_incident_configuration": False, + "v2.update_incident_google_chat_configuration": False, + "v2.update_incident_google_meet_configuration": False, + "v2.update_incident_impact": False, + "v2.update_incident_impact_field": False, "v2.update_incident_integration": False, "v2.update_incident_notification_rule": False, "v2.update_incident_notification_template": False, "v2.update_incident_postmortem_template": False, + "v2.update_incident_rule": False, "v2.update_incident_todo": False, "v2.update_incident_type": False, "v2.update_incident_user_defined_field": False, + "v2.update_incident_user_defined_role": False, + "v2.update_timestamp_override": False, "v2.create_aws_account_ccm_config": False, "v2.delete_aws_account_ccm_config": False, "v2.get_aws_account_ccm_config": False, diff --git a/src/datadog_api_client/v2/api/incidents_api.py b/src/datadog_api_client/v2/api/incidents_api.py index f4b97f5ad0..4a5109d514 100644 --- a/src/datadog_api_client/v2/api/incidents_api.py +++ b/src/datadog_api_client/v2/api/incidents_api.py @@ -25,6 +25,27 @@ from datadog_api_client.v2.model.incident_handle_request import IncidentHandleRequest from datadog_api_client.v2.model.global_incident_settings_response import GlobalIncidentSettingsResponse from datadog_api_client.v2.model.global_incident_settings_request import GlobalIncidentSettingsRequest +from datadog_api_client.v2.model.incident_google_chat_configuration_response import ( + IncidentGoogleChatConfigurationResponse, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_request import ( + IncidentGoogleChatConfigurationRequest, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_patch_request import ( + IncidentGoogleChatConfigurationPatchRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_response import ( + IncidentGoogleMeetConfigurationResponse, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_request import ( + IncidentGoogleMeetConfigurationRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_patch_request import ( + IncidentGoogleMeetConfigurationPatchRequest, +) +from datadog_api_client.v2.model.incident_impact_fields_response import IncidentImpactFieldsResponse +from datadog_api_client.v2.model.incident_impact_field_response import IncidentImpactFieldResponse +from datadog_api_client.v2.model.incident_impact_field_request import IncidentImpactFieldRequest from datadog_api_client.v2.model.incident_notification_rule_array import IncidentNotificationRuleArray from datadog_api_client.v2.model.incident_notification_rule import IncidentNotificationRule from datadog_api_client.v2.model.create_incident_notification_rule_request import CreateIncidentNotificationRuleRequest @@ -40,14 +61,24 @@ from datadog_api_client.v2.model.postmortem_templates_response import PostmortemTemplatesResponse from datadog_api_client.v2.model.postmortem_template_response import PostmortemTemplateResponse from datadog_api_client.v2.model.postmortem_template_request import PostmortemTemplateRequest +from datadog_api_client.v2.model.incident_rules_response import IncidentRulesResponse +from datadog_api_client.v2.model.incident_rule_response import IncidentRuleResponse +from datadog_api_client.v2.model.incident_rule_request import IncidentRuleRequest +from datadog_api_client.v2.model.incident_rule_patch_request import IncidentRulePatchRequest from datadog_api_client.v2.model.incident_type_list_response import IncidentTypeListResponse from datadog_api_client.v2.model.incident_type_response import IncidentTypeResponse from datadog_api_client.v2.model.incident_type_create_request import IncidentTypeCreateRequest +from datadog_api_client.v2.model.incident_org_settings_list_response import IncidentOrgSettingsListResponse from datadog_api_client.v2.model.incident_type_patch_request import IncidentTypePatchRequest +from datadog_api_client.v2.model.incident_org_settings_response import IncidentOrgSettingsResponse from datadog_api_client.v2.model.incident_user_defined_field_list_response import IncidentUserDefinedFieldListResponse from datadog_api_client.v2.model.incident_user_defined_field_response import IncidentUserDefinedFieldResponse from datadog_api_client.v2.model.incident_user_defined_field_create_request import IncidentUserDefinedFieldCreateRequest from datadog_api_client.v2.model.incident_user_defined_field_update_request import IncidentUserDefinedFieldUpdateRequest +from datadog_api_client.v2.model.incident_user_defined_roles_response import IncidentUserDefinedRolesResponse +from datadog_api_client.v2.model.incident_user_defined_role_response import IncidentUserDefinedRoleResponse +from datadog_api_client.v2.model.incident_user_defined_role_request import IncidentUserDefinedRoleRequest +from datadog_api_client.v2.model.incident_user_defined_role_patch_request import IncidentUserDefinedRolePatchRequest from datadog_api_client.v2.model.incident_import_response import IncidentImportResponse from datadog_api_client.v2.model.incident_import_related_object import IncidentImportRelatedObject from datadog_api_client.v2.model.incident_import_request import IncidentImportRequest @@ -55,19 +86,27 @@ from datadog_api_client.v2.model.incident_search_sort_order import IncidentSearchSortOrder from datadog_api_client.v2.model.incident_search_response_incidents_data import IncidentSearchResponseIncidentsData from datadog_api_client.v2.model.incident_update_request import IncidentUpdateRequest +from datadog_api_client.v2.model.incident_ai_postmortem_response import IncidentAIPostmortemResponse from datadog_api_client.v2.model.attachment_array import AttachmentArray from datadog_api_client.v2.model.attachment import Attachment from datadog_api_client.v2.model.create_attachment_request import CreateAttachmentRequest from datadog_api_client.v2.model.postmortem_attachment_request import PostmortemAttachmentRequest from datadog_api_client.v2.model.patch_attachment_request import PatchAttachmentRequest +from datadog_api_client.v2.model.incident_page_uuid_response import IncidentPageUUIDResponse +from datadog_api_client.v2.model.incident_create_page_from_incident_request import IncidentCreatePageFromIncidentRequest +from datadog_api_client.v2.model.incident_configuration_response import IncidentConfigurationResponse +from datadog_api_client.v2.model.incident_configuration_patch_request import IncidentConfigurationPatchRequest +from datadog_api_client.v2.model.incident_configuration_request import IncidentConfigurationRequest from datadog_api_client.v2.model.incident_impacts_response import IncidentImpactsResponse from datadog_api_client.v2.model.incident_impact_related_object import IncidentImpactRelatedObject from datadog_api_client.v2.model.incident_impact_response import IncidentImpactResponse from datadog_api_client.v2.model.incident_impact_create_request import IncidentImpactCreateRequest +from datadog_api_client.v2.model.incident_create_on_call_page_request import IncidentCreateOnCallPageRequest +from datadog_api_client.v2.model.incident_integration_metadata_response import IncidentIntegrationMetadataResponse +from datadog_api_client.v2.model.incident_on_call_page_link_request import IncidentOnCallPageLinkRequest from datadog_api_client.v2.model.incident_integration_metadata_list_response import ( IncidentIntegrationMetadataListResponse, ) -from datadog_api_client.v2.model.incident_integration_metadata_response import IncidentIntegrationMetadataResponse from datadog_api_client.v2.model.incident_integration_metadata_create_request import ( IncidentIntegrationMetadataCreateRequest, ) @@ -78,6 +117,14 @@ from datadog_api_client.v2.model.incident_todo_response import IncidentTodoResponse from datadog_api_client.v2.model.incident_todo_create_request import IncidentTodoCreateRequest from datadog_api_client.v2.model.incident_todo_patch_request import IncidentTodoPatchRequest +from datadog_api_client.v2.model.incident_responders_response import IncidentRespondersResponse +from datadog_api_client.v2.model.incident_responder_response import IncidentResponderResponse +from datadog_api_client.v2.model.incident_responder_request import IncidentResponderRequest +from datadog_api_client.v2.model.incident_service_now_record_request import IncidentServiceNowRecordRequest +from datadog_api_client.v2.model.incident_timestamp_overrides_response import IncidentTimestampOverridesResponse +from datadog_api_client.v2.model.incident_timestamp_override_response import IncidentTimestampOverrideResponse +from datadog_api_client.v2.model.incident_timestamp_override_request import IncidentTimestampOverrideRequest +from datadog_api_client.v2.model.incident_timestamp_override_patch_request import IncidentTimestampOverridePatchRequest class IncidentsApi: @@ -166,6 +213,72 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._create_incident_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/configurations", + "operation_id": "create_incident_configuration", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentConfigurationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_google_chat_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentGoogleChatConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/google-chat-configurations", + "operation_id": "create_incident_google_chat_configuration", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (IncidentGoogleChatConfigurationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_google_meet_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentGoogleMeetConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/google-meet-configurations", + "operation_id": "create_incident_google_meet_configuration", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (IncidentGoogleMeetConfigurationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._create_incident_impact_endpoint = _Endpoint( settings={ "response_type": (IncidentImpactResponse,), @@ -198,6 +311,26 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._create_incident_impact_field_endpoint = _Endpoint( + settings={ + "response_type": (IncidentImpactFieldResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/impact-fields", + "operation_id": "create_incident_impact_field", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (IncidentImpactFieldRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._create_incident_integration_endpoint = _Endpoint( settings={ "response_type": (IncidentIntegrationMetadataResponse,), @@ -310,6 +443,78 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._create_incident_responder_endpoint = _Endpoint( + settings={ + "response_type": (IncidentResponderResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/responders", + "operation_id": "create_incident_responder", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentResponderRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_rule_endpoint = _Endpoint( + settings={ + "response_type": (IncidentRuleResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/rules", + "operation_id": "create_incident_rule", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (IncidentRuleRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_service_now_record_endpoint = _Endpoint( + settings={ + "response_type": (IncidentIntegrationMetadataResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/servicenow-records", + "operation_id": "create_incident_service_now_record", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentServiceNowRecordRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._create_incident_todo_endpoint = _Endpoint( settings={ "response_type": (IncidentTodoResponse,), @@ -381,6 +586,109 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._create_incident_user_defined_role_endpoint = _Endpoint( + settings={ + "response_type": (IncidentUserDefinedRoleResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/user-defined-roles", + "operation_id": "create_incident_user_defined_role", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentUserDefinedRoleRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_on_call_page_from_incident_endpoint = _Endpoint( + settings={ + "response_type": (IncidentPageUUIDResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/page", + "operation_id": "create_on_call_page_from_incident", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentCreateOnCallPageRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_page_from_incident_endpoint = _Endpoint( + settings={ + "response_type": (IncidentPageUUIDResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/cases/page", + "operation_id": "create_page_from_incident", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentCreatePageFromIncidentRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_timestamp_override_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTimestampOverrideResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/timestamp-overrides", + "operation_id": "create_timestamp_override", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentTimestampOverrideRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._delete_global_incident_handle_endpoint = _Endpoint( settings={ "response_type": None, @@ -478,6 +786,29 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._delete_incident_impact_field_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/impact-fields/{field_id}", + "operation_id": "delete_incident_impact_field", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "field_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "field_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + self._delete_incident_integration_endpoint = _Endpoint( settings={ "response_type": None, @@ -586,12 +917,12 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._delete_incident_todo_endpoint = _Endpoint( + self._delete_incident_responder_endpoint = _Endpoint( settings={ "response_type": None, "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/{incident_id}/relationships/todos/{todo_id}", - "operation_id": "delete_incident_todo", + "endpoint_path": "/api/v2/incidents/{incident_id}/responders/{responder_id}", + "operation_id": "delete_incident_responder", "http_method": "DELETE", "version": "v2", }, @@ -602,10 +933,10 @@ def __init__(self, api_client=None): "attribute": "incident_id", "location": "path", }, - "todo_id": { + "responder_id": { "required": True, - "openapi_types": (str,), - "attribute": "todo_id", + "openapi_types": (UUID,), + "attribute": "responder_id", "location": "path", }, }, @@ -615,20 +946,20 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._delete_incident_type_endpoint = _Endpoint( + self._delete_incident_rule_endpoint = _Endpoint( settings={ "response_type": None, "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/config/types/{incident_type_id}", - "operation_id": "delete_incident_type", + "endpoint_path": "/api/v2/incidents/config/rules/{rule_id}", + "operation_id": "delete_incident_rule", "http_method": "DELETE", "version": "v2", }, params_map={ - "incident_type_id": { + "rule_id": { "required": True, - "openapi_types": (str,), - "attribute": "incident_type_id", + "openapi_types": (UUID,), + "attribute": "rule_id", "location": "path", }, }, @@ -638,17 +969,69 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._delete_incident_user_defined_field_endpoint = _Endpoint( + self._delete_incident_todo_endpoint = _Endpoint( settings={ "response_type": None, "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/config/user-defined-fields/{field_id}", - "operation_id": "delete_incident_user_defined_field", + "endpoint_path": "/api/v2/incidents/{incident_id}/relationships/todos/{todo_id}", + "operation_id": "delete_incident_todo", "http_method": "DELETE", "version": "v2", }, params_map={ - "field_id": { + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "todo_id": { + "required": True, + "openapi_types": (str,), + "attribute": "todo_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_incident_type_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/types/{incident_type_id}", + "operation_id": "delete_incident_type", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "incident_type_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_type_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_incident_user_defined_field_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/user-defined-fields/{field_id}", + "operation_id": "delete_incident_user_defined_field", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "field_id": { "required": True, "openapi_types": (str,), "attribute": "field_id", @@ -661,6 +1044,58 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._delete_incident_user_defined_role_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/user-defined-roles/{role_id}", + "operation_id": "delete_incident_user_defined_role", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "role_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "role_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_timestamp_override_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTimestampOverrideResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/timestamp-overrides/{id}", + "operation_id": "delete_timestamp_override", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._get_global_incident_settings_endpoint = _Endpoint( settings={ "response_type": (GlobalIncidentSettingsResponse,), @@ -706,6 +1141,29 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_incident_ai_postmortem_endpoint = _Endpoint( + settings={ + "response_type": (IncidentAIPostmortemResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/ai/postmortem", + "operation_id": "get_incident_ai_postmortem", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._get_incident_integration_endpoint = _Endpoint( settings={ "response_type": (IncidentIntegrationMetadataResponse,), @@ -814,6 +1272,58 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_incident_responder_endpoint = _Endpoint( + settings={ + "response_type": (IncidentResponderResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/responders/{responder_id}", + "operation_id": "get_incident_responder", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "responder_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "responder_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_incident_rule_endpoint = _Endpoint( + settings={ + "response_type": (IncidentRuleResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/rules/{rule_id}", + "operation_id": "get_incident_rule", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "rule_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "rule_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._get_incident_todo_endpoint = _Endpoint( settings={ "response_type": (IncidentTodoResponse,), @@ -894,6 +1404,62 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_incident_user_defined_role_endpoint = _Endpoint( + settings={ + "response_type": (IncidentUserDefinedRoleResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/user-defined-roles/{role_id}", + "operation_id": "get_incident_user_defined_role", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "role_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "role_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_org_settings_by_incident_type_endpoint = _Endpoint( + settings={ + "response_type": (IncidentOrgSettingsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/types/{incident_type_id}/org-settings", + "operation_id": "get_org_settings_by_incident_type", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "incident_type_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "incident_type_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._import_incident_endpoint = _Endpoint( settings={ "response_type": (IncidentImportResponse,), @@ -920,6 +1486,32 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._link_page_to_incident_endpoint = _Endpoint( + settings={ + "response_type": (IncidentIntegrationMetadataResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/pages/link", + "operation_id": "link_page_to_incident", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentOnCallPageLinkRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._list_global_incident_handles_endpoint = _Endpoint( settings={ "response_type": (IncidentHandlesResponse,), @@ -975,6 +1567,22 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_incident_impact_fields_endpoint = _Endpoint( + settings={ + "response_type": (IncidentImpactFieldsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/impact-fields", + "operation_id": "list_incident_impact_fields", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._list_incident_impacts_endpoint = _Endpoint( settings={ "response_type": (IncidentImpactsResponse,), @@ -1092,29 +1700,84 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._list_incidents_endpoint = _Endpoint( + self._list_incident_responders_endpoint = _Endpoint( settings={ - "response_type": (IncidentsResponse,), + "response_type": (IncidentRespondersResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents", - "operation_id": "list_incidents", + "endpoint_path": "/api/v2/incidents/{incident_id}/responders", + "operation_id": "list_incident_responders", "http_method": "GET", "version": "v2", }, params_map={ - "include": { - "openapi_types": ([IncidentRelatedObject],), - "attribute": "include", - "location": "query", - "collection_format": "csv", - }, - "page_size": { - "openapi_types": (int,), - "attribute": "page[size]", - "location": "query", + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", }, - "page_offset": { - "openapi_types": (int,), + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_incident_rules_endpoint = _Endpoint( + settings={ + "response_type": (IncidentRulesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/rules", + "operation_id": "list_incident_rules", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "filter_task_id": { + "openapi_types": (str,), + "attribute": "filter[task_id]", + "location": "query", + }, + "filter_trigger": { + "openapi_types": (str,), + "attribute": "filter[trigger]", + "location": "query", + }, + "incident_type_uuid": { + "openapi_types": (UUID,), + "attribute": "incidentTypeUUID", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_incidents_endpoint = _Endpoint( + settings={ + "response_type": (IncidentsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents", + "operation_id": "list_incidents", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "include": { + "openapi_types": ([IncidentRelatedObject],), + "attribute": "include", + "location": "query", + "collection_format": "csv", + }, + "page_size": { + "openapi_types": (int,), + "attribute": "page[size]", + "location": "query", + }, + "page_offset": { + "openapi_types": (int,), "attribute": "page[offset]", "location": "query", }, @@ -1219,6 +1882,131 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_incident_user_defined_roles_endpoint = _Endpoint( + settings={ + "response_type": (IncidentUserDefinedRolesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/user-defined-roles", + "operation_id": "list_incident_user_defined_roles", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "filter_incident_type": { + "openapi_types": (UUID,), + "attribute": "filter[incident-type]", + "location": "query", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_org_settings_endpoint = _Endpoint( + settings={ + "response_type": (IncidentOrgSettingsListResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/types/org-settings", + "operation_id": "list_org_settings", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_size": { + "openapi_types": (int,), + "attribute": "page[size]", + "location": "query", + }, + "page_offset": { + "openapi_types": (int,), + "attribute": "page[offset]", + "location": "query", + }, + "include_deleted": { + "openapi_types": (bool,), + "attribute": "include-deleted", + "location": "query", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_timestamp_overrides_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTimestampOverridesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/timestamp-overrides", + "operation_id": "list_timestamp_overrides", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._patch_incident_impact_endpoint = _Endpoint( + settings={ + "response_type": (IncidentImpactResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/impacts/{impact_id}", + "operation_id": "patch_incident_impact", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "impact_id": { + "required": True, + "openapi_types": (str,), + "attribute": "impact_id", + "location": "path", + }, + "include": { + "openapi_types": ([IncidentImpactRelatedObject],), + "attribute": "include", + "location": "query", + "collection_format": "csv", + }, + "body": { + "required": True, + "openapi_types": (IncidentImpactCreateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._search_incidents_endpoint = _Endpoint( settings={ "response_type": (IncidentSearchResponse,), @@ -1376,6 +2164,148 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._update_incident_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/configurations", + "operation_id": "update_incident_configuration", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentConfigurationPatchRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_google_chat_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentGoogleChatConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/google-chat-configurations/{id}", + "operation_id": "update_incident_google_chat_configuration", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentGoogleChatConfigurationPatchRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_google_meet_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentGoogleMeetConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/google-meet-configurations/{id}", + "operation_id": "update_incident_google_meet_configuration", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentGoogleMeetConfigurationPatchRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_impact_endpoint = _Endpoint( + settings={ + "response_type": (IncidentImpactResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/impacts/{impact_id}", + "operation_id": "update_incident_impact", + "http_method": "PUT", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "impact_id": { + "required": True, + "openapi_types": (str,), + "attribute": "impact_id", + "location": "path", + }, + "include": { + "openapi_types": ([IncidentImpactRelatedObject],), + "attribute": "include", + "location": "query", + "collection_format": "csv", + }, + "body": { + "required": True, + "openapi_types": (IncidentImpactCreateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_impact_field_endpoint = _Endpoint( + settings={ + "response_type": (IncidentImpactFieldResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/impact-fields/{field_id}", + "operation_id": "update_incident_impact_field", + "http_method": "PUT", + "version": "v2", + }, + params_map={ + "field_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "field_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentImpactFieldRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._update_incident_integration_endpoint = _Endpoint( settings={ "response_type": (IncidentIntegrationMetadataResponse,), @@ -1496,6 +2426,32 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._update_incident_rule_endpoint = _Endpoint( + settings={ + "response_type": (IncidentRuleResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/rules/{rule_id}", + "operation_id": "update_incident_rule", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "rule_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "rule_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentRulePatchRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._update_incident_todo_endpoint = _Endpoint( settings={ "response_type": (IncidentTodoResponse,), @@ -1570,14 +2526,77 @@ def __init__(self, api_client=None): "attribute": "field_id", "location": "path", }, - "include": { - "openapi_types": (str,), - "attribute": "include", - "location": "query", - }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentUserDefinedFieldUpdateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_user_defined_role_endpoint = _Endpoint( + settings={ + "response_type": (IncidentUserDefinedRoleResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/user-defined-roles/{role_id}", + "operation_id": "update_incident_user_defined_role", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "role_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "role_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentUserDefinedRolePatchRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_timestamp_override_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTimestampOverrideResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/timestamp-overrides/{id}", + "operation_id": "update_timestamp_override", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "id", + "location": "path", + }, "body": { "required": True, - "openapi_types": (IncidentUserDefinedFieldUpdateRequest,), + "openapi_types": (IncidentTimestampOverridePatchRequest,), "location": "body", }, }, @@ -1653,6 +2672,62 @@ def create_incident_attachment( return self._create_incident_attachment_endpoint.call_with_http_info(**kwargs) + def create_incident_configuration( + self, + incident_id: str, + body: IncidentConfigurationRequest, + ) -> IncidentConfigurationResponse: + """Create an incident configuration. + + Create a configuration for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param body: Incident configuration payload. + :type body: IncidentConfigurationRequest + :rtype: IncidentConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_incident_configuration_endpoint.call_with_http_info(**kwargs) + + def create_incident_google_chat_configuration( + self, + body: IncidentGoogleChatConfigurationRequest, + ) -> IncidentGoogleChatConfigurationResponse: + """Create an incident Google Chat configuration. + + Create a Google Chat configuration for incidents. + + :param body: Google Chat configuration payload. + :type body: IncidentGoogleChatConfigurationRequest + :rtype: IncidentGoogleChatConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_incident_google_chat_configuration_endpoint.call_with_http_info(**kwargs) + + def create_incident_google_meet_configuration( + self, + body: IncidentGoogleMeetConfigurationRequest, + ) -> IncidentGoogleMeetConfigurationResponse: + """Create an incident Google Meet configuration. + + Create a Google Meet configuration for incidents. + + :param body: Google Meet configuration payload. + :type body: IncidentGoogleMeetConfigurationRequest + :rtype: IncidentGoogleMeetConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_incident_google_meet_configuration_endpoint.call_with_http_info(**kwargs) + def create_incident_impact( self, incident_id: str, @@ -1682,6 +2757,23 @@ def create_incident_impact( return self._create_incident_impact_endpoint.call_with_http_info(**kwargs) + def create_incident_impact_field( + self, + body: IncidentImpactFieldRequest, + ) -> IncidentImpactFieldResponse: + """Create an incident impact field. + + Create an impact field for incidents. + + :param body: Impact field payload. + :type body: IncidentImpactFieldRequest + :rtype: IncidentImpactFieldResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_incident_impact_field_endpoint.call_with_http_info(**kwargs) + def create_incident_integration( self, incident_id: str, @@ -1777,6 +2869,67 @@ def create_incident_postmortem_template( return self._create_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + def create_incident_responder( + self, + incident_id: str, + body: IncidentResponderRequest, + ) -> IncidentResponderResponse: + """Create an incident responder. + + Add a responder to an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param body: Incident responder payload. + :type body: IncidentResponderRequest + :rtype: IncidentResponderResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_incident_responder_endpoint.call_with_http_info(**kwargs) + + def create_incident_rule( + self, + body: IncidentRuleRequest, + ) -> IncidentRuleResponse: + """Create an incident rule. + + Create an incident rule. + + :param body: Incident rule payload. + :type body: IncidentRuleRequest + :rtype: IncidentRuleResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_incident_rule_endpoint.call_with_http_info(**kwargs) + + def create_incident_service_now_record( + self, + incident_id: str, + body: IncidentServiceNowRecordRequest, + ) -> IncidentIntegrationMetadataResponse: + """Create an incident ServiceNow record. + + Create a ServiceNow record for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param body: ServiceNow record payload. + :type body: IncidentServiceNowRecordRequest + :rtype: IncidentIntegrationMetadataResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_incident_service_now_record_endpoint.call_with_http_info(**kwargs) + def create_incident_todo( self, incident_id: str, @@ -1840,6 +2993,95 @@ def create_incident_user_defined_field( return self._create_incident_user_defined_field_endpoint.call_with_http_info(**kwargs) + def create_incident_user_defined_role( + self, + body: IncidentUserDefinedRoleRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentUserDefinedRoleResponse: + """Create an incident user-defined role. + + Create a new user-defined role for incidents. + + :type body: IncidentUserDefinedRoleRequest + :param include: Comma-separated list of related resources to include in the response. + :type include: str, optional + :rtype: IncidentUserDefinedRoleResponse + """ + kwargs: Dict[str, Any] = {} + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_incident_user_defined_role_endpoint.call_with_http_info(**kwargs) + + def create_on_call_page_from_incident( + self, + incident_id: str, + body: IncidentCreateOnCallPageRequest, + ) -> IncidentPageUUIDResponse: + """Create an on-call page from an incident. + + Create an on-call page directly from an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param body: On-call page creation payload. + :type body: IncidentCreateOnCallPageRequest + :rtype: IncidentPageUUIDResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_on_call_page_from_incident_endpoint.call_with_http_info(**kwargs) + + def create_page_from_incident( + self, + incident_id: str, + body: IncidentCreatePageFromIncidentRequest, + ) -> IncidentPageUUIDResponse: + """Create a page from an incident. + + Create a page from an incident using the Cases service. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param body: Page creation payload. + :type body: IncidentCreatePageFromIncidentRequest + :rtype: IncidentPageUUIDResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_page_from_incident_endpoint.call_with_http_info(**kwargs) + + def create_timestamp_override( + self, + incident_id: str, + body: IncidentTimestampOverrideRequest, + ) -> IncidentTimestampOverrideResponse: + """Create an incident timestamp override. + + Create a timestamp override for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param body: Timestamp override payload. + :type body: IncidentTimestampOverrideRequest + :rtype: IncidentTimestampOverrideResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_timestamp_override_endpoint.call_with_http_info(**kwargs) + def delete_global_incident_handle( self, ) -> None: @@ -1911,6 +3153,23 @@ def delete_incident_impact( return self._delete_incident_impact_endpoint.call_with_http_info(**kwargs) + def delete_incident_impact_field( + self, + field_id: UUID, + ) -> None: + """Delete an incident impact field. + + Delete an impact field for incidents. + + :param field_id: The UUID of the impact field. + :type field_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["field_id"] = field_id + + return self._delete_incident_impact_field_endpoint.call_with_http_info(**kwargs) + def delete_incident_integration( self, incident_id: str, @@ -1998,6 +3257,45 @@ def delete_incident_postmortem_template( return self._delete_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + def delete_incident_responder( + self, + incident_id: str, + responder_id: UUID, + ) -> None: + """Delete an incident responder. + + Remove a responder from an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param responder_id: The UUID of the incident responder. + :type responder_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["responder_id"] = responder_id + + return self._delete_incident_responder_endpoint.call_with_http_info(**kwargs) + + def delete_incident_rule( + self, + rule_id: UUID, + ) -> None: + """Delete an incident rule. + + Delete an incident rule. + + :param rule_id: The UUID of the incident rule. + :type rule_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["rule_id"] = rule_id + + return self._delete_incident_rule_endpoint.call_with_http_info(**kwargs) + def delete_incident_todo( self, incident_id: str, @@ -2054,6 +3352,45 @@ def delete_incident_user_defined_field( return self._delete_incident_user_defined_field_endpoint.call_with_http_info(**kwargs) + def delete_incident_user_defined_role( + self, + role_id: UUID, + ) -> None: + """Delete an incident user-defined role. + + Delete an existing user-defined role for incidents. + + :param role_id: The UUID of the incident user-defined role. + :type role_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["role_id"] = role_id + + return self._delete_incident_user_defined_role_endpoint.call_with_http_info(**kwargs) + + def delete_timestamp_override( + self, + incident_id: str, + id: UUID, + ) -> IncidentTimestampOverrideResponse: + """Delete an incident timestamp override. + + Delete a timestamp override for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param id: The UUID of the timestamp override. + :type id: UUID + :rtype: IncidentTimestampOverrideResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["id"] = id + + return self._delete_timestamp_override_endpoint.call_with_http_info(**kwargs) + def get_global_incident_settings( self, ) -> GlobalIncidentSettingsResponse: @@ -2090,6 +3427,23 @@ def get_incident( return self._get_incident_endpoint.call_with_http_info(**kwargs) + def get_incident_ai_postmortem( + self, + incident_id: str, + ) -> IncidentAIPostmortemResponse: + """Get an AI-generated incident postmortem. + + Generate an AI postmortem for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentAIPostmortemResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._get_incident_ai_postmortem_endpoint.call_with_http_info(**kwargs) + def get_incident_integration( self, incident_id: str, @@ -2177,6 +3531,45 @@ def get_incident_postmortem_template( return self._get_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + def get_incident_responder( + self, + incident_id: str, + responder_id: UUID, + ) -> IncidentResponderResponse: + """Get an incident responder. + + Get a single responder for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param responder_id: The UUID of the incident responder. + :type responder_id: UUID + :rtype: IncidentResponderResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["responder_id"] = responder_id + + return self._get_incident_responder_endpoint.call_with_http_info(**kwargs) + + def get_incident_rule( + self, + rule_id: UUID, + ) -> IncidentRuleResponse: + """Get an incident rule. + + Get a single incident rule by ID. + + :param rule_id: The UUID of the incident rule. + :type rule_id: UUID + :rtype: IncidentRuleResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["rule_id"] = rule_id + + return self._get_incident_rule_endpoint.call_with_http_info(**kwargs) + def get_incident_todo( self, incident_id: str, @@ -2212,33 +3605,81 @@ def get_incident_type( :rtype: IncidentTypeResponse """ kwargs: Dict[str, Any] = {} - kwargs["incident_type_id"] = incident_type_id + kwargs["incident_type_id"] = incident_type_id + + return self._get_incident_type_endpoint.call_with_http_info(**kwargs) + + def get_incident_user_defined_field( + self, + field_id: str, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentUserDefinedFieldResponse: + """Get an incident user-defined field. + + Get details of an incident user-defined field. + + :param field_id: The ID of the incident user-defined field. + :type field_id: str + :param include: Comma-separated list of related resources to include. Supported values are "last_modified_by_user", "created_by_user", and "incident_type". + :type include: str, optional + :rtype: IncidentUserDefinedFieldResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["field_id"] = field_id + + if include is not unset: + kwargs["include"] = include + + return self._get_incident_user_defined_field_endpoint.call_with_http_info(**kwargs) + + def get_incident_user_defined_role( + self, + role_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentUserDefinedRoleResponse: + """Get an incident user-defined role. + + Retrieve a single user-defined role for incidents. + + :param role_id: The UUID of the incident user-defined role. + :type role_id: UUID + :param include: Comma-separated list of related resources to include in the response. + :type include: str, optional + :rtype: IncidentUserDefinedRoleResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["role_id"] = role_id - return self._get_incident_type_endpoint.call_with_http_info(**kwargs) + if include is not unset: + kwargs["include"] = include - def get_incident_user_defined_field( + return self._get_incident_user_defined_role_endpoint.call_with_http_info(**kwargs) + + def get_org_settings_by_incident_type( self, - field_id: str, + incident_type_id: UUID, *, include: Union[str, UnsetType] = unset, - ) -> IncidentUserDefinedFieldResponse: - """Get an incident user-defined field. + ) -> IncidentOrgSettingsResponse: + """Get org settings by incident type. - Get details of an incident user-defined field. + Get the org settings for a specific incident type. - :param field_id: The ID of the incident user-defined field. - :type field_id: str - :param include: Comma-separated list of related resources to include. Supported values are "last_modified_by_user", "created_by_user", and "incident_type". + :param incident_type_id: The UUID of the incident type. + :type incident_type_id: UUID + :param include: Comma-separated list of related resources to include in the response. :type include: str, optional - :rtype: IncidentUserDefinedFieldResponse + :rtype: IncidentOrgSettingsResponse """ kwargs: Dict[str, Any] = {} - kwargs["field_id"] = field_id + kwargs["incident_type_id"] = incident_type_id if include is not unset: kwargs["include"] = include - return self._get_incident_user_defined_field_endpoint.call_with_http_info(**kwargs) + return self._get_org_settings_by_incident_type_endpoint.call_with_http_info(**kwargs) def import_incident( self, @@ -2266,6 +3707,28 @@ def import_incident( return self._import_incident_endpoint.call_with_http_info(**kwargs) + def link_page_to_incident( + self, + incident_id: str, + body: IncidentOnCallPageLinkRequest, + ) -> IncidentIntegrationMetadataResponse: + """Link a page to an incident. + + Link an existing on-call page to an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param body: On-call page link payload. + :type body: IncidentOnCallPageLinkRequest + :rtype: IncidentIntegrationMetadataResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._link_page_to_incident_endpoint.call_with_http_info(**kwargs) + def list_global_incident_handles( self, *, @@ -2315,6 +3778,18 @@ def list_incident_attachments( return self._list_incident_attachments_endpoint.call_with_http_info(**kwargs) + def list_incident_impact_fields( + self, + ) -> IncidentImpactFieldsResponse: + """List incident impact fields. + + List all impact fields for incidents. + + :rtype: IncidentImpactFieldsResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_incident_impact_fields_endpoint.call_with_http_info(**kwargs) + def list_incident_impacts( self, incident_id: str, @@ -2412,6 +3887,54 @@ def list_incident_postmortem_templates( kwargs: Dict[str, Any] = {} return self._list_incident_postmortem_templates_endpoint.call_with_http_info(**kwargs) + def list_incident_responders( + self, + incident_id: str, + ) -> IncidentRespondersResponse: + """List incident responders. + + List all responders for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentRespondersResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._list_incident_responders_endpoint.call_with_http_info(**kwargs) + + def list_incident_rules( + self, + *, + filter_task_id: Union[str, UnsetType] = unset, + filter_trigger: Union[str, UnsetType] = unset, + incident_type_uuid: Union[UUID, UnsetType] = unset, + ) -> IncidentRulesResponse: + """List incident rules. + + List all incident rules. + + :param filter_task_id: Filter rules by task ID. + :type filter_task_id: str, optional + :param filter_trigger: Filter rules by trigger. + :type filter_trigger: str, optional + :param incident_type_uuid: Filter rules by incident type UUID. + :type incident_type_uuid: UUID, optional + :rtype: IncidentRulesResponse + """ + kwargs: Dict[str, Any] = {} + if filter_task_id is not unset: + kwargs["filter_task_id"] = filter_task_id + + if filter_trigger is not unset: + kwargs["filter_trigger"] = filter_trigger + + if incident_type_uuid is not unset: + kwargs["incident_type_uuid"] = incident_type_uuid + + return self._list_incident_rules_endpoint.call_with_http_info(**kwargs) + def list_incidents( self, *, @@ -2565,6 +4088,119 @@ def list_incident_user_defined_fields( return self._list_incident_user_defined_fields_endpoint.call_with_http_info(**kwargs) + def list_incident_user_defined_roles( + self, + *, + filter_incident_type: Union[UUID, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> IncidentUserDefinedRolesResponse: + """List incident user-defined roles. + + List all user-defined roles for incidents. + + :param filter_incident_type: Filter roles by incident type UUID. + :type filter_incident_type: UUID, optional + :param include: Comma-separated list of related resources to include in the response. + :type include: str, optional + :rtype: IncidentUserDefinedRolesResponse + """ + kwargs: Dict[str, Any] = {} + if filter_incident_type is not unset: + kwargs["filter_incident_type"] = filter_incident_type + + if include is not unset: + kwargs["include"] = include + + return self._list_incident_user_defined_roles_endpoint.call_with_http_info(**kwargs) + + def list_org_settings( + self, + *, + page_size: Union[int, UnsetType] = unset, + page_offset: Union[int, UnsetType] = unset, + include_deleted: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> IncidentOrgSettingsListResponse: + """List incident type org settings. + + List org settings for all incident types. + + :param page_size: Maximum number of results to return. + :type page_size: int, optional + :param page_offset: The offset for pagination. + :type page_offset: int, optional + :param include_deleted: Whether to include deleted records. + :type include_deleted: bool, optional + :param include: Comma-separated list of related resources to include in the response. + :type include: str, optional + :rtype: IncidentOrgSettingsListResponse + """ + kwargs: Dict[str, Any] = {} + if page_size is not unset: + kwargs["page_size"] = page_size + + if page_offset is not unset: + kwargs["page_offset"] = page_offset + + if include_deleted is not unset: + kwargs["include_deleted"] = include_deleted + + if include is not unset: + kwargs["include"] = include + + return self._list_org_settings_endpoint.call_with_http_info(**kwargs) + + def list_timestamp_overrides( + self, + incident_id: str, + ) -> IncidentTimestampOverridesResponse: + """List incident timestamp overrides. + + List all timestamp overrides for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentTimestampOverridesResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._list_timestamp_overrides_endpoint.call_with_http_info(**kwargs) + + def patch_incident_impact( + self, + incident_id: str, + impact_id: str, + body: IncidentImpactCreateRequest, + *, + include: Union[List[IncidentImpactRelatedObject], UnsetType] = unset, + ) -> IncidentImpactResponse: + """Patch an incident impact. + + Partially update an incident impact. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param impact_id: The UUID of the incident impact. + :type impact_id: str + :param body: Incident impact patch payload. + :type body: IncidentImpactCreateRequest + :param include: Specifies which related resources should be included in the response. + :type include: [IncidentImpactRelatedObject], optional + :rtype: IncidentImpactResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["impact_id"] = impact_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._patch_incident_impact_endpoint.call_with_http_info(**kwargs) + def search_incidents( self, query: str, @@ -2764,6 +4400,128 @@ def update_incident_attachment( return self._update_incident_attachment_endpoint.call_with_http_info(**kwargs) + def update_incident_configuration( + self, + incident_id: str, + body: IncidentConfigurationPatchRequest, + ) -> IncidentConfigurationResponse: + """Update an incident configuration. + + Update a configuration for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param body: Incident configuration patch payload. + :type body: IncidentConfigurationPatchRequest + :rtype: IncidentConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._update_incident_configuration_endpoint.call_with_http_info(**kwargs) + + def update_incident_google_chat_configuration( + self, + id: UUID, + body: IncidentGoogleChatConfigurationPatchRequest, + ) -> IncidentGoogleChatConfigurationResponse: + """Update an incident Google Chat configuration. + + Update a Google Chat configuration for incidents. + + :param id: The UUID of the Google Chat configuration. + :type id: UUID + :param body: Google Chat configuration patch payload. + :type body: IncidentGoogleChatConfigurationPatchRequest + :rtype: IncidentGoogleChatConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["id"] = id + + kwargs["body"] = body + + return self._update_incident_google_chat_configuration_endpoint.call_with_http_info(**kwargs) + + def update_incident_google_meet_configuration( + self, + id: UUID, + body: IncidentGoogleMeetConfigurationPatchRequest, + ) -> IncidentGoogleMeetConfigurationResponse: + """Update an incident Google Meet configuration. + + Update a Google Meet configuration for incidents. + + :param id: The UUID of the Google Meet configuration. + :type id: UUID + :param body: Google Meet configuration patch payload. + :type body: IncidentGoogleMeetConfigurationPatchRequest + :rtype: IncidentGoogleMeetConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["id"] = id + + kwargs["body"] = body + + return self._update_incident_google_meet_configuration_endpoint.call_with_http_info(**kwargs) + + def update_incident_impact( + self, + incident_id: str, + impact_id: str, + body: IncidentImpactCreateRequest, + *, + include: Union[List[IncidentImpactRelatedObject], UnsetType] = unset, + ) -> IncidentImpactResponse: + """Update an incident impact. + + Update an incident impact. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param impact_id: The UUID of the incident impact. + :type impact_id: str + :param body: Incident impact payload. + :type body: IncidentImpactCreateRequest + :param include: Specifies which related resources should be included in the response. + :type include: [IncidentImpactRelatedObject], optional + :rtype: IncidentImpactResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["impact_id"] = impact_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_incident_impact_endpoint.call_with_http_info(**kwargs) + + def update_incident_impact_field( + self, + field_id: UUID, + body: IncidentImpactFieldRequest, + ) -> IncidentImpactFieldResponse: + """Update an incident impact field. + + Update an impact field for incidents. + + :param field_id: The UUID of the impact field. + :type field_id: UUID + :param body: Impact field update payload. + :type body: IncidentImpactFieldRequest + :rtype: IncidentImpactFieldResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["field_id"] = field_id + + kwargs["body"] = body + + return self._update_incident_impact_field_endpoint.call_with_http_info(**kwargs) + def update_incident_integration( self, incident_id: str, @@ -2868,6 +4626,28 @@ def update_incident_postmortem_template( return self._update_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + def update_incident_rule( + self, + rule_id: UUID, + body: IncidentRulePatchRequest, + ) -> IncidentRuleResponse: + """Update an incident rule. + + Update an incident rule. + + :param rule_id: The UUID of the incident rule. + :type rule_id: UUID + :param body: Incident rule patch payload. + :type body: IncidentRulePatchRequest + :rtype: IncidentRuleResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["rule_id"] = rule_id + + kwargs["body"] = body + + return self._update_incident_rule_endpoint.call_with_http_info(**kwargs) + def update_incident_todo( self, incident_id: str, @@ -2945,3 +4725,58 @@ def update_incident_user_defined_field( kwargs["body"] = body return self._update_incident_user_defined_field_endpoint.call_with_http_info(**kwargs) + + def update_incident_user_defined_role( + self, + role_id: UUID, + body: IncidentUserDefinedRolePatchRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentUserDefinedRoleResponse: + """Update an incident user-defined role. + + Update an existing user-defined role for incidents. + + :param role_id: The UUID of the incident user-defined role. + :type role_id: UUID + :type body: IncidentUserDefinedRolePatchRequest + :param include: Comma-separated list of related resources to include in the response. + :type include: str, optional + :rtype: IncidentUserDefinedRoleResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["role_id"] = role_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_incident_user_defined_role_endpoint.call_with_http_info(**kwargs) + + def update_timestamp_override( + self, + incident_id: str, + id: UUID, + body: IncidentTimestampOverridePatchRequest, + ) -> IncidentTimestampOverrideResponse: + """Update an incident timestamp override. + + Update a timestamp override for an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param id: The UUID of the timestamp override. + :type id: UUID + :param body: Timestamp override patch payload. + :type body: IncidentTimestampOverridePatchRequest + :rtype: IncidentTimestampOverrideResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["id"] = id + + kwargs["body"] = body + + return self._update_timestamp_override_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/model/incident_ai_postmortem_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_ai_postmortem_data_attributes_response.py new file mode 100644 index 0000000000..3ea7a3bfc2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_ai_postmortem_data_attributes_response.py @@ -0,0 +1,88 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentAIPostmortemDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "action_items": (str,), + "customer_impact": (str,), + "executive_summary": (str,), + "key_insights": (str,), + "key_timeline": (str,), + "lessons_learned": (str,), + "system_overview": (str,), + } + + attribute_map = { + "action_items": "action_items", + "customer_impact": "customer_impact", + "executive_summary": "executive_summary", + "key_insights": "key_insights", + "key_timeline": "key_timeline", + "lessons_learned": "lessons_learned", + "system_overview": "system_overview", + } + + def __init__( + self_, + action_items: Union[str, UnsetType] = unset, + customer_impact: Union[str, UnsetType] = unset, + executive_summary: Union[str, UnsetType] = unset, + key_insights: Union[str, UnsetType] = unset, + key_timeline: Union[str, UnsetType] = unset, + lessons_learned: Union[str, UnsetType] = unset, + system_overview: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an AI-generated incident postmortem. + + :param action_items: Action items to prevent recurrence. + :type action_items: str, optional + + :param customer_impact: The impact of the incident on customers. + :type customer_impact: str, optional + + :param executive_summary: An executive summary of the incident. + :type executive_summary: str, optional + + :param key_insights: Key insights from the incident. + :type key_insights: str, optional + + :param key_timeline: Key timeline events during the incident. + :type key_timeline: str, optional + + :param lessons_learned: Lessons learned from the incident. + :type lessons_learned: str, optional + + :param system_overview: An overview of the affected systems. + :type system_overview: str, optional + """ + if action_items is not unset: + kwargs["action_items"] = action_items + if customer_impact is not unset: + kwargs["customer_impact"] = customer_impact + if executive_summary is not unset: + kwargs["executive_summary"] = executive_summary + if key_insights is not unset: + kwargs["key_insights"] = key_insights + if key_timeline is not unset: + kwargs["key_timeline"] = key_timeline + if lessons_learned is not unset: + kwargs["lessons_learned"] = lessons_learned + if system_overview is not unset: + kwargs["system_overview"] = system_overview + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_ai_postmortem_data_response.py b/src/datadog_api_client/v2/model/incident_ai_postmortem_data_response.py new file mode 100644 index 0000000000..ff5e671601 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_ai_postmortem_data_response.py @@ -0,0 +1,65 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_ai_postmortem_data_attributes_response import ( + IncidentAIPostmortemDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_ai_postmortem_response_type import IncidentAIPostmortemResponseType + + +class IncidentAIPostmortemDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_ai_postmortem_data_attributes_response import ( + IncidentAIPostmortemDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_ai_postmortem_response_type import IncidentAIPostmortemResponseType + + return { + "attributes": (IncidentAIPostmortemDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentAIPostmortemResponseType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentAIPostmortemDataAttributesResponse, + id: UUID, + type: IncidentAIPostmortemResponseType, + **kwargs, + ): + """ + AI postmortem data in a response. + + :param attributes: Attributes of an AI-generated incident postmortem. + :type attributes: IncidentAIPostmortemDataAttributesResponse + + :param id: The incident identifier. + :type id: UUID + + :param type: AI postmortem response resource type. + :type type: IncidentAIPostmortemResponseType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_ai_postmortem_response.py b/src/datadog_api_client/v2/model/incident_ai_postmortem_response.py new file mode 100644 index 0000000000..d26175e05d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_ai_postmortem_response.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_ai_postmortem_data_response import IncidentAIPostmortemDataResponse + + +class IncidentAIPostmortemResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_ai_postmortem_data_response import IncidentAIPostmortemDataResponse + + return { + "data": (IncidentAIPostmortemDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentAIPostmortemDataResponse, **kwargs): + """ + Response with an AI-generated incident postmortem. + + :param data: AI postmortem data in a response. + :type data: IncidentAIPostmortemDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_ai_postmortem_response_type.py b/src/datadog_api_client/v2/model/incident_ai_postmortem_response_type.py new file mode 100644 index 0000000000..f1d91f0056 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_ai_postmortem_response_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentAIPostmortemResponseType(ModelSimple): + """ + AI postmortem response resource type. + + :param value: If omitted defaults to "get_incident_ai_postmortem_response". Must be one of ["get_incident_ai_postmortem_response"]. + :type value: str + """ + + allowed_values = { + "get_incident_ai_postmortem_response", + } + GET_INCIDENT_AI_POSTMORTEM_RESPONSE: ClassVar["IncidentAIPostmortemResponseType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentAIPostmortemResponseType.GET_INCIDENT_AI_POSTMORTEM_RESPONSE = IncidentAIPostmortemResponseType( + "get_incident_ai_postmortem_response" +) diff --git a/src/datadog_api_client/v2/model/incident_configuration_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_configuration_data_attributes_request.py new file mode 100644 index 0000000000..81100c8e1e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_data_attributes_request.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentConfigurationDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "execute_integrations": (bool,), + "execute_notification_rules": (bool,), + "include_in_analytics": (bool,), + "include_in_search": (bool,), + } + + attribute_map = { + "execute_integrations": "execute_integrations", + "execute_notification_rules": "execute_notification_rules", + "include_in_analytics": "include_in_analytics", + "include_in_search": "include_in_search", + } + + def __init__( + self_, + execute_integrations: Union[bool, UnsetType] = unset, + execute_notification_rules: Union[bool, UnsetType] = unset, + include_in_analytics: Union[bool, UnsetType] = unset, + include_in_search: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating an incident configuration. + + :param execute_integrations: Whether to execute integrations for this incident. + :type execute_integrations: bool, optional + + :param execute_notification_rules: Whether to execute notification rules for this incident. + :type execute_notification_rules: bool, optional + + :param include_in_analytics: Whether to include this incident in analytics. + :type include_in_analytics: bool, optional + + :param include_in_search: Whether to include this incident in search results. + :type include_in_search: bool, optional + """ + if execute_integrations is not unset: + kwargs["execute_integrations"] = execute_integrations + if execute_notification_rules is not unset: + kwargs["execute_notification_rules"] = execute_notification_rules + if include_in_analytics is not unset: + kwargs["include_in_analytics"] = include_in_analytics + if include_in_search is not unset: + kwargs["include_in_search"] = include_in_search + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_configuration_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_configuration_data_attributes_response.py new file mode 100644 index 0000000000..8bd2b36685 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_data_attributes_response.py @@ -0,0 +1,87 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + unset, + UnsetType, +) + + +class IncidentConfigurationDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created_at": (datetime,), + "execute_integrations": (bool,), + "execute_notification_rules": (bool,), + "incident_id": (str,), + "include_in_analytics": (bool,), + "include_in_search": (bool,), + "modified_at": (datetime,), + } + + attribute_map = { + "created_at": "created_at", + "execute_integrations": "execute_integrations", + "execute_notification_rules": "execute_notification_rules", + "incident_id": "incident_id", + "include_in_analytics": "include_in_analytics", + "include_in_search": "include_in_search", + "modified_at": "modified_at", + } + + def __init__( + self_, + created_at: datetime, + incident_id: str, + modified_at: datetime, + execute_integrations: Union[bool, UnsetType] = unset, + execute_notification_rules: Union[bool, UnsetType] = unset, + include_in_analytics: Union[bool, UnsetType] = unset, + include_in_search: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an incident configuration in a response. + + :param created_at: Timestamp when the configuration was created. + :type created_at: datetime + + :param execute_integrations: Whether integrations are executed for this incident. + :type execute_integrations: bool, optional + + :param execute_notification_rules: Whether notification rules are executed for this incident. + :type execute_notification_rules: bool, optional + + :param incident_id: The incident identifier. + :type incident_id: str + + :param include_in_analytics: Whether this incident is included in analytics. + :type include_in_analytics: bool, optional + + :param include_in_search: Whether this incident is included in search results. + :type include_in_search: bool, optional + + :param modified_at: Timestamp when the configuration was last modified. + :type modified_at: datetime + """ + if execute_integrations is not unset: + kwargs["execute_integrations"] = execute_integrations + if execute_notification_rules is not unset: + kwargs["execute_notification_rules"] = execute_notification_rules + if include_in_analytics is not unset: + kwargs["include_in_analytics"] = include_in_analytics + if include_in_search is not unset: + kwargs["include_in_search"] = include_in_search + super().__init__(kwargs) + + self_.created_at = created_at + self_.incident_id = incident_id + self_.modified_at = modified_at diff --git a/src/datadog_api_client/v2/model/incident_configuration_data_request.py b/src/datadog_api_client/v2/model/incident_configuration_data_request.py new file mode 100644 index 0000000000..83e10f097b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_data_request.py @@ -0,0 +1,60 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_configuration_data_attributes_request import ( + IncidentConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_configuration_type import IncidentConfigurationType + + +class IncidentConfigurationDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_configuration_data_attributes_request import ( + IncidentConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_configuration_type import IncidentConfigurationType + + return { + "attributes": (IncidentConfigurationDataAttributesRequest,), + "type": (IncidentConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + type: IncidentConfigurationType, + attributes: Union[IncidentConfigurationDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + Incident configuration data in a create request. + + :param attributes: Attributes for creating an incident configuration. + :type attributes: IncidentConfigurationDataAttributesRequest, optional + + :param type: Incident configuration resource type. + :type type: IncidentConfigurationType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_configuration_data_response.py b/src/datadog_api_client/v2/model/incident_configuration_data_response.py new file mode 100644 index 0000000000..36410a3ee7 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_data_response.py @@ -0,0 +1,77 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_configuration_data_attributes_response import ( + IncidentConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_configuration_relationships import IncidentConfigurationRelationships + from datadog_api_client.v2.model.incident_configuration_type import IncidentConfigurationType + + +class IncidentConfigurationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_configuration_data_attributes_response import ( + IncidentConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_configuration_relationships import IncidentConfigurationRelationships + from datadog_api_client.v2.model.incident_configuration_type import IncidentConfigurationType + + return { + "attributes": (IncidentConfigurationDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentConfigurationRelationships,), + "type": (IncidentConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentConfigurationDataAttributesResponse, + id: UUID, + type: IncidentConfigurationType, + relationships: Union[IncidentConfigurationRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Incident configuration data in a response. + + :param attributes: Attributes of an incident configuration in a response. + :type attributes: IncidentConfigurationDataAttributesResponse + + :param id: The incident configuration identifier. + :type id: UUID + + :param relationships: Relationships for an incident configuration. + :type relationships: IncidentConfigurationRelationships, optional + + :param type: Incident configuration resource type. + :type type: IncidentConfigurationType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_configuration_patch_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_configuration_patch_data_attributes_request.py new file mode 100644 index 0000000000..84c1c3263b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_patch_data_attributes_request.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentConfigurationPatchDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "execute_integrations": (bool,), + "execute_notification_rules": (bool,), + "include_in_analytics": (bool,), + "include_in_search": (bool,), + } + + attribute_map = { + "execute_integrations": "execute_integrations", + "execute_notification_rules": "execute_notification_rules", + "include_in_analytics": "include_in_analytics", + "include_in_search": "include_in_search", + } + + def __init__( + self_, + execute_integrations: Union[bool, UnsetType] = unset, + execute_notification_rules: Union[bool, UnsetType] = unset, + include_in_analytics: Union[bool, UnsetType] = unset, + include_in_search: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for patching an incident configuration. All fields are optional. + + :param execute_integrations: Whether to execute integrations for this incident. + :type execute_integrations: bool, optional + + :param execute_notification_rules: Whether to execute notification rules for this incident. + :type execute_notification_rules: bool, optional + + :param include_in_analytics: Whether to include this incident in analytics. + :type include_in_analytics: bool, optional + + :param include_in_search: Whether to include this incident in search results. + :type include_in_search: bool, optional + """ + if execute_integrations is not unset: + kwargs["execute_integrations"] = execute_integrations + if execute_notification_rules is not unset: + kwargs["execute_notification_rules"] = execute_notification_rules + if include_in_analytics is not unset: + kwargs["include_in_analytics"] = include_in_analytics + if include_in_search is not unset: + kwargs["include_in_search"] = include_in_search + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_configuration_patch_data_request.py b/src/datadog_api_client/v2/model/incident_configuration_patch_data_request.py new file mode 100644 index 0000000000..d3eb92b041 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_patch_data_request.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_configuration_patch_data_attributes_request import ( + IncidentConfigurationPatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_configuration_type import IncidentConfigurationType + + +class IncidentConfigurationPatchDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_configuration_patch_data_attributes_request import ( + IncidentConfigurationPatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_configuration_type import IncidentConfigurationType + + return { + "attributes": (IncidentConfigurationPatchDataAttributesRequest,), + "id": (UUID,), + "type": (IncidentConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + id: UUID, + type: IncidentConfigurationType, + attributes: Union[IncidentConfigurationPatchDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + Incident configuration data in a patch request. + + :param attributes: Attributes for patching an incident configuration. All fields are optional. + :type attributes: IncidentConfigurationPatchDataAttributesRequest, optional + + :param id: The incident configuration identifier. + :type id: UUID + + :param type: Incident configuration resource type. + :type type: IncidentConfigurationType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_configuration_patch_request.py b/src/datadog_api_client/v2/model/incident_configuration_patch_request.py new file mode 100644 index 0000000000..94079e42cb --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_patch_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_configuration_patch_data_request import ( + IncidentConfigurationPatchDataRequest, + ) + + +class IncidentConfigurationPatchRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_configuration_patch_data_request import ( + IncidentConfigurationPatchDataRequest, + ) + + return { + "data": (IncidentConfigurationPatchDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentConfigurationPatchDataRequest, **kwargs): + """ + Request payload for patching an incident configuration. + + :param data: Incident configuration data in a patch request. + :type data: IncidentConfigurationPatchDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_configuration_relationships.py b/src/datadog_api_client/v2/model/incident_configuration_relationships.py new file mode 100644 index 0000000000..c0969cd715 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_relationships.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + + +class IncidentConfigurationRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + + return { + "created_by_user": (RelationshipToUser,), + "last_modified_by_user": (RelationshipToUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[RelationshipToUser, UnsetType] = unset, + last_modified_by_user: Union[RelationshipToUser, UnsetType] = unset, + **kwargs, + ): + """ + Relationships for an incident configuration. + + :param created_by_user: Relationship to user. + :type created_by_user: RelationshipToUser, optional + + :param last_modified_by_user: Relationship to user. + :type last_modified_by_user: RelationshipToUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_configuration_request.py b/src/datadog_api_client/v2/model/incident_configuration_request.py new file mode 100644 index 0000000000..60a1a8f94f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_configuration_data_request import IncidentConfigurationDataRequest + + +class IncidentConfigurationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_configuration_data_request import IncidentConfigurationDataRequest + + return { + "data": (IncidentConfigurationDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentConfigurationDataRequest, **kwargs): + """ + Request payload for creating an incident configuration. + + :param data: Incident configuration data in a create request. + :type data: IncidentConfigurationDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_configuration_response.py b/src/datadog_api_client/v2/model/incident_configuration_response.py new file mode 100644 index 0000000000..4a50467643 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_response.py @@ -0,0 +1,59 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_configuration_data_response import IncidentConfigurationDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentConfigurationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_configuration_data_response import IncidentConfigurationDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": (IncidentConfigurationDataResponse,), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, + data: IncidentConfigurationDataResponse, + included: Union[List[IncidentUserData], UnsetType] = unset, + **kwargs, + ): + """ + Response with an incident configuration. + + :param data: Incident configuration data in a response. + :type data: IncidentConfigurationDataResponse + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_configuration_type.py b/src/datadog_api_client/v2/model/incident_configuration_type.py new file mode 100644 index 0000000000..81b5acd8b1 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_configuration_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentConfigurationType(ModelSimple): + """ + Incident configuration resource type. + + :param value: If omitted defaults to "incidents_configurations". Must be one of ["incidents_configurations"]. + :type value: str + """ + + allowed_values = { + "incidents_configurations", + } + INCIDENTS_CONFIGURATIONS: ClassVar["IncidentConfigurationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentConfigurationType.INCIDENTS_CONFIGURATIONS = IncidentConfigurationType("incidents_configurations") diff --git a/src/datadog_api_client/v2/model/incident_create_on_call_page_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_create_on_call_page_data_attributes_request.py new file mode 100644 index 0000000000..1dc8e9417f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_on_call_page_data_attributes_request.py @@ -0,0 +1,88 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_page_role_reference import IncidentPageRoleReference + from datadog_api_client.v2.model.incident_page_target import IncidentPageTarget + + +class IncidentCreateOnCallPageDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_page_role_reference import IncidentPageRoleReference + from datadog_api_client.v2.model.incident_page_target import IncidentPageTarget + + return { + "description": (str,), + "role": (IncidentPageRoleReference,), + "services": ([str],), + "tags": ([str],), + "target": (IncidentPageTarget,), + "title": (str,), + } + + attribute_map = { + "description": "description", + "role": "role", + "services": "services", + "tags": "tags", + "target": "target", + "title": "title", + } + + def __init__( + self_, + description: Union[str, UnsetType] = unset, + role: Union[IncidentPageRoleReference, UnsetType] = unset, + services: Union[List[str], UnsetType] = unset, + tags: Union[List[str], UnsetType] = unset, + target: Union[IncidentPageTarget, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating an on-call page from an incident. + + :param description: The description of the page. + :type description: str, optional + + :param role: A reference to an incident role for a page. + :type role: IncidentPageRoleReference, optional + + :param services: List of affected services. + :type services: [str], optional + + :param tags: List of tags for the page. + :type tags: [str], optional + + :param target: The target recipient for a page. + :type target: IncidentPageTarget, optional + + :param title: The title of the page. + :type title: str, optional + """ + if description is not unset: + kwargs["description"] = description + if role is not unset: + kwargs["role"] = role + if services is not unset: + kwargs["services"] = services + if tags is not unset: + kwargs["tags"] = tags + if target is not unset: + kwargs["target"] = target + if title is not unset: + kwargs["title"] = title + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_create_on_call_page_data_request.py b/src/datadog_api_client/v2/model/incident_create_on_call_page_data_request.py new file mode 100644 index 0000000000..21bae2fbf8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_on_call_page_data_request.py @@ -0,0 +1,59 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_create_on_call_page_data_attributes_request import ( + IncidentCreateOnCallPageDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_create_page_from_incident_type import IncidentCreatePageFromIncidentType + + +class IncidentCreateOnCallPageDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_create_on_call_page_data_attributes_request import ( + IncidentCreateOnCallPageDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_create_page_from_incident_type import ( + IncidentCreatePageFromIncidentType, + ) + + return { + "attributes": (IncidentCreateOnCallPageDataAttributesRequest,), + "type": (IncidentCreatePageFromIncidentType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentCreateOnCallPageDataAttributesRequest, + type: IncidentCreatePageFromIncidentType, + **kwargs, + ): + """ + On-call page data in a create request. + + :param attributes: Attributes for creating an on-call page from an incident. + :type attributes: IncidentCreateOnCallPageDataAttributesRequest + + :param type: Resource type for a page creation request. + :type type: IncidentCreatePageFromIncidentType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_create_on_call_page_request.py b/src/datadog_api_client/v2/model/incident_create_on_call_page_request.py new file mode 100644 index 0000000000..0e70fb5bb5 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_on_call_page_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_create_on_call_page_data_request import ( + IncidentCreateOnCallPageDataRequest, + ) + + +class IncidentCreateOnCallPageRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_create_on_call_page_data_request import ( + IncidentCreateOnCallPageDataRequest, + ) + + return { + "data": (IncidentCreateOnCallPageDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentCreateOnCallPageDataRequest, **kwargs): + """ + Request payload for creating an on-call page from an incident. + + :param data: On-call page data in a create request. + :type data: IncidentCreateOnCallPageDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_create_page_from_incident_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_create_page_from_incident_data_attributes_request.py new file mode 100644 index 0000000000..d04590173a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_page_from_incident_data_attributes_request.py @@ -0,0 +1,96 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_page_role_reference import IncidentPageRoleReference + from datadog_api_client.v2.model.incident_page_target import IncidentPageTarget + + +class IncidentCreatePageFromIncidentDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_page_role_reference import IncidentPageRoleReference + from datadog_api_client.v2.model.incident_page_target import IncidentPageTarget + + return { + "description": (str,), + "incident_public_id": (str,), + "role": (IncidentPageRoleReference,), + "services": ([str],), + "tags": ([str],), + "target": (IncidentPageTarget,), + "title": (str,), + } + + attribute_map = { + "description": "description", + "incident_public_id": "incident_public_id", + "role": "role", + "services": "services", + "tags": "tags", + "target": "target", + "title": "title", + } + + def __init__( + self_, + description: Union[str, UnsetType] = unset, + incident_public_id: Union[str, UnsetType] = unset, + role: Union[IncidentPageRoleReference, UnsetType] = unset, + services: Union[List[str], UnsetType] = unset, + tags: Union[List[str], UnsetType] = unset, + target: Union[IncidentPageTarget, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating a page from an incident. + + :param description: The description of the page. + :type description: str, optional + + :param incident_public_id: The public ID of the incident. + :type incident_public_id: str, optional + + :param role: A reference to an incident role for a page. + :type role: IncidentPageRoleReference, optional + + :param services: List of affected services. + :type services: [str], optional + + :param tags: List of tags for the page. + :type tags: [str], optional + + :param target: The target recipient for a page. + :type target: IncidentPageTarget, optional + + :param title: The title of the page. + :type title: str, optional + """ + if description is not unset: + kwargs["description"] = description + if incident_public_id is not unset: + kwargs["incident_public_id"] = incident_public_id + if role is not unset: + kwargs["role"] = role + if services is not unset: + kwargs["services"] = services + if tags is not unset: + kwargs["tags"] = tags + if target is not unset: + kwargs["target"] = target + if title is not unset: + kwargs["title"] = title + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_create_page_from_incident_data_request.py b/src/datadog_api_client/v2/model/incident_create_page_from_incident_data_request.py new file mode 100644 index 0000000000..f30571bf2e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_page_from_incident_data_request.py @@ -0,0 +1,59 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_create_page_from_incident_data_attributes_request import ( + IncidentCreatePageFromIncidentDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_create_page_from_incident_type import IncidentCreatePageFromIncidentType + + +class IncidentCreatePageFromIncidentDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_create_page_from_incident_data_attributes_request import ( + IncidentCreatePageFromIncidentDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_create_page_from_incident_type import ( + IncidentCreatePageFromIncidentType, + ) + + return { + "attributes": (IncidentCreatePageFromIncidentDataAttributesRequest,), + "type": (IncidentCreatePageFromIncidentType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentCreatePageFromIncidentDataAttributesRequest, + type: IncidentCreatePageFromIncidentType, + **kwargs, + ): + """ + Page data in a create request. + + :param attributes: Attributes for creating a page from an incident. + :type attributes: IncidentCreatePageFromIncidentDataAttributesRequest + + :param type: Resource type for a page creation request. + :type type: IncidentCreatePageFromIncidentType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_create_page_from_incident_request.py b/src/datadog_api_client/v2/model/incident_create_page_from_incident_request.py new file mode 100644 index 0000000000..fa7fe00ccf --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_page_from_incident_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_create_page_from_incident_data_request import ( + IncidentCreatePageFromIncidentDataRequest, + ) + + +class IncidentCreatePageFromIncidentRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_create_page_from_incident_data_request import ( + IncidentCreatePageFromIncidentDataRequest, + ) + + return { + "data": (IncidentCreatePageFromIncidentDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentCreatePageFromIncidentDataRequest, **kwargs): + """ + Request payload for creating a page from an incident. + + :param data: Page data in a create request. + :type data: IncidentCreatePageFromIncidentDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_create_page_from_incident_type.py b/src/datadog_api_client/v2/model/incident_create_page_from_incident_type.py new file mode 100644 index 0000000000..092f7de7b5 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_page_from_incident_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentCreatePageFromIncidentType(ModelSimple): + """ + Resource type for a page creation request. + + :param value: If omitted defaults to "page". Must be one of ["page"]. + :type value: str + """ + + allowed_values = { + "page", + } + PAGE: ClassVar["IncidentCreatePageFromIncidentType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentCreatePageFromIncidentType.PAGE = IncidentCreatePageFromIncidentType("page") diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_attributes_request.py new file mode 100644 index 0000000000..577ceb02c4 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_attributes_request.py @@ -0,0 +1,53 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class IncidentGoogleChatConfigurationDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "domain_id": (str,), + "space_name_template": (str,), + "space_target_audience_id": (str,), + "space_time_zone": (str,), + } + + attribute_map = { + "domain_id": "domain_id", + "space_name_template": "space_name_template", + "space_target_audience_id": "space_target_audience_id", + "space_time_zone": "space_time_zone", + } + + def __init__( + self_, domain_id: str, space_name_template: str, space_target_audience_id: str, space_time_zone: str, **kwargs + ): + """ + Attributes for creating a Google Chat configuration. + + :param domain_id: The Google Chat domain ID. + :type domain_id: str + + :param space_name_template: The template for the Google Chat space name. + :type space_name_template: str + + :param space_target_audience_id: The target audience ID for the Google Chat space. + :type space_target_audience_id: str + + :param space_time_zone: The time zone for the Google Chat space. + :type space_time_zone: str + """ + super().__init__(kwargs) + + self_.domain_id = domain_id + self_.space_name_template = space_name_template + self_.space_target_audience_id = space_target_audience_id + self_.space_time_zone = space_time_zone diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_attributes_response.py new file mode 100644 index 0000000000..51d4308b8f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_attributes_response.py @@ -0,0 +1,73 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +class IncidentGoogleChatConfigurationDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created_at": (datetime,), + "domain_id": (str,), + "modified_at": (datetime,), + "space_name_template": (str,), + "space_target_audience_id": (str,), + "space_time_zone": (str,), + } + + attribute_map = { + "created_at": "created_at", + "domain_id": "domain_id", + "modified_at": "modified_at", + "space_name_template": "space_name_template", + "space_target_audience_id": "space_target_audience_id", + "space_time_zone": "space_time_zone", + } + + def __init__( + self_, + created_at: datetime, + domain_id: str, + modified_at: datetime, + space_name_template: str, + space_target_audience_id: str, + space_time_zone: str, + **kwargs, + ): + """ + Attributes of a Google Chat configuration. + + :param created_at: Timestamp when the configuration was created. + :type created_at: datetime + + :param domain_id: The Google Chat domain ID. + :type domain_id: str + + :param modified_at: Timestamp when the configuration was last modified. + :type modified_at: datetime + + :param space_name_template: The template for the Google Chat space name. + :type space_name_template: str + + :param space_target_audience_id: The target audience ID for the Google Chat space. + :type space_target_audience_id: str + + :param space_time_zone: The time zone for the Google Chat space. + :type space_time_zone: str + """ + super().__init__(kwargs) + + self_.created_at = created_at + self_.domain_id = domain_id + self_.modified_at = modified_at + self_.space_name_template = space_name_template + self_.space_target_audience_id = space_target_audience_id + self_.space_time_zone = space_time_zone diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_request.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_request.py new file mode 100644 index 0000000000..19bee9f0a0 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_request.py @@ -0,0 +1,72 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_chat_configuration_data_attributes_request import ( + IncidentGoogleChatConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_relationships_request import ( + IncidentGoogleChatConfigurationRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_type import IncidentGoogleChatConfigurationType + + +class IncidentGoogleChatConfigurationDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_chat_configuration_data_attributes_request import ( + IncidentGoogleChatConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_relationships_request import ( + IncidentGoogleChatConfigurationRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_type import ( + IncidentGoogleChatConfigurationType, + ) + + return { + "attributes": (IncidentGoogleChatConfigurationDataAttributesRequest,), + "relationships": (IncidentGoogleChatConfigurationRelationshipsRequest,), + "type": (IncidentGoogleChatConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentGoogleChatConfigurationDataAttributesRequest, + relationships: IncidentGoogleChatConfigurationRelationshipsRequest, + type: IncidentGoogleChatConfigurationType, + **kwargs, + ): + """ + Google Chat configuration data in a create request. + + :param attributes: Attributes for creating a Google Chat configuration. + :type attributes: IncidentGoogleChatConfigurationDataAttributesRequest + + :param relationships: Relationships for a Google Chat configuration create request. + :type relationships: IncidentGoogleChatConfigurationRelationshipsRequest + + :param type: Google Chat configuration resource type. + :type type: IncidentGoogleChatConfigurationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.relationships = relationships + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_response.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_response.py new file mode 100644 index 0000000000..8e1c45e49b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_data_response.py @@ -0,0 +1,83 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_chat_configuration_data_attributes_response import ( + IncidentGoogleChatConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_relationships import ( + IncidentGoogleChatConfigurationRelationships, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_type import IncidentGoogleChatConfigurationType + + +class IncidentGoogleChatConfigurationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_chat_configuration_data_attributes_response import ( + IncidentGoogleChatConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_relationships import ( + IncidentGoogleChatConfigurationRelationships, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_type import ( + IncidentGoogleChatConfigurationType, + ) + + return { + "attributes": (IncidentGoogleChatConfigurationDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentGoogleChatConfigurationRelationships,), + "type": (IncidentGoogleChatConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentGoogleChatConfigurationDataAttributesResponse, + id: UUID, + type: IncidentGoogleChatConfigurationType, + relationships: Union[IncidentGoogleChatConfigurationRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Google Chat configuration data in a response. + + :param attributes: Attributes of a Google Chat configuration. + :type attributes: IncidentGoogleChatConfigurationDataAttributesResponse + + :param id: The configuration identifier. + :type id: UUID + + :param relationships: Relationships for a Google Chat configuration. + :type relationships: IncidentGoogleChatConfigurationRelationships, optional + + :param type: Google Chat configuration resource type. + :type type: IncidentGoogleChatConfigurationType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_data_attributes_request.py new file mode 100644 index 0000000000..cc679f2074 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_data_attributes_request.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentGoogleChatConfigurationPatchDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "domain_id": (str,), + "space_name_template": (str,), + "space_target_audience_id": (str,), + "space_time_zone": (str,), + } + + attribute_map = { + "domain_id": "domain_id", + "space_name_template": "space_name_template", + "space_target_audience_id": "space_target_audience_id", + "space_time_zone": "space_time_zone", + } + + def __init__( + self_, + domain_id: Union[str, UnsetType] = unset, + space_name_template: Union[str, UnsetType] = unset, + space_target_audience_id: Union[str, UnsetType] = unset, + space_time_zone: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for patching a Google Chat configuration. All fields are optional. + + :param domain_id: The Google Chat domain ID. + :type domain_id: str, optional + + :param space_name_template: The template for the Google Chat space name. + :type space_name_template: str, optional + + :param space_target_audience_id: The target audience ID for the Google Chat space. + :type space_target_audience_id: str, optional + + :param space_time_zone: The time zone for the Google Chat space. + :type space_time_zone: str, optional + """ + if domain_id is not unset: + kwargs["domain_id"] = domain_id + if space_name_template is not unset: + kwargs["space_name_template"] = space_name_template + if space_target_audience_id is not unset: + kwargs["space_target_audience_id"] = space_target_audience_id + if space_time_zone is not unset: + kwargs["space_time_zone"] = space_time_zone + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_data_request.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_data_request.py new file mode 100644 index 0000000000..107b12ccb7 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_data_request.py @@ -0,0 +1,70 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_chat_configuration_patch_data_attributes_request import ( + IncidentGoogleChatConfigurationPatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_type import IncidentGoogleChatConfigurationType + + +class IncidentGoogleChatConfigurationPatchDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_chat_configuration_patch_data_attributes_request import ( + IncidentGoogleChatConfigurationPatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_google_chat_configuration_type import ( + IncidentGoogleChatConfigurationType, + ) + + return { + "attributes": (IncidentGoogleChatConfigurationPatchDataAttributesRequest,), + "id": (UUID,), + "type": (IncidentGoogleChatConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + id: UUID, + type: IncidentGoogleChatConfigurationType, + attributes: Union[IncidentGoogleChatConfigurationPatchDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + Google Chat configuration data in a patch request. + + :param attributes: Attributes for patching a Google Chat configuration. All fields are optional. + :type attributes: IncidentGoogleChatConfigurationPatchDataAttributesRequest, optional + + :param id: The configuration identifier. + :type id: UUID + + :param type: Google Chat configuration resource type. + :type type: IncidentGoogleChatConfigurationType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_request.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_request.py new file mode 100644 index 0000000000..404e16352c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_patch_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_chat_configuration_patch_data_request import ( + IncidentGoogleChatConfigurationPatchDataRequest, + ) + + +class IncidentGoogleChatConfigurationPatchRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_chat_configuration_patch_data_request import ( + IncidentGoogleChatConfigurationPatchDataRequest, + ) + + return { + "data": (IncidentGoogleChatConfigurationPatchDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentGoogleChatConfigurationPatchDataRequest, **kwargs): + """ + Request payload for patching a Google Chat configuration. + + :param data: Google Chat configuration data in a patch request. + :type data: IncidentGoogleChatConfigurationPatchDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_relationships.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_relationships.py new file mode 100644 index 0000000000..e19869df85 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_relationships.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + +class IncidentGoogleChatConfigurationRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + return { + "created_by_user": (RelationshipToUser,), + "incident_type": (RelationshipToIncidentType,), + "last_modified_by_user": (RelationshipToUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "incident_type": "incident_type", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[RelationshipToUser, UnsetType] = unset, + incident_type: Union[RelationshipToIncidentType, UnsetType] = unset, + last_modified_by_user: Union[RelationshipToUser, UnsetType] = unset, + **kwargs, + ): + """ + Relationships for a Google Chat configuration. + + :param created_by_user: Relationship to user. + :type created_by_user: RelationshipToUser, optional + + :param incident_type: Relationship to an incident type. + :type incident_type: RelationshipToIncidentType, optional + + :param last_modified_by_user: Relationship to user. + :type last_modified_by_user: RelationshipToUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if incident_type is not unset: + kwargs["incident_type"] = incident_type + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_relationships_request.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_relationships_request.py new file mode 100644 index 0000000000..07879bb7e4 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_relationships_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + +class IncidentGoogleChatConfigurationRelationshipsRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + return { + "incident_type": (RelationshipToIncidentType,), + } + + attribute_map = { + "incident_type": "incident_type", + } + + def __init__(self_, incident_type: RelationshipToIncidentType, **kwargs): + """ + Relationships for a Google Chat configuration create request. + + :param incident_type: Relationship to an incident type. + :type incident_type: RelationshipToIncidentType + """ + super().__init__(kwargs) + + self_.incident_type = incident_type diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_request.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_request.py new file mode 100644 index 0000000000..3ffc9b41c7 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_chat_configuration_data_request import ( + IncidentGoogleChatConfigurationDataRequest, + ) + + +class IncidentGoogleChatConfigurationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_chat_configuration_data_request import ( + IncidentGoogleChatConfigurationDataRequest, + ) + + return { + "data": (IncidentGoogleChatConfigurationDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentGoogleChatConfigurationDataRequest, **kwargs): + """ + Request payload for creating a Google Chat configuration. + + :param data: Google Chat configuration data in a create request. + :type data: IncidentGoogleChatConfigurationDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_response.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_response.py new file mode 100644 index 0000000000..fdc387e41c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_response.py @@ -0,0 +1,63 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_chat_configuration_data_response import ( + IncidentGoogleChatConfigurationDataResponse, + ) + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentGoogleChatConfigurationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_chat_configuration_data_response import ( + IncidentGoogleChatConfigurationDataResponse, + ) + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": (IncidentGoogleChatConfigurationDataResponse,), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, + data: IncidentGoogleChatConfigurationDataResponse, + included: Union[List[IncidentUserData], UnsetType] = unset, + **kwargs, + ): + """ + Response with a Google Chat configuration. + + :param data: Google Chat configuration data in a response. + :type data: IncidentGoogleChatConfigurationDataResponse + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_google_chat_configuration_type.py b/src/datadog_api_client/v2/model/incident_google_chat_configuration_type.py new file mode 100644 index 0000000000..4f3e75e4ce --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_chat_configuration_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentGoogleChatConfigurationType(ModelSimple): + """ + Google Chat configuration resource type. + + :param value: If omitted defaults to "google_chat_configurations". Must be one of ["google_chat_configurations"]. + :type value: str + """ + + allowed_values = { + "google_chat_configurations", + } + GOOGLE_CHAT_CONFIGURATIONS: ClassVar["IncidentGoogleChatConfigurationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentGoogleChatConfigurationType.GOOGLE_CHAT_CONFIGURATIONS = IncidentGoogleChatConfigurationType( + "google_chat_configurations" +) diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_attributes_request.py new file mode 100644 index 0000000000..40c3e0d8f5 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_attributes_request.py @@ -0,0 +1,39 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class IncidentGoogleMeetConfigurationDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "allow_manual_meeting_creation": (bool,), + "auto_summarize": (bool,), + } + + attribute_map = { + "allow_manual_meeting_creation": "allow_manual_meeting_creation", + "auto_summarize": "auto_summarize", + } + + def __init__(self_, allow_manual_meeting_creation: bool, auto_summarize: bool, **kwargs): + """ + Attributes for creating a Google Meet configuration. + + :param allow_manual_meeting_creation: Whether to allow manual meeting creation. + :type allow_manual_meeting_creation: bool + + :param auto_summarize: Whether to auto-summarize meetings. + :type auto_summarize: bool + """ + super().__init__(kwargs) + + self_.allow_manual_meeting_creation = allow_manual_meeting_creation + self_.auto_summarize = auto_summarize diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_attributes_response.py new file mode 100644 index 0000000000..151f0d4a9e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_attributes_response.py @@ -0,0 +1,63 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + unset, + UnsetType, +) + + +class IncidentGoogleMeetConfigurationDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "allow_manual_meeting_creation": (bool,), + "auto_summarize": (bool,), + "created_at": (datetime,), + "modified_at": (datetime,), + } + + attribute_map = { + "allow_manual_meeting_creation": "allow_manual_meeting_creation", + "auto_summarize": "auto_summarize", + "created_at": "created_at", + "modified_at": "modified_at", + } + + def __init__( + self_, + allow_manual_meeting_creation: bool, + auto_summarize: bool, + modified_at: datetime, + created_at: Union[datetime, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a Google Meet configuration. + + :param allow_manual_meeting_creation: Whether manual meeting creation is allowed. + :type allow_manual_meeting_creation: bool + + :param auto_summarize: Whether meetings are auto-summarized. + :type auto_summarize: bool + + :param created_at: Timestamp when the configuration was created. + :type created_at: datetime, optional + + :param modified_at: Timestamp when the configuration was last modified. + :type modified_at: datetime + """ + if created_at is not unset: + kwargs["created_at"] = created_at + super().__init__(kwargs) + + self_.allow_manual_meeting_creation = allow_manual_meeting_creation + self_.auto_summarize = auto_summarize + self_.modified_at = modified_at diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_request.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_request.py new file mode 100644 index 0000000000..e11e55d7b3 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_request.py @@ -0,0 +1,72 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_meet_configuration_data_attributes_request import ( + IncidentGoogleMeetConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_relationships_request import ( + IncidentGoogleMeetConfigurationRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_type import IncidentGoogleMeetConfigurationType + + +class IncidentGoogleMeetConfigurationDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_configuration_data_attributes_request import ( + IncidentGoogleMeetConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_relationships_request import ( + IncidentGoogleMeetConfigurationRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_type import ( + IncidentGoogleMeetConfigurationType, + ) + + return { + "attributes": (IncidentGoogleMeetConfigurationDataAttributesRequest,), + "relationships": (IncidentGoogleMeetConfigurationRelationshipsRequest,), + "type": (IncidentGoogleMeetConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentGoogleMeetConfigurationDataAttributesRequest, + relationships: IncidentGoogleMeetConfigurationRelationshipsRequest, + type: IncidentGoogleMeetConfigurationType, + **kwargs, + ): + """ + Google Meet configuration data in a create request. + + :param attributes: Attributes for creating a Google Meet configuration. + :type attributes: IncidentGoogleMeetConfigurationDataAttributesRequest + + :param relationships: Relationships for a Google Meet configuration create request. + :type relationships: IncidentGoogleMeetConfigurationRelationshipsRequest + + :param type: Google Meet configuration resource type. + :type type: IncidentGoogleMeetConfigurationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.relationships = relationships + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_response.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_response.py new file mode 100644 index 0000000000..8f8503c9be --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_data_response.py @@ -0,0 +1,83 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_meet_configuration_data_attributes_response import ( + IncidentGoogleMeetConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_relationships import ( + IncidentGoogleMeetConfigurationRelationships, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_type import IncidentGoogleMeetConfigurationType + + +class IncidentGoogleMeetConfigurationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_configuration_data_attributes_response import ( + IncidentGoogleMeetConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_relationships import ( + IncidentGoogleMeetConfigurationRelationships, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_type import ( + IncidentGoogleMeetConfigurationType, + ) + + return { + "attributes": (IncidentGoogleMeetConfigurationDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentGoogleMeetConfigurationRelationships,), + "type": (IncidentGoogleMeetConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentGoogleMeetConfigurationDataAttributesResponse, + id: UUID, + type: IncidentGoogleMeetConfigurationType, + relationships: Union[IncidentGoogleMeetConfigurationRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Google Meet configuration data in a response. + + :param attributes: Attributes of a Google Meet configuration. + :type attributes: IncidentGoogleMeetConfigurationDataAttributesResponse + + :param id: The configuration identifier. + :type id: UUID + + :param relationships: Relationships for a Google Meet configuration. + :type relationships: IncidentGoogleMeetConfigurationRelationships, optional + + :param type: Google Meet configuration resource type. + :type type: IncidentGoogleMeetConfigurationType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_data_attributes_request.py new file mode 100644 index 0000000000..2924c6d37a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_data_attributes_request.py @@ -0,0 +1,48 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentGoogleMeetConfigurationPatchDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "allow_manual_meeting_creation": (bool,), + "auto_summarize": (bool,), + } + + attribute_map = { + "allow_manual_meeting_creation": "allow_manual_meeting_creation", + "auto_summarize": "auto_summarize", + } + + def __init__( + self_, + allow_manual_meeting_creation: Union[bool, UnsetType] = unset, + auto_summarize: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for patching a Google Meet configuration. All fields are optional. + + :param allow_manual_meeting_creation: Whether to allow manual meeting creation. + :type allow_manual_meeting_creation: bool, optional + + :param auto_summarize: Whether to auto-summarize meetings. + :type auto_summarize: bool, optional + """ + if allow_manual_meeting_creation is not unset: + kwargs["allow_manual_meeting_creation"] = allow_manual_meeting_creation + if auto_summarize is not unset: + kwargs["auto_summarize"] = auto_summarize + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_data_request.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_data_request.py new file mode 100644 index 0000000000..dfeee3be2d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_data_request.py @@ -0,0 +1,70 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_meet_configuration_patch_data_attributes_request import ( + IncidentGoogleMeetConfigurationPatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_type import IncidentGoogleMeetConfigurationType + + +class IncidentGoogleMeetConfigurationPatchDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_configuration_patch_data_attributes_request import ( + IncidentGoogleMeetConfigurationPatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_google_meet_configuration_type import ( + IncidentGoogleMeetConfigurationType, + ) + + return { + "attributes": (IncidentGoogleMeetConfigurationPatchDataAttributesRequest,), + "id": (UUID,), + "type": (IncidentGoogleMeetConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + id: UUID, + type: IncidentGoogleMeetConfigurationType, + attributes: Union[IncidentGoogleMeetConfigurationPatchDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + Google Meet configuration data in a patch request. + + :param attributes: Attributes for patching a Google Meet configuration. All fields are optional. + :type attributes: IncidentGoogleMeetConfigurationPatchDataAttributesRequest, optional + + :param id: The configuration identifier. + :type id: UUID + + :param type: Google Meet configuration resource type. + :type type: IncidentGoogleMeetConfigurationType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_request.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_request.py new file mode 100644 index 0000000000..cac0ebd7ad --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_patch_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_meet_configuration_patch_data_request import ( + IncidentGoogleMeetConfigurationPatchDataRequest, + ) + + +class IncidentGoogleMeetConfigurationPatchRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_configuration_patch_data_request import ( + IncidentGoogleMeetConfigurationPatchDataRequest, + ) + + return { + "data": (IncidentGoogleMeetConfigurationPatchDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentGoogleMeetConfigurationPatchDataRequest, **kwargs): + """ + Request payload for patching a Google Meet configuration. + + :param data: Google Meet configuration data in a patch request. + :type data: IncidentGoogleMeetConfigurationPatchDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_relationships.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_relationships.py new file mode 100644 index 0000000000..d1ce8e902d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_relationships.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + +class IncidentGoogleMeetConfigurationRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + return { + "created_by_user": (RelationshipToUser,), + "incident_type": (RelationshipToIncidentType,), + "last_modified_by_user": (RelationshipToUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "incident_type": "incident_type", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[RelationshipToUser, UnsetType] = unset, + incident_type: Union[RelationshipToIncidentType, UnsetType] = unset, + last_modified_by_user: Union[RelationshipToUser, UnsetType] = unset, + **kwargs, + ): + """ + Relationships for a Google Meet configuration. + + :param created_by_user: Relationship to user. + :type created_by_user: RelationshipToUser, optional + + :param incident_type: Relationship to an incident type. + :type incident_type: RelationshipToIncidentType, optional + + :param last_modified_by_user: Relationship to user. + :type last_modified_by_user: RelationshipToUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if incident_type is not unset: + kwargs["incident_type"] = incident_type + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_relationships_request.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_relationships_request.py new file mode 100644 index 0000000000..5ae1b8e6b6 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_relationships_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + +class IncidentGoogleMeetConfigurationRelationshipsRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + return { + "incident_type": (RelationshipToIncidentType,), + } + + attribute_map = { + "incident_type": "incident_type", + } + + def __init__(self_, incident_type: RelationshipToIncidentType, **kwargs): + """ + Relationships for a Google Meet configuration create request. + + :param incident_type: Relationship to an incident type. + :type incident_type: RelationshipToIncidentType + """ + super().__init__(kwargs) + + self_.incident_type = incident_type diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_request.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_request.py new file mode 100644 index 0000000000..3a0a4aa0b0 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_meet_configuration_data_request import ( + IncidentGoogleMeetConfigurationDataRequest, + ) + + +class IncidentGoogleMeetConfigurationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_configuration_data_request import ( + IncidentGoogleMeetConfigurationDataRequest, + ) + + return { + "data": (IncidentGoogleMeetConfigurationDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentGoogleMeetConfigurationDataRequest, **kwargs): + """ + Request payload for creating a Google Meet configuration. + + :param data: Google Meet configuration data in a create request. + :type data: IncidentGoogleMeetConfigurationDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_response.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_response.py new file mode 100644 index 0000000000..abf25bc9bb --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_response.py @@ -0,0 +1,63 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_meet_configuration_data_response import ( + IncidentGoogleMeetConfigurationDataResponse, + ) + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentGoogleMeetConfigurationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_configuration_data_response import ( + IncidentGoogleMeetConfigurationDataResponse, + ) + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": (IncidentGoogleMeetConfigurationDataResponse,), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, + data: IncidentGoogleMeetConfigurationDataResponse, + included: Union[List[IncidentUserData], UnsetType] = unset, + **kwargs, + ): + """ + Response with a Google Meet configuration. + + :param data: Google Meet configuration data in a response. + :type data: IncidentGoogleMeetConfigurationDataResponse + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_google_meet_configuration_type.py b/src/datadog_api_client/v2/model/incident_google_meet_configuration_type.py new file mode 100644 index 0000000000..f3074fd46f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_configuration_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentGoogleMeetConfigurationType(ModelSimple): + """ + Google Meet configuration resource type. + + :param value: If omitted defaults to "google_meet_configurations". Must be one of ["google_meet_configurations"]. + :type value: str + """ + + allowed_values = { + "google_meet_configurations", + } + GOOGLE_MEET_CONFIGURATIONS: ClassVar["IncidentGoogleMeetConfigurationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentGoogleMeetConfigurationType.GOOGLE_MEET_CONFIGURATIONS = IncidentGoogleMeetConfigurationType( + "google_meet_configurations" +) diff --git a/src/datadog_api_client/v2/model/incident_impact_field_choice.py b/src/datadog_api_client/v2/model/incident_impact_field_choice.py new file mode 100644 index 0000000000..68fbe38f85 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_choice.py @@ -0,0 +1,49 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentImpactFieldChoice(ModelNormal): + @cached_property + def openapi_types(_): + return { + "description": (str,), + "display_name": (str,), + "value": (str,), + } + + attribute_map = { + "description": "description", + "display_name": "display_name", + "value": "value", + } + + def __init__(self_, display_name: str, value: str, description: Union[str, UnsetType] = unset, **kwargs): + """ + A choice option for a dropdown or multiselect impact field. + + :param description: The description of the choice. + :type description: str, optional + + :param display_name: The display name of the choice. + :type display_name: str + + :param value: The value of the choice. + :type value: str + """ + if description is not unset: + kwargs["description"] = description + super().__init__(kwargs) + + self_.display_name = display_name + self_.value = value diff --git a/src/datadog_api_client/v2/model/incident_impact_field_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_impact_field_data_attributes_request.py new file mode 100644 index 0000000000..44d8a6a95f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_data_attributes_request.py @@ -0,0 +1,79 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_impact_field_choice import IncidentImpactFieldChoice + from datadog_api_client.v2.model.incident_impact_field_value_type import IncidentImpactFieldValueType + + +class IncidentImpactFieldDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_impact_field_choice import IncidentImpactFieldChoice + from datadog_api_client.v2.model.incident_impact_field_value_type import IncidentImpactFieldValueType + + return { + "display_name": (str,), + "field_choices": ([IncidentImpactFieldChoice],), + "field_type": (IncidentImpactFieldValueType,), + "name": (str,), + "tag_key": (str, none_type), + } + + attribute_map = { + "display_name": "display_name", + "field_choices": "field_choices", + "field_type": "field_type", + "name": "name", + "tag_key": "tag_key", + } + + def __init__( + self_, + display_name: str, + field_type: IncidentImpactFieldValueType, + name: str, + field_choices: Union[List[IncidentImpactFieldChoice], UnsetType] = unset, + tag_key: Union[str, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating an impact field. + + :param display_name: The display name of the impact field. + :type display_name: str + + :param field_choices: The choices for dropdown or multiselect fields. + :type field_choices: [IncidentImpactFieldChoice], optional + + :param field_type: The type of an impact field. + :type field_type: IncidentImpactFieldValueType + + :param name: The normalized name of the impact field (used as identifier). + :type name: str + + :param tag_key: The tag key associated with the field (for metrictag type). + :type tag_key: str, none_type, optional + """ + if field_choices is not unset: + kwargs["field_choices"] = field_choices + if tag_key is not unset: + kwargs["tag_key"] = tag_key + super().__init__(kwargs) + + self_.display_name = display_name + self_.field_type = field_type + self_.name = name diff --git a/src/datadog_api_client/v2/model/incident_impact_field_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_impact_field_data_attributes_response.py new file mode 100644 index 0000000000..d783723565 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_data_attributes_response.py @@ -0,0 +1,79 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_impact_field_choice import IncidentImpactFieldChoice + from datadog_api_client.v2.model.incident_impact_field_value_type import IncidentImpactFieldValueType + + +class IncidentImpactFieldDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_impact_field_choice import IncidentImpactFieldChoice + from datadog_api_client.v2.model.incident_impact_field_value_type import IncidentImpactFieldValueType + + return { + "display_name": (str,), + "field_choices": ([IncidentImpactFieldChoice],), + "field_type": (IncidentImpactFieldValueType,), + "name": (str,), + "tag_key": (str, none_type), + } + + attribute_map = { + "display_name": "display_name", + "field_choices": "field_choices", + "field_type": "field_type", + "name": "name", + "tag_key": "tag_key", + } + + def __init__( + self_, + display_name: str, + field_type: IncidentImpactFieldValueType, + name: str, + field_choices: Union[List[IncidentImpactFieldChoice], UnsetType] = unset, + tag_key: Union[str, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an impact field in a response. + + :param display_name: The display name of the impact field. + :type display_name: str + + :param field_choices: The choices for dropdown or multiselect fields. + :type field_choices: [IncidentImpactFieldChoice], optional + + :param field_type: The type of an impact field. + :type field_type: IncidentImpactFieldValueType + + :param name: The normalized name of the impact field. + :type name: str + + :param tag_key: The tag key associated with the field. + :type tag_key: str, none_type, optional + """ + if field_choices is not unset: + kwargs["field_choices"] = field_choices + if tag_key is not unset: + kwargs["tag_key"] = tag_key + super().__init__(kwargs) + + self_.display_name = display_name + self_.field_type = field_type + self_.name = name diff --git a/src/datadog_api_client/v2/model/incident_impact_field_data_request.py b/src/datadog_api_client/v2/model/incident_impact_field_data_request.py new file mode 100644 index 0000000000..fb8e70759c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_data_request.py @@ -0,0 +1,70 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_impact_field_data_attributes_request import ( + IncidentImpactFieldDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_impact_field_relationships_request import ( + IncidentImpactFieldRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_impact_field_type import IncidentImpactFieldType + + +class IncidentImpactFieldDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_impact_field_data_attributes_request import ( + IncidentImpactFieldDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_impact_field_relationships_request import ( + IncidentImpactFieldRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_impact_field_type import IncidentImpactFieldType + + return { + "attributes": (IncidentImpactFieldDataAttributesRequest,), + "relationships": (IncidentImpactFieldRelationshipsRequest,), + "type": (IncidentImpactFieldType,), + } + + attribute_map = { + "attributes": "attributes", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentImpactFieldDataAttributesRequest, + relationships: IncidentImpactFieldRelationshipsRequest, + type: IncidentImpactFieldType, + **kwargs, + ): + """ + Impact field data in a create request. + + :param attributes: Attributes for creating an impact field. + :type attributes: IncidentImpactFieldDataAttributesRequest + + :param relationships: Relationships for an impact field create request. + :type relationships: IncidentImpactFieldRelationshipsRequest + + :param type: Impact field resource type. + :type type: IncidentImpactFieldType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.relationships = relationships + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_impact_field_data_response.py b/src/datadog_api_client/v2/model/incident_impact_field_data_response.py new file mode 100644 index 0000000000..3a86666c50 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_data_response.py @@ -0,0 +1,77 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_impact_field_data_attributes_response import ( + IncidentImpactFieldDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_impact_field_relationships import IncidentImpactFieldRelationships + from datadog_api_client.v2.model.incident_impact_field_type import IncidentImpactFieldType + + +class IncidentImpactFieldDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_impact_field_data_attributes_response import ( + IncidentImpactFieldDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_impact_field_relationships import IncidentImpactFieldRelationships + from datadog_api_client.v2.model.incident_impact_field_type import IncidentImpactFieldType + + return { + "attributes": (IncidentImpactFieldDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentImpactFieldRelationships,), + "type": (IncidentImpactFieldType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentImpactFieldDataAttributesResponse, + id: UUID, + type: IncidentImpactFieldType, + relationships: Union[IncidentImpactFieldRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Impact field data in a response. + + :param attributes: Attributes of an impact field in a response. + :type attributes: IncidentImpactFieldDataAttributesResponse + + :param id: The impact field identifier. + :type id: UUID + + :param relationships: Relationships for an impact field. + :type relationships: IncidentImpactFieldRelationships, optional + + :param type: Impact field resource type. + :type type: IncidentImpactFieldType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_impact_field_relationships.py b/src/datadog_api_client/v2/model/incident_impact_field_relationships.py new file mode 100644 index 0000000000..a8edbe8330 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_relationships.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + +class IncidentImpactFieldRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + return { + "created_by_user": (RelationshipToUser,), + "incident_type": (RelationshipToIncidentType,), + "last_modified_by_user": (RelationshipToUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "incident_type": "incident_type", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[RelationshipToUser, UnsetType] = unset, + incident_type: Union[RelationshipToIncidentType, UnsetType] = unset, + last_modified_by_user: Union[RelationshipToUser, UnsetType] = unset, + **kwargs, + ): + """ + Relationships for an impact field. + + :param created_by_user: Relationship to user. + :type created_by_user: RelationshipToUser, optional + + :param incident_type: Relationship to an incident type. + :type incident_type: RelationshipToIncidentType, optional + + :param last_modified_by_user: Relationship to user. + :type last_modified_by_user: RelationshipToUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if incident_type is not unset: + kwargs["incident_type"] = incident_type + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_impact_field_relationships_request.py b/src/datadog_api_client/v2/model/incident_impact_field_relationships_request.py new file mode 100644 index 0000000000..02a0800610 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_relationships_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + +class IncidentImpactFieldRelationshipsRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + return { + "incident_type": (RelationshipToIncidentType,), + } + + attribute_map = { + "incident_type": "incident_type", + } + + def __init__(self_, incident_type: RelationshipToIncidentType, **kwargs): + """ + Relationships for an impact field create request. + + :param incident_type: Relationship to an incident type. + :type incident_type: RelationshipToIncidentType + """ + super().__init__(kwargs) + + self_.incident_type = incident_type diff --git a/src/datadog_api_client/v2/model/incident_impact_field_request.py b/src/datadog_api_client/v2/model/incident_impact_field_request.py new file mode 100644 index 0000000000..0d83cad0d2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_impact_field_data_request import IncidentImpactFieldDataRequest + + +class IncidentImpactFieldRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_impact_field_data_request import IncidentImpactFieldDataRequest + + return { + "data": (IncidentImpactFieldDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentImpactFieldDataRequest, **kwargs): + """ + Request payload for creating an impact field. + + :param data: Impact field data in a create request. + :type data: IncidentImpactFieldDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_impact_field_response.py b/src/datadog_api_client/v2/model/incident_impact_field_response.py new file mode 100644 index 0000000000..1a1785688e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_response.py @@ -0,0 +1,59 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_impact_field_data_response import IncidentImpactFieldDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentImpactFieldResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_impact_field_data_response import IncidentImpactFieldDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": (IncidentImpactFieldDataResponse,), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, + data: IncidentImpactFieldDataResponse, + included: Union[List[IncidentUserData], UnsetType] = unset, + **kwargs, + ): + """ + Response with a single impact field. + + :param data: Impact field data in a response. + :type data: IncidentImpactFieldDataResponse + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_impact_field_type.py b/src/datadog_api_client/v2/model/incident_impact_field_type.py new file mode 100644 index 0000000000..a02bf51049 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentImpactFieldType(ModelSimple): + """ + Impact field resource type. + + :param value: If omitted defaults to "impact_fields". Must be one of ["impact_fields"]. + :type value: str + """ + + allowed_values = { + "impact_fields", + } + IMPACT_FIELDS: ClassVar["IncidentImpactFieldType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentImpactFieldType.IMPACT_FIELDS = IncidentImpactFieldType("impact_fields") diff --git a/src/datadog_api_client/v2/model/incident_impact_field_value_type.py b/src/datadog_api_client/v2/model/incident_impact_field_value_type.py new file mode 100644 index 0000000000..ba7bc06cdd --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_field_value_type.py @@ -0,0 +1,53 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentImpactFieldValueType(ModelSimple): + """ + The type of an impact field. + + :param value: Must be one of ["dropdown", "text", "textarray", "metrictag", "number", "datetime", "multiselect"]. + :type value: str + """ + + allowed_values = { + "dropdown", + "text", + "textarray", + "metrictag", + "number", + "datetime", + "multiselect", + } + DROPDOWN: ClassVar["IncidentImpactFieldValueType"] + TEXT: ClassVar["IncidentImpactFieldValueType"] + TEXTARRAY: ClassVar["IncidentImpactFieldValueType"] + METRICTAG: ClassVar["IncidentImpactFieldValueType"] + NUMBER: ClassVar["IncidentImpactFieldValueType"] + DATETIME: ClassVar["IncidentImpactFieldValueType"] + MULTISELECT: ClassVar["IncidentImpactFieldValueType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentImpactFieldValueType.DROPDOWN = IncidentImpactFieldValueType("dropdown") +IncidentImpactFieldValueType.TEXT = IncidentImpactFieldValueType("text") +IncidentImpactFieldValueType.TEXTARRAY = IncidentImpactFieldValueType("textarray") +IncidentImpactFieldValueType.METRICTAG = IncidentImpactFieldValueType("metrictag") +IncidentImpactFieldValueType.NUMBER = IncidentImpactFieldValueType("number") +IncidentImpactFieldValueType.DATETIME = IncidentImpactFieldValueType("datetime") +IncidentImpactFieldValueType.MULTISELECT = IncidentImpactFieldValueType("multiselect") diff --git a/src/datadog_api_client/v2/model/incident_impact_fields_response.py b/src/datadog_api_client/v2/model/incident_impact_fields_response.py new file mode 100644 index 0000000000..65ebd27512 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_impact_fields_response.py @@ -0,0 +1,59 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_impact_field_data_response import IncidentImpactFieldDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentImpactFieldsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_impact_field_data_response import IncidentImpactFieldDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": ([IncidentImpactFieldDataResponse],), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, + data: List[IncidentImpactFieldDataResponse], + included: Union[List[IncidentUserData], UnsetType] = unset, + **kwargs, + ): + """ + Response with a list of impact fields. + + :param data: List of impact fields. + :type data: [IncidentImpactFieldDataResponse] + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_on_call_page_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_on_call_page_data_attributes_request.py new file mode 100644 index 0000000000..c1458a7da3 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_on_call_page_data_attributes_request.py @@ -0,0 +1,62 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_on_call_page_target import IncidentOnCallPageTarget + + +class IncidentOnCallPageDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_on_call_page_target import IncidentOnCallPageTarget + + return { + "key": (str,), + "page_target": (IncidentOnCallPageTarget,), + "team_id": (str,), + } + + attribute_map = { + "key": "key", + "page_target": "page_target", + "team_id": "team_id", + } + + def __init__( + self_, + key: Union[str, UnsetType] = unset, + page_target: Union[IncidentOnCallPageTarget, UnsetType] = unset, + team_id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for linking a page to an incident. + + :param key: The key of the on-call page. + :type key: str, optional + + :param page_target: The target of an on-call page. + :type page_target: IncidentOnCallPageTarget, optional + + :param team_id: The team ID associated with the page (deprecated, use page_target instead). + :type team_id: str, optional + """ + if key is not unset: + kwargs["key"] = key + if page_target is not unset: + kwargs["page_target"] = page_target + if team_id is not unset: + kwargs["team_id"] = team_id + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_on_call_page_data_request.py b/src/datadog_api_client/v2/model/incident_on_call_page_data_request.py new file mode 100644 index 0000000000..638b86e17b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_on_call_page_data_request.py @@ -0,0 +1,67 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_on_call_page_data_attributes_request import ( + IncidentOnCallPageDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_on_call_page_type import IncidentOnCallPageType + + +class IncidentOnCallPageDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_on_call_page_data_attributes_request import ( + IncidentOnCallPageDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_on_call_page_type import IncidentOnCallPageType + + return { + "attributes": (IncidentOnCallPageDataAttributesRequest,), + "id": (str,), + "type": (IncidentOnCallPageType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + id: str, + type: IncidentOnCallPageType, + attributes: Union[IncidentOnCallPageDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + On-call page data in a link request. + + :param attributes: Attributes for linking a page to an incident. + :type attributes: IncidentOnCallPageDataAttributesRequest, optional + + :param id: The ID of the on-call page to link. + :type id: str + + :param type: On-call page resource type. + :type type: IncidentOnCallPageType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_on_call_page_link_request.py b/src/datadog_api_client/v2/model/incident_on_call_page_link_request.py new file mode 100644 index 0000000000..19b1166d9d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_on_call_page_link_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_on_call_page_data_request import IncidentOnCallPageDataRequest + + +class IncidentOnCallPageLinkRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_on_call_page_data_request import IncidentOnCallPageDataRequest + + return { + "data": (IncidentOnCallPageDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentOnCallPageDataRequest, **kwargs): + """ + Request payload for linking an on-call page to an incident. + + :param data: On-call page data in a link request. + :type data: IncidentOnCallPageDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_on_call_page_target.py b/src/datadog_api_client/v2/model/incident_on_call_page_target.py new file mode 100644 index 0000000000..61e3c242bb --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_on_call_page_target.py @@ -0,0 +1,39 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class IncidentOnCallPageTarget(ModelNormal): + @cached_property + def openapi_types(_): + return { + "identifier": (str,), + "type": (str,), + } + + attribute_map = { + "identifier": "identifier", + "type": "type", + } + + def __init__(self_, identifier: str, type: str, **kwargs): + """ + The target of an on-call page. + + :param identifier: The identifier of the page target. + :type identifier: str + + :param type: The type of the page target. + :type type: str + """ + super().__init__(kwargs) + + self_.identifier = identifier + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_on_call_page_type.py b/src/datadog_api_client/v2/model/incident_on_call_page_type.py new file mode 100644 index 0000000000..8e3ad9cf59 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_on_call_page_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentOnCallPageType(ModelSimple): + """ + On-call page resource type. + + :param value: If omitted defaults to "page". Must be one of ["page"]. + :type value: str + """ + + allowed_values = { + "page", + } + PAGE: ClassVar["IncidentOnCallPageType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentOnCallPageType.PAGE = IncidentOnCallPageType("page") diff --git a/src/datadog_api_client/v2/model/incident_org_settings_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_org_settings_data_attributes_response.py new file mode 100644 index 0000000000..d98f9a5aad --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_org_settings_data_attributes_response.py @@ -0,0 +1,53 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_org_settings_meta import IncidentOrgSettingsMeta + + +class IncidentOrgSettingsDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_org_settings_meta import IncidentOrgSettingsMeta + + return { + "created": (datetime,), + "modified": (datetime,), + "settings": (IncidentOrgSettingsMeta,), + } + + attribute_map = { + "created": "created", + "modified": "modified", + "settings": "settings", + } + + def __init__(self_, created: datetime, modified: datetime, settings: IncidentOrgSettingsMeta, **kwargs): + """ + Attributes of an incident org settings resource in a response. + + :param created: Timestamp when the settings were created. + :type created: datetime + + :param modified: Timestamp when the settings were last modified. + :type modified: datetime + + :param settings: The settings configuration for an incident org settings resource. + :type settings: IncidentOrgSettingsMeta + """ + super().__init__(kwargs) + + self_.created = created + self_.modified = modified + self_.settings = settings diff --git a/src/datadog_api_client/v2/model/incident_org_settings_data_response.py b/src/datadog_api_client/v2/model/incident_org_settings_data_response.py new file mode 100644 index 0000000000..a20d77d003 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_org_settings_data_response.py @@ -0,0 +1,77 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_org_settings_data_attributes_response import ( + IncidentOrgSettingsDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_org_settings_relationships import IncidentOrgSettingsRelationships + from datadog_api_client.v2.model.incident_org_settings_type import IncidentOrgSettingsType + + +class IncidentOrgSettingsDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_org_settings_data_attributes_response import ( + IncidentOrgSettingsDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_org_settings_relationships import IncidentOrgSettingsRelationships + from datadog_api_client.v2.model.incident_org_settings_type import IncidentOrgSettingsType + + return { + "attributes": (IncidentOrgSettingsDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentOrgSettingsRelationships,), + "type": (IncidentOrgSettingsType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentOrgSettingsDataAttributesResponse, + id: UUID, + type: IncidentOrgSettingsType, + relationships: Union[IncidentOrgSettingsRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Incident org settings data in a response. + + :param attributes: Attributes of an incident org settings resource in a response. + :type attributes: IncidentOrgSettingsDataAttributesResponse + + :param id: The org settings identifier. + :type id: UUID + + :param relationships: Relationships for an incident org settings resource. + :type relationships: IncidentOrgSettingsRelationships, optional + + :param type: Incident org settings resource type. + :type type: IncidentOrgSettingsType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_org_settings_list_response.py b/src/datadog_api_client/v2/model/incident_org_settings_list_response.py new file mode 100644 index 0000000000..2d940c85f1 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_org_settings_list_response.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_org_settings_data_response import IncidentOrgSettingsDataResponse + + +class IncidentOrgSettingsListResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_org_settings_data_response import IncidentOrgSettingsDataResponse + + return { + "data": ([IncidentOrgSettingsDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentOrgSettingsDataResponse], **kwargs): + """ + Response with a list of incident org settings resources. + + :param data: List of incident org settings resources. + :type data: [IncidentOrgSettingsDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_org_settings_meta.py b/src/datadog_api_client/v2/model/incident_org_settings_meta.py new file mode 100644 index 0000000000..7211bea3e0 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_org_settings_meta.py @@ -0,0 +1,17 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, +) + + +class IncidentOrgSettingsMeta(ModelNormal): + def __init__(self_, **kwargs): + """ + The settings configuration for an incident org settings resource. + """ + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_org_settings_relationships.py b/src/datadog_api_client/v2/model/incident_org_settings_relationships.py new file mode 100644 index 0000000000..f16eb68bf8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_org_settings_relationships.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + +class IncidentOrgSettingsRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType + + return { + "incident_type": (RelationshipToIncidentType,), + } + + attribute_map = { + "incident_type": "incident_type", + } + + def __init__(self_, incident_type: Union[RelationshipToIncidentType, UnsetType] = unset, **kwargs): + """ + Relationships for an incident org settings resource. + + :param incident_type: Relationship to an incident type. + :type incident_type: RelationshipToIncidentType, optional + """ + if incident_type is not unset: + kwargs["incident_type"] = incident_type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_org_settings_response.py b/src/datadog_api_client/v2/model/incident_org_settings_response.py new file mode 100644 index 0000000000..73fc672d86 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_org_settings_response.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_org_settings_data_response import IncidentOrgSettingsDataResponse + + +class IncidentOrgSettingsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_org_settings_data_response import IncidentOrgSettingsDataResponse + + return { + "data": (IncidentOrgSettingsDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentOrgSettingsDataResponse, **kwargs): + """ + Response with a single incident org settings resource. + + :param data: Incident org settings data in a response. + :type data: IncidentOrgSettingsDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_org_settings_type.py b/src/datadog_api_client/v2/model/incident_org_settings_type.py new file mode 100644 index 0000000000..ea13f6add3 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_org_settings_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentOrgSettingsType(ModelSimple): + """ + Incident org settings resource type. + + :param value: If omitted defaults to "incident_org_settings". Must be one of ["incident_org_settings"]. + :type value: str + """ + + allowed_values = { + "incident_org_settings", + } + INCIDENT_ORG_SETTINGS: ClassVar["IncidentOrgSettingsType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentOrgSettingsType.INCIDENT_ORG_SETTINGS = IncidentOrgSettingsType("incident_org_settings") diff --git a/src/datadog_api_client/v2/model/incident_page_role_reference.py b/src/datadog_api_client/v2/model/incident_page_role_reference.py new file mode 100644 index 0000000000..29efa4525b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_page_role_reference.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_page_role_type import IncidentPageRoleType + + +class IncidentPageRoleReference(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_page_role_type import IncidentPageRoleType + + return { + "id": (UUID,), + "type": (IncidentPageRoleType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: IncidentPageRoleType, **kwargs): + """ + A reference to an incident role for a page. + + :param id: The role identifier. + :type id: UUID + + :param type: The type of incident role for a page. + :type type: IncidentPageRoleType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_page_role_type.py b/src/datadog_api_client/v2/model/incident_page_role_type.py new file mode 100644 index 0000000000..4ab8aa468b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_page_role_type.py @@ -0,0 +1,38 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentPageRoleType(ModelSimple): + """ + The type of incident role for a page. + + :param value: Must be one of ["incident_user_defined_roles", "incident_reserved_roles"]. + :type value: str + """ + + allowed_values = { + "incident_user_defined_roles", + "incident_reserved_roles", + } + INCIDENT_USER_DEFINED_ROLES: ClassVar["IncidentPageRoleType"] + INCIDENT_RESERVED_ROLES: ClassVar["IncidentPageRoleType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentPageRoleType.INCIDENT_USER_DEFINED_ROLES = IncidentPageRoleType("incident_user_defined_roles") +IncidentPageRoleType.INCIDENT_RESERVED_ROLES = IncidentPageRoleType("incident_reserved_roles") diff --git a/src/datadog_api_client/v2/model/incident_page_target.py b/src/datadog_api_client/v2/model/incident_page_target.py new file mode 100644 index 0000000000..5e53f9092c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_page_target.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_page_target_type import IncidentPageTargetType + + +class IncidentPageTarget(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_page_target_type import IncidentPageTargetType + + return { + "identifier": (str,), + "type": (IncidentPageTargetType,), + } + + attribute_map = { + "identifier": "identifier", + "type": "type", + } + + def __init__(self_, identifier: str, type: IncidentPageTargetType, **kwargs): + """ + The target recipient for a page. + + :param identifier: The identifier of the target (handle, UUID, or user UUID). + :type identifier: str + + :param type: The type of target for a page request. + :type type: IncidentPageTargetType + """ + super().__init__(kwargs) + + self_.identifier = identifier + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_page_target_type.py b/src/datadog_api_client/v2/model/incident_page_target_type.py new file mode 100644 index 0000000000..4d3e2c733b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_page_target_type.py @@ -0,0 +1,41 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentPageTargetType(ModelSimple): + """ + The type of target for a page request. + + :param value: Must be one of ["team_handle", "team_uuid", "user_uuid"]. + :type value: str + """ + + allowed_values = { + "team_handle", + "team_uuid", + "user_uuid", + } + TEAM_HANDLE: ClassVar["IncidentPageTargetType"] + TEAM_UUID: ClassVar["IncidentPageTargetType"] + USER_UUID: ClassVar["IncidentPageTargetType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentPageTargetType.TEAM_HANDLE = IncidentPageTargetType("team_handle") +IncidentPageTargetType.TEAM_UUID = IncidentPageTargetType("team_uuid") +IncidentPageTargetType.USER_UUID = IncidentPageTargetType("user_uuid") diff --git a/src/datadog_api_client/v2/model/incident_page_uuid_data_response.py b/src/datadog_api_client/v2/model/incident_page_uuid_data_response.py new file mode 100644 index 0000000000..649ca3a567 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_page_uuid_data_response.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_page_uuid_type import IncidentPageUUIDType + + +class IncidentPageUUIDDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_page_uuid_type import IncidentPageUUIDType + + return { + "id": (UUID,), + "type": (IncidentPageUUIDType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: IncidentPageUUIDType, **kwargs): + """ + Page UUID data in a response. + + :param id: The UUID of the created page. + :type id: UUID + + :param type: Resource type for a page UUID response. + :type type: IncidentPageUUIDType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_page_uuid_response.py b/src/datadog_api_client/v2/model/incident_page_uuid_response.py new file mode 100644 index 0000000000..8095a828dc --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_page_uuid_response.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_page_uuid_data_response import IncidentPageUUIDDataResponse + + +class IncidentPageUUIDResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_page_uuid_data_response import IncidentPageUUIDDataResponse + + return { + "data": (IncidentPageUUIDDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentPageUUIDDataResponse, **kwargs): + """ + Response with a page UUID. + + :param data: Page UUID data in a response. + :type data: IncidentPageUUIDDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_page_uuid_type.py b/src/datadog_api_client/v2/model/incident_page_uuid_type.py new file mode 100644 index 0000000000..8d1a09c841 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_page_uuid_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentPageUUIDType(ModelSimple): + """ + Resource type for a page UUID response. + + :param value: If omitted defaults to "page_uuid". Must be one of ["page_uuid"]. + :type value: str + """ + + allowed_values = { + "page_uuid", + } + PAGE_UUID: ClassVar["IncidentPageUUIDType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentPageUUIDType.PAGE_UUID = IncidentPageUUIDType("page_uuid") diff --git a/src/datadog_api_client/v2/model/incident_responder_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_responder_data_attributes_response.py new file mode 100644 index 0000000000..b3b87eb787 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_data_attributes_response.py @@ -0,0 +1,106 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Any, Dict, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + date, + datetime, + none_type, + unset, + UnsetType, + UUID, +) + + +class IncidentResponderDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created": (datetime,), + "external_id": (str, none_type), + "external_source": (str, none_type), + "is_billable": (bool,), + "last_active": (datetime, none_type), + "meta": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + none_type, + ), + "modified": (datetime,), + } + + attribute_map = { + "created": "created", + "external_id": "external_id", + "external_source": "external_source", + "is_billable": "is_billable", + "last_active": "last_active", + "meta": "meta", + "modified": "modified", + } + + def __init__( + self_, + created: datetime, + is_billable: bool, + modified: datetime, + external_id: Union[str, none_type, UnsetType] = unset, + external_source: Union[str, none_type, UnsetType] = unset, + last_active: Union[datetime, none_type, UnsetType] = unset, + meta: Union[Dict[str, Any], none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an incident responder in a response. + + :param created: Timestamp when the responder was created. + :type created: datetime + + :param external_id: The external ID of the responder. + :type external_id: str, none_type, optional + + :param external_source: The external source of the responder. + :type external_source: str, none_type, optional + + :param is_billable: Whether this responder counts toward billing. + :type is_billable: bool + + :param last_active: Timestamp when the responder was last active. + :type last_active: datetime, none_type, optional + + :param meta: Additional metadata for the responder. + :type meta: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, none_type, optional + + :param modified: Timestamp when the responder was last modified. + :type modified: datetime + """ + if external_id is not unset: + kwargs["external_id"] = external_id + if external_source is not unset: + kwargs["external_source"] = external_source + if last_active is not unset: + kwargs["last_active"] = last_active + if meta is not unset: + kwargs["meta"] = meta + super().__init__(kwargs) + + self_.created = created + self_.is_billable = is_billable + self_.modified = modified diff --git a/src/datadog_api_client/v2/model/incident_responder_data_request.py b/src/datadog_api_client/v2/model/incident_responder_data_request.py new file mode 100644 index 0000000000..77ecfc7bb4 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_data_request.py @@ -0,0 +1,52 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_responder_relationships_request import ( + IncidentResponderRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_responder_type import IncidentResponderType + + +class IncidentResponderDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_responder_relationships_request import ( + IncidentResponderRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_responder_type import IncidentResponderType + + return { + "relationships": (IncidentResponderRelationshipsRequest,), + "type": (IncidentResponderType,), + } + + attribute_map = { + "relationships": "relationships", + "type": "type", + } + + def __init__(self_, relationships: IncidentResponderRelationshipsRequest, type: IncidentResponderType, **kwargs): + """ + Incident responder data in a create request. + + :param relationships: Relationships for creating an incident responder. + :type relationships: IncidentResponderRelationshipsRequest + + :param type: Incident responder resource type. + :type type: IncidentResponderType + """ + super().__init__(kwargs) + + self_.relationships = relationships + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_responder_data_response.py b/src/datadog_api_client/v2/model/incident_responder_data_response.py new file mode 100644 index 0000000000..35f4472d29 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_data_response.py @@ -0,0 +1,77 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_responder_data_attributes_response import ( + IncidentResponderDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_responder_relationships import IncidentResponderRelationships + from datadog_api_client.v2.model.incident_responder_type import IncidentResponderType + + +class IncidentResponderDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_responder_data_attributes_response import ( + IncidentResponderDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_responder_relationships import IncidentResponderRelationships + from datadog_api_client.v2.model.incident_responder_type import IncidentResponderType + + return { + "attributes": (IncidentResponderDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentResponderRelationships,), + "type": (IncidentResponderType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentResponderDataAttributesResponse, + id: UUID, + type: IncidentResponderType, + relationships: Union[IncidentResponderRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Incident responder data in a response. + + :param attributes: Attributes of an incident responder in a response. + :type attributes: IncidentResponderDataAttributesResponse + + :param id: The responder identifier. + :type id: UUID + + :param relationships: Relationships for an incident responder. + :type relationships: IncidentResponderRelationships, optional + + :param type: Incident responder resource type. + :type type: IncidentResponderType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_responder_relationships.py b/src/datadog_api_client/v2/model/incident_responder_relationships.py new file mode 100644 index 0000000000..d133c2d534 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_relationships.py @@ -0,0 +1,79 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.incident_responder_role_assignments_relationship import ( + IncidentResponderRoleAssignmentsRelationship, + ) + from datadog_api_client.v2.model.nullable_relationship_to_user import NullableRelationshipToUser + + +class IncidentResponderRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.incident_responder_role_assignments_relationship import ( + IncidentResponderRoleAssignmentsRelationship, + ) + from datadog_api_client.v2.model.nullable_relationship_to_user import NullableRelationshipToUser + + return { + "created_by": (RelationshipToUser,), + "last_modified_by": (RelationshipToUser,), + "role_assignments": (IncidentResponderRoleAssignmentsRelationship,), + "user": (NullableRelationshipToUser,), + } + + attribute_map = { + "created_by": "created_by", + "last_modified_by": "last_modified_by", + "role_assignments": "role_assignments", + "user": "user", + } + + def __init__( + self_, + created_by: Union[RelationshipToUser, UnsetType] = unset, + last_modified_by: Union[RelationshipToUser, UnsetType] = unset, + role_assignments: Union[IncidentResponderRoleAssignmentsRelationship, UnsetType] = unset, + user: Union[NullableRelationshipToUser, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Relationships for an incident responder. + + :param created_by: Relationship to user. + :type created_by: RelationshipToUser, optional + + :param last_modified_by: Relationship to user. + :type last_modified_by: RelationshipToUser, optional + + :param role_assignments: Relationship to role assignments for a responder. + :type role_assignments: IncidentResponderRoleAssignmentsRelationship, optional + + :param user: Relationship to user. + :type user: NullableRelationshipToUser, none_type, optional + """ + if created_by is not unset: + kwargs["created_by"] = created_by + if last_modified_by is not unset: + kwargs["last_modified_by"] = last_modified_by + if role_assignments is not unset: + kwargs["role_assignments"] = role_assignments + if user is not unset: + kwargs["user"] = user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_responder_relationships_request.py b/src/datadog_api_client/v2/model/incident_responder_relationships_request.py new file mode 100644 index 0000000000..9b70b17a10 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_relationships_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_responder_user_relationship import IncidentResponderUserRelationship + + +class IncidentResponderRelationshipsRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_responder_user_relationship import IncidentResponderUserRelationship + + return { + "user": (IncidentResponderUserRelationship,), + } + + attribute_map = { + "user": "user", + } + + def __init__(self_, user: IncidentResponderUserRelationship, **kwargs): + """ + Relationships for creating an incident responder. + + :param user: Relationship to a user for a responder create request. + :type user: IncidentResponderUserRelationship + """ + super().__init__(kwargs) + + self_.user = user diff --git a/src/datadog_api_client/v2/model/incident_responder_request.py b/src/datadog_api_client/v2/model/incident_responder_request.py new file mode 100644 index 0000000000..c672e7bff8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_responder_data_request import IncidentResponderDataRequest + + +class IncidentResponderRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_responder_data_request import IncidentResponderDataRequest + + return { + "data": (IncidentResponderDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentResponderDataRequest, **kwargs): + """ + Request payload for creating an incident responder. + + :param data: Incident responder data in a create request. + :type data: IncidentResponderDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_responder_response.py b/src/datadog_api_client/v2/model/incident_responder_response.py new file mode 100644 index 0000000000..5ce63391e6 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_response.py @@ -0,0 +1,56 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_responder_data_response import IncidentResponderDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentResponderResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_responder_data_response import IncidentResponderDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": (IncidentResponderDataResponse,), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, data: IncidentResponderDataResponse, included: Union[List[IncidentUserData], UnsetType] = unset, **kwargs + ): + """ + Response with a single incident responder. + + :param data: Incident responder data in a response. + :type data: IncidentResponderDataResponse + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_responder_role_assignment_relationship_data.py b/src/datadog_api_client/v2/model/incident_responder_role_assignment_relationship_data.py new file mode 100644 index 0000000000..c45b5b6fd6 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_role_assignment_relationship_data.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +class IncidentResponderRoleAssignmentRelationshipData(ModelNormal): + @cached_property + def openapi_types(_): + return { + "id": (UUID,), + "type": (str,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: str, **kwargs): + """ + A single role assignment relationship data object. + + :param id: The role assignment identifier. + :type id: UUID + + :param type: The role assignment resource type. + :type type: str + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_responder_role_assignments_relationship.py b/src/datadog_api_client/v2/model/incident_responder_role_assignments_relationship.py new file mode 100644 index 0000000000..1152c3b42d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_role_assignments_relationship.py @@ -0,0 +1,48 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_responder_role_assignment_relationship_data import ( + IncidentResponderRoleAssignmentRelationshipData, + ) + + +class IncidentResponderRoleAssignmentsRelationship(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_responder_role_assignment_relationship_data import ( + IncidentResponderRoleAssignmentRelationshipData, + ) + + return { + "data": ([IncidentResponderRoleAssignmentRelationshipData],), + } + + attribute_map = { + "data": "data", + } + + def __init__( + self_, data: Union[List[IncidentResponderRoleAssignmentRelationshipData], UnsetType] = unset, **kwargs + ): + """ + Relationship to role assignments for a responder. + + :param data: List of role assignment relationship data. + :type data: [IncidentResponderRoleAssignmentRelationshipData], optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_responder_type.py b/src/datadog_api_client/v2/model/incident_responder_type.py new file mode 100644 index 0000000000..b33d63c632 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentResponderType(ModelSimple): + """ + Incident responder resource type. + + :param value: If omitted defaults to "incident_responders". Must be one of ["incident_responders"]. + :type value: str + """ + + allowed_values = { + "incident_responders", + } + INCIDENT_RESPONDERS: ClassVar["IncidentResponderType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentResponderType.INCIDENT_RESPONDERS = IncidentResponderType("incident_responders") diff --git a/src/datadog_api_client/v2/model/incident_responder_user_relationship.py b/src/datadog_api_client/v2/model/incident_responder_user_relationship.py new file mode 100644 index 0000000000..f5025339aa --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_user_relationship.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_responder_user_relationship_data import ( + IncidentResponderUserRelationshipData, + ) + + +class IncidentResponderUserRelationship(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_responder_user_relationship_data import ( + IncidentResponderUserRelationshipData, + ) + + return { + "data": (IncidentResponderUserRelationshipData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentResponderUserRelationshipData, **kwargs): + """ + Relationship to a user for a responder create request. + + :param data: A user relationship data object for creating a responder. + :type data: IncidentResponderUserRelationshipData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_responder_user_relationship_data.py b/src/datadog_api_client/v2/model/incident_responder_user_relationship_data.py new file mode 100644 index 0000000000..f1e6502420 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responder_user_relationship_data.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +class IncidentResponderUserRelationshipData(ModelNormal): + @cached_property + def openapi_types(_): + return { + "id": (UUID,), + "type": (str,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: str, **kwargs): + """ + A user relationship data object for creating a responder. + + :param id: The user identifier. + :type id: UUID + + :param type: The user resource type. + :type type: str + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_responders_response.py b/src/datadog_api_client/v2/model/incident_responders_response.py new file mode 100644 index 0000000000..7591243fe8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_responders_response.py @@ -0,0 +1,59 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_responder_data_response import IncidentResponderDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentRespondersResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_responder_data_response import IncidentResponderDataResponse + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": ([IncidentResponderDataResponse],), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, + data: List[IncidentResponderDataResponse], + included: Union[List[IncidentUserData], UnsetType] = unset, + **kwargs, + ): + """ + Response with a list of incident responders. + + :param data: List of incident responders. + :type data: [IncidentResponderDataResponse] + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_rule_condition.py b/src/datadog_api_client/v2/model/incident_rule_condition.py new file mode 100644 index 0000000000..c54fd99af4 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_condition.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class IncidentRuleCondition(ModelNormal): + @cached_property + def openapi_types(_): + return { + "field": (str,), + "values": ([str],), + } + + attribute_map = { + "field": "field", + "values": "values", + } + + def __init__(self_, field: str, values: List[str], **kwargs): + """ + A condition for an incident rule. + + :param field: The field to match on. + :type field: str + + :param values: The values to match. + :type values: [str] + """ + super().__init__(kwargs) + + self_.field = field + self_.values = values diff --git a/src/datadog_api_client/v2/model/incident_rule_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_rule_data_attributes_request.py new file mode 100644 index 0000000000..a39375cb58 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_data_attributes_request.py @@ -0,0 +1,123 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_query_condition import IncidentRuleQueryCondition + from datadog_api_client.v2.model.incident_rule_condition import IncidentRuleCondition + from datadog_api_client.v2.model.incident_rule_execution_type import IncidentRuleExecutionType + from datadog_api_client.v2.model.incident_rule_task_id_type import IncidentRuleTaskIDType + from datadog_api_client.v2.model.incident_rule_trigger_type import IncidentRuleTriggerType + + +class IncidentRuleDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_query_condition import IncidentRuleQueryCondition + from datadog_api_client.v2.model.incident_rule_condition import IncidentRuleCondition + from datadog_api_client.v2.model.incident_rule_execution_type import IncidentRuleExecutionType + from datadog_api_client.v2.model.incident_rule_task_id_type import IncidentRuleTaskIDType + from datadog_api_client.v2.model.incident_rule_trigger_type import IncidentRuleTriggerType + + return { + "condition": (IncidentRuleQueryCondition,), + "condition_table_type": (int,), + "conditions": ([IncidentRuleCondition],), + "enabled": (bool,), + "execution_type": (IncidentRuleExecutionType,), + "incident_type_uuid": (UUID, none_type), + "match_any_condition": (bool,), + "task_id": (IncidentRuleTaskIDType,), + "task_payload": (str,), + "trigger": (IncidentRuleTriggerType,), + } + + attribute_map = { + "condition": "condition", + "condition_table_type": "condition_table_type", + "conditions": "conditions", + "enabled": "enabled", + "execution_type": "execution_type", + "incident_type_uuid": "incident_type_uuid", + "match_any_condition": "match_any_condition", + "task_id": "task_id", + "task_payload": "task_payload", + "trigger": "trigger", + } + + def __init__( + self_, + condition: IncidentRuleQueryCondition, + condition_table_type: int, + enabled: bool, + execution_type: IncidentRuleExecutionType, + task_id: IncidentRuleTaskIDType, + task_payload: str, + conditions: Union[List[IncidentRuleCondition], UnsetType] = unset, + incident_type_uuid: Union[UUID, none_type, UnsetType] = unset, + match_any_condition: Union[bool, UnsetType] = unset, + trigger: Union[IncidentRuleTriggerType, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating an incident rule. + + :param condition: A query-based condition for an incident rule. + :type condition: IncidentRuleQueryCondition + + :param condition_table_type: The condition table type. 1 = raw query. + :type condition_table_type: int + + :param conditions: List of field-based conditions. + :type conditions: [IncidentRuleCondition], optional + + :param enabled: Whether the rule is enabled. + :type enabled: bool + + :param execution_type: The execution type of an incident rule. + :type execution_type: IncidentRuleExecutionType + + :param incident_type_uuid: The UUID of the incident type this rule applies to. + :type incident_type_uuid: UUID, none_type, optional + + :param match_any_condition: Whether any condition (OR logic) should match instead of all (AND logic). + :type match_any_condition: bool, optional + + :param task_id: The task ID for an incident rule. + :type task_id: IncidentRuleTaskIDType + + :param task_payload: The JSON-encoded payload for the task. + :type task_payload: str + + :param trigger: The trigger event for an incident rule. + :type trigger: IncidentRuleTriggerType, optional + """ + if conditions is not unset: + kwargs["conditions"] = conditions + if incident_type_uuid is not unset: + kwargs["incident_type_uuid"] = incident_type_uuid + if match_any_condition is not unset: + kwargs["match_any_condition"] = match_any_condition + if trigger is not unset: + kwargs["trigger"] = trigger + super().__init__(kwargs) + + self_.condition = condition + self_.condition_table_type = condition_table_type + self_.enabled = enabled + self_.execution_type = execution_type + self_.task_id = task_id + self_.task_payload = task_payload diff --git a/src/datadog_api_client/v2/model/incident_rule_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_rule_data_attributes_response.py new file mode 100644 index 0000000000..e882cabb26 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_data_attributes_response.py @@ -0,0 +1,171 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + none_type, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_query_condition import IncidentRuleQueryCondition + from datadog_api_client.v2.model.incident_rule_condition import IncidentRuleCondition + + +class IncidentRuleDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_query_condition import IncidentRuleQueryCondition + from datadog_api_client.v2.model.incident_rule_condition import IncidentRuleCondition + + return { + "condition": (IncidentRuleQueryCondition,), + "condition_table_type": (int,), + "conditions": ([IncidentRuleCondition],), + "created": (datetime,), + "created_by_uuid": (UUID,), + "deleted": (datetime, none_type), + "enabled": (bool,), + "execution_type": (int,), + "incident_settings_association_uuid": (UUID, none_type), + "match_any_condition": (bool,), + "modified": (datetime,), + "modified_by_uuid": (UUID,), + "org_id": (int,), + "task_id": (str, none_type), + "task_payload": (str, none_type), + "trigger": (str,), + } + + attribute_map = { + "condition": "condition", + "condition_table_type": "condition_table_type", + "conditions": "conditions", + "created": "created", + "created_by_uuid": "created_by_uuid", + "deleted": "deleted", + "enabled": "enabled", + "execution_type": "execution_type", + "incident_settings_association_uuid": "incident_settings_association_uuid", + "match_any_condition": "match_any_condition", + "modified": "modified", + "modified_by_uuid": "modified_by_uuid", + "org_id": "org_id", + "task_id": "task_id", + "task_payload": "task_payload", + "trigger": "trigger", + } + + def __init__( + self_, + condition: Union[IncidentRuleQueryCondition, UnsetType] = unset, + condition_table_type: Union[int, UnsetType] = unset, + conditions: Union[List[IncidentRuleCondition], UnsetType] = unset, + created: Union[datetime, UnsetType] = unset, + created_by_uuid: Union[UUID, UnsetType] = unset, + deleted: Union[datetime, none_type, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + execution_type: Union[int, UnsetType] = unset, + incident_settings_association_uuid: Union[UUID, none_type, UnsetType] = unset, + match_any_condition: Union[bool, UnsetType] = unset, + modified: Union[datetime, UnsetType] = unset, + modified_by_uuid: Union[UUID, UnsetType] = unset, + org_id: Union[int, UnsetType] = unset, + task_id: Union[str, none_type, UnsetType] = unset, + task_payload: Union[str, none_type, UnsetType] = unset, + trigger: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an incident rule in a response. + + :param condition: A query-based condition for an incident rule. + :type condition: IncidentRuleQueryCondition, optional + + :param condition_table_type: The condition table type. + :type condition_table_type: int, optional + + :param conditions: List of field-based conditions. + :type conditions: [IncidentRuleCondition], optional + + :param created: Timestamp when the rule was created. + :type created: datetime, optional + + :param created_by_uuid: UUID of the user who created the rule. + :type created_by_uuid: UUID, optional + + :param deleted: Timestamp when the rule was deleted. + :type deleted: datetime, none_type, optional + + :param enabled: Whether the rule is enabled. + :type enabled: bool, optional + + :param execution_type: The execution type of the rule. + :type execution_type: int, optional + + :param incident_settings_association_uuid: The incident settings association UUID. + :type incident_settings_association_uuid: UUID, none_type, optional + + :param match_any_condition: Whether any condition should match. + :type match_any_condition: bool, optional + + :param modified: Timestamp when the rule was last modified. + :type modified: datetime, optional + + :param modified_by_uuid: UUID of the user who last modified the rule. + :type modified_by_uuid: UUID, optional + + :param org_id: The organization ID. + :type org_id: int, optional + + :param task_id: The task ID. + :type task_id: str, none_type, optional + + :param task_payload: The JSON-encoded task payload. + :type task_payload: str, none_type, optional + + :param trigger: The trigger event for the rule. + :type trigger: str, optional + """ + if condition is not unset: + kwargs["condition"] = condition + if condition_table_type is not unset: + kwargs["condition_table_type"] = condition_table_type + if conditions is not unset: + kwargs["conditions"] = conditions + if created is not unset: + kwargs["created"] = created + if created_by_uuid is not unset: + kwargs["created_by_uuid"] = created_by_uuid + if deleted is not unset: + kwargs["deleted"] = deleted + if enabled is not unset: + kwargs["enabled"] = enabled + if execution_type is not unset: + kwargs["execution_type"] = execution_type + if incident_settings_association_uuid is not unset: + kwargs["incident_settings_association_uuid"] = incident_settings_association_uuid + if match_any_condition is not unset: + kwargs["match_any_condition"] = match_any_condition + if modified is not unset: + kwargs["modified"] = modified + if modified_by_uuid is not unset: + kwargs["modified_by_uuid"] = modified_by_uuid + if org_id is not unset: + kwargs["org_id"] = org_id + if task_id is not unset: + kwargs["task_id"] = task_id + if task_payload is not unset: + kwargs["task_payload"] = task_payload + if trigger is not unset: + kwargs["trigger"] = trigger + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_rule_data_request.py b/src/datadog_api_client/v2/model/incident_rule_data_request.py new file mode 100644 index 0000000000..15e59ff1b6 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_data_request.py @@ -0,0 +1,48 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_data_attributes_request import IncidentRuleDataAttributesRequest + from datadog_api_client.v2.model.incident_rule_type import IncidentRuleType + + +class IncidentRuleDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_data_attributes_request import IncidentRuleDataAttributesRequest + from datadog_api_client.v2.model.incident_rule_type import IncidentRuleType + + return { + "attributes": (IncidentRuleDataAttributesRequest,), + "type": (IncidentRuleType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__(self_, attributes: IncidentRuleDataAttributesRequest, type: IncidentRuleType, **kwargs): + """ + Incident rule data in a create request. + + :param attributes: Attributes for creating an incident rule. + :type attributes: IncidentRuleDataAttributesRequest + + :param type: Incident rule resource type. + :type type: IncidentRuleType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_rule_data_response.py b/src/datadog_api_client/v2/model/incident_rule_data_response.py new file mode 100644 index 0000000000..5c145afe0d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_data_response.py @@ -0,0 +1,59 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_data_attributes_response import IncidentRuleDataAttributesResponse + from datadog_api_client.v2.model.incident_rule_response_type import IncidentRuleResponseType + + +class IncidentRuleDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_data_attributes_response import ( + IncidentRuleDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_rule_response_type import IncidentRuleResponseType + + return { + "attributes": (IncidentRuleDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentRuleResponseType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, attributes: IncidentRuleDataAttributesResponse, id: UUID, type: IncidentRuleResponseType, **kwargs + ): + """ + Incident rule data in a response. + + :param attributes: Attributes of an incident rule in a response. + :type attributes: IncidentRuleDataAttributesResponse + + :param id: The rule identifier. + :type id: UUID + + :param type: Incident rule response resource type. + :type type: IncidentRuleResponseType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_rule_execution_type.py b/src/datadog_api_client/v2/model/incident_rule_execution_type.py new file mode 100644 index 0000000000..d4dc84ea0f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_execution_type.py @@ -0,0 +1,38 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentRuleExecutionType(ModelSimple): + """ + The execution type of an incident rule. + + :param value: Must be one of [1, 2]. + :type value: int + """ + + allowed_values = { + 1, + 2, + } + SINGLE_EXECUTION: ClassVar["IncidentRuleExecutionType"] + MULTI_EXECUTION: ClassVar["IncidentRuleExecutionType"] + + @cached_property + def openapi_types(_): + return { + "value": (int,), + } + + +IncidentRuleExecutionType.SINGLE_EXECUTION = IncidentRuleExecutionType(1) +IncidentRuleExecutionType.MULTI_EXECUTION = IncidentRuleExecutionType(2) diff --git a/src/datadog_api_client/v2/model/incident_rule_patch_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_rule_patch_data_attributes_request.py new file mode 100644 index 0000000000..9bd86d9e24 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_patch_data_attributes_request.py @@ -0,0 +1,82 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_query_condition import IncidentRuleQueryCondition + from datadog_api_client.v2.model.incident_rule_condition import IncidentRuleCondition + from datadog_api_client.v2.model.incident_rule_trigger_type import IncidentRuleTriggerType + + +class IncidentRulePatchDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_query_condition import IncidentRuleQueryCondition + from datadog_api_client.v2.model.incident_rule_condition import IncidentRuleCondition + from datadog_api_client.v2.model.incident_rule_trigger_type import IncidentRuleTriggerType + + return { + "condition": (IncidentRuleQueryCondition,), + "conditions": ([IncidentRuleCondition],), + "enabled": (bool,), + "task_payload": (str,), + "trigger": (IncidentRuleTriggerType,), + } + + attribute_map = { + "condition": "condition", + "conditions": "conditions", + "enabled": "enabled", + "task_payload": "task_payload", + "trigger": "trigger", + } + + def __init__( + self_, + condition: Union[IncidentRuleQueryCondition, UnsetType] = unset, + conditions: Union[List[IncidentRuleCondition], UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + task_payload: Union[str, UnsetType] = unset, + trigger: Union[IncidentRuleTriggerType, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for patching an incident rule. All fields are optional. + + :param condition: A query-based condition for an incident rule. + :type condition: IncidentRuleQueryCondition, optional + + :param conditions: List of field-based conditions. + :type conditions: [IncidentRuleCondition], optional + + :param enabled: Whether the rule is enabled. + :type enabled: bool, optional + + :param task_payload: The JSON-encoded payload for the task. + :type task_payload: str, optional + + :param trigger: The trigger event for an incident rule. + :type trigger: IncidentRuleTriggerType, optional + """ + if condition is not unset: + kwargs["condition"] = condition + if conditions is not unset: + kwargs["conditions"] = conditions + if enabled is not unset: + kwargs["enabled"] = enabled + if task_payload is not unset: + kwargs["task_payload"] = task_payload + if trigger is not unset: + kwargs["trigger"] = trigger + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_rule_patch_data_request.py b/src/datadog_api_client/v2/model/incident_rule_patch_data_request.py new file mode 100644 index 0000000000..2188077a9b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_patch_data_request.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_patch_data_attributes_request import ( + IncidentRulePatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_rule_type import IncidentRuleType + + +class IncidentRulePatchDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_patch_data_attributes_request import ( + IncidentRulePatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_rule_type import IncidentRuleType + + return { + "attributes": (IncidentRulePatchDataAttributesRequest,), + "id": (UUID,), + "type": (IncidentRuleType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + id: UUID, + type: IncidentRuleType, + attributes: Union[IncidentRulePatchDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + Incident rule data in a patch request. + + :param attributes: Attributes for patching an incident rule. All fields are optional. + :type attributes: IncidentRulePatchDataAttributesRequest, optional + + :param id: The rule identifier. + :type id: UUID + + :param type: Incident rule resource type. + :type type: IncidentRuleType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_rule_patch_request.py b/src/datadog_api_client/v2/model/incident_rule_patch_request.py new file mode 100644 index 0000000000..e4c788a827 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_patch_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_patch_data_request import IncidentRulePatchDataRequest + + +class IncidentRulePatchRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_patch_data_request import IncidentRulePatchDataRequest + + return { + "data": (IncidentRulePatchDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentRulePatchDataRequest, **kwargs): + """ + Request payload for patching an incident rule. + + :param data: Incident rule data in a patch request. + :type data: IncidentRulePatchDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_rule_query_condition.py b/src/datadog_api_client/v2/model/incident_rule_query_condition.py new file mode 100644 index 0000000000..c1790d5481 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_query_condition.py @@ -0,0 +1,49 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +class IncidentRuleQueryCondition(ModelNormal): + @cached_property + def openapi_types(_): + return { + "normalized_query": (str, none_type), + "raw_query": (str, none_type), + } + + attribute_map = { + "normalized_query": "normalized_query", + "raw_query": "raw_query", + } + + def __init__( + self_, + normalized_query: Union[str, none_type, UnsetType] = unset, + raw_query: Union[str, none_type, UnsetType] = unset, + **kwargs, + ): + """ + A query-based condition for an incident rule. + + :param normalized_query: The normalized query string. + :type normalized_query: str, none_type, optional + + :param raw_query: The raw query string. + :type raw_query: str, none_type, optional + """ + if normalized_query is not unset: + kwargs["normalized_query"] = normalized_query + if raw_query is not unset: + kwargs["raw_query"] = raw_query + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_rule_request.py b/src/datadog_api_client/v2/model/incident_rule_request.py new file mode 100644 index 0000000000..f7036010fc --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_data_request import IncidentRuleDataRequest + + +class IncidentRuleRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_data_request import IncidentRuleDataRequest + + return { + "data": (IncidentRuleDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentRuleDataRequest, **kwargs): + """ + Request payload for creating an incident rule. + + :param data: Incident rule data in a create request. + :type data: IncidentRuleDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_rule_response.py b/src/datadog_api_client/v2/model/incident_rule_response.py new file mode 100644 index 0000000000..0b36f53b31 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_response.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_data_response import IncidentRuleDataResponse + + +class IncidentRuleResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_data_response import IncidentRuleDataResponse + + return { + "data": (IncidentRuleDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentRuleDataResponse, **kwargs): + """ + Response with a single incident rule. + + :param data: Incident rule data in a response. + :type data: IncidentRuleDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_rule_response_type.py b/src/datadog_api_client/v2/model/incident_rule_response_type.py new file mode 100644 index 0000000000..cdc9932e5c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_response_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentRuleResponseType(ModelSimple): + """ + Incident rule response resource type. + + :param value: If omitted defaults to "incidents_rules". Must be one of ["incidents_rules"]. + :type value: str + """ + + allowed_values = { + "incidents_rules", + } + INCIDENTS_RULES: ClassVar["IncidentRuleResponseType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentRuleResponseType.INCIDENTS_RULES = IncidentRuleResponseType("incidents_rules") diff --git a/src/datadog_api_client/v2/model/incident_rule_task_id_type.py b/src/datadog_api_client/v2/model/incident_rule_task_id_type.py new file mode 100644 index 0000000000..1552142085 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_task_id_type.py @@ -0,0 +1,72 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentRuleTaskIDType(ModelSimple): + """ + The task ID for an incident rule. + + :param value: Must be one of ["jira-create-issue-job", "notify-incident-handles-job", "servicenow-create-incident-job", "slack-create-channel-job", "zoom-create-meeting-job", "google-meet-create-meeting-job", "workflow-automation-job", "ms-teams-create-meeting-job", "google-chat-create-space-job", "zoom-suppress-summarization-job", "ms-teams-suppress-summarization-job", "google-meet-suppress-summarization-job"]. + :type value: str + """ + + allowed_values = { + "jira-create-issue-job", + "notify-incident-handles-job", + "servicenow-create-incident-job", + "slack-create-channel-job", + "zoom-create-meeting-job", + "google-meet-create-meeting-job", + "workflow-automation-job", + "ms-teams-create-meeting-job", + "google-chat-create-space-job", + "zoom-suppress-summarization-job", + "ms-teams-suppress-summarization-job", + "google-meet-suppress-summarization-job", + } + JIRA_CREATE_ISSUE_JOB: ClassVar["IncidentRuleTaskIDType"] + NOTIFY_INCIDENT_HANDLES_JOB: ClassVar["IncidentRuleTaskIDType"] + SERVICENOW_CREATE_INCIDENT_JOB: ClassVar["IncidentRuleTaskIDType"] + SLACK_CREATE_CHANNEL_JOB: ClassVar["IncidentRuleTaskIDType"] + ZOOM_CREATE_MEETING_JOB: ClassVar["IncidentRuleTaskIDType"] + GOOGLE_MEET_CREATE_MEETING_JOB: ClassVar["IncidentRuleTaskIDType"] + WORKFLOW_AUTOMATION_JOB: ClassVar["IncidentRuleTaskIDType"] + MS_TEAMS_CREATE_MEETING_JOB: ClassVar["IncidentRuleTaskIDType"] + GOOGLE_CHAT_CREATE_SPACE_JOB: ClassVar["IncidentRuleTaskIDType"] + ZOOM_SUPPRESS_SUMMARIZATION_JOB: ClassVar["IncidentRuleTaskIDType"] + MS_TEAMS_SUPPRESS_SUMMARIZATION_JOB: ClassVar["IncidentRuleTaskIDType"] + GOOGLE_MEET_SUPPRESS_SUMMARIZATION_JOB: ClassVar["IncidentRuleTaskIDType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentRuleTaskIDType.JIRA_CREATE_ISSUE_JOB = IncidentRuleTaskIDType("jira-create-issue-job") +IncidentRuleTaskIDType.NOTIFY_INCIDENT_HANDLES_JOB = IncidentRuleTaskIDType("notify-incident-handles-job") +IncidentRuleTaskIDType.SERVICENOW_CREATE_INCIDENT_JOB = IncidentRuleTaskIDType("servicenow-create-incident-job") +IncidentRuleTaskIDType.SLACK_CREATE_CHANNEL_JOB = IncidentRuleTaskIDType("slack-create-channel-job") +IncidentRuleTaskIDType.ZOOM_CREATE_MEETING_JOB = IncidentRuleTaskIDType("zoom-create-meeting-job") +IncidentRuleTaskIDType.GOOGLE_MEET_CREATE_MEETING_JOB = IncidentRuleTaskIDType("google-meet-create-meeting-job") +IncidentRuleTaskIDType.WORKFLOW_AUTOMATION_JOB = IncidentRuleTaskIDType("workflow-automation-job") +IncidentRuleTaskIDType.MS_TEAMS_CREATE_MEETING_JOB = IncidentRuleTaskIDType("ms-teams-create-meeting-job") +IncidentRuleTaskIDType.GOOGLE_CHAT_CREATE_SPACE_JOB = IncidentRuleTaskIDType("google-chat-create-space-job") +IncidentRuleTaskIDType.ZOOM_SUPPRESS_SUMMARIZATION_JOB = IncidentRuleTaskIDType("zoom-suppress-summarization-job") +IncidentRuleTaskIDType.MS_TEAMS_SUPPRESS_SUMMARIZATION_JOB = IncidentRuleTaskIDType( + "ms-teams-suppress-summarization-job" +) +IncidentRuleTaskIDType.GOOGLE_MEET_SUPPRESS_SUMMARIZATION_JOB = IncidentRuleTaskIDType( + "google-meet-suppress-summarization-job" +) diff --git a/src/datadog_api_client/v2/model/incident_rule_trigger_type.py b/src/datadog_api_client/v2/model/incident_rule_trigger_type.py new file mode 100644 index 0000000000..9ddb6cbd69 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_trigger_type.py @@ -0,0 +1,41 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentRuleTriggerType(ModelSimple): + """ + The trigger event for an incident rule. + + :param value: Must be one of ["incident_saved_trigger", "incident_created_trigger", "incident_modified_trigger"]. + :type value: str + """ + + allowed_values = { + "incident_saved_trigger", + "incident_created_trigger", + "incident_modified_trigger", + } + INCIDENT_SAVED_TRIGGER: ClassVar["IncidentRuleTriggerType"] + INCIDENT_CREATED_TRIGGER: ClassVar["IncidentRuleTriggerType"] + INCIDENT_MODIFIED_TRIGGER: ClassVar["IncidentRuleTriggerType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentRuleTriggerType.INCIDENT_SAVED_TRIGGER = IncidentRuleTriggerType("incident_saved_trigger") +IncidentRuleTriggerType.INCIDENT_CREATED_TRIGGER = IncidentRuleTriggerType("incident_created_trigger") +IncidentRuleTriggerType.INCIDENT_MODIFIED_TRIGGER = IncidentRuleTriggerType("incident_modified_trigger") diff --git a/src/datadog_api_client/v2/model/incident_rule_type.py b/src/datadog_api_client/v2/model/incident_rule_type.py new file mode 100644 index 0000000000..3d7e08e6c5 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentRuleType(ModelSimple): + """ + Incident rule resource type. + + :param value: If omitted defaults to "incident_rules". Must be one of ["incident_rules"]. + :type value: str + """ + + allowed_values = { + "incident_rules", + } + INCIDENT_RULES: ClassVar["IncidentRuleType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentRuleType.INCIDENT_RULES = IncidentRuleType("incident_rules") diff --git a/src/datadog_api_client/v2/model/incident_rules_response.py b/src/datadog_api_client/v2/model/incident_rules_response.py new file mode 100644 index 0000000000..12cef15b71 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rules_response.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_data_response import IncidentRuleDataResponse + + +class IncidentRulesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_data_response import IncidentRuleDataResponse + + return { + "data": ([IncidentRuleDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentRuleDataResponse], **kwargs): + """ + Response with a list of incident rules. + + :param data: List of incident rules. + :type data: [IncidentRuleDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_service_now_record_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_service_now_record_data_attributes_request.py new file mode 100644 index 0000000000..d81c1185bd --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_service_now_record_data_attributes_request.py @@ -0,0 +1,62 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentServiceNowRecordDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "assignment_group": (str,), + "configuration_item_mapping": (str,), + "instance_name": (str,), + "record_id": (str,), + } + + attribute_map = { + "assignment_group": "assignment_group", + "configuration_item_mapping": "configuration_item_mapping", + "instance_name": "instance_name", + "record_id": "record_id", + } + + def __init__( + self_, + assignment_group: str, + configuration_item_mapping: str, + instance_name: str, + record_id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating a ServiceNow record for an incident. + + :param assignment_group: The ServiceNow assignment group. + :type assignment_group: str + + :param configuration_item_mapping: The ServiceNow configuration item mapping. + :type configuration_item_mapping: str + + :param instance_name: The ServiceNow instance name. + :type instance_name: str + + :param record_id: An existing ServiceNow record ID (Sys ID) to link instead of creating a new record. + :type record_id: str, optional + """ + if record_id is not unset: + kwargs["record_id"] = record_id + super().__init__(kwargs) + + self_.assignment_group = assignment_group + self_.configuration_item_mapping = configuration_item_mapping + self_.instance_name = instance_name diff --git a/src/datadog_api_client/v2/model/incident_service_now_record_data_request.py b/src/datadog_api_client/v2/model/incident_service_now_record_data_request.py new file mode 100644 index 0000000000..7f2a720020 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_service_now_record_data_request.py @@ -0,0 +1,59 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_service_now_record_data_attributes_request import ( + IncidentServiceNowRecordDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_service_now_record_prompt_type import IncidentServiceNowRecordPromptType + + +class IncidentServiceNowRecordDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_service_now_record_data_attributes_request import ( + IncidentServiceNowRecordDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_service_now_record_prompt_type import ( + IncidentServiceNowRecordPromptType, + ) + + return { + "attributes": (IncidentServiceNowRecordDataAttributesRequest,), + "type": (IncidentServiceNowRecordPromptType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentServiceNowRecordDataAttributesRequest, + type: IncidentServiceNowRecordPromptType, + **kwargs, + ): + """ + ServiceNow record data in a create request. + + :param attributes: Attributes for creating a ServiceNow record for an incident. + :type attributes: IncidentServiceNowRecordDataAttributesRequest + + :param type: ServiceNow record prompt resource type. + :type type: IncidentServiceNowRecordPromptType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_service_now_record_prompt_type.py b/src/datadog_api_client/v2/model/incident_service_now_record_prompt_type.py new file mode 100644 index 0000000000..55e35ee97a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_service_now_record_prompt_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentServiceNowRecordPromptType(ModelSimple): + """ + ServiceNow record prompt resource type. + + :param value: If omitted defaults to "incident_servicenow_record_prompt". Must be one of ["incident_servicenow_record_prompt"]. + :type value: str + """ + + allowed_values = { + "incident_servicenow_record_prompt", + } + INCIDENT_SERVICENOW_RECORD_PROMPT: ClassVar["IncidentServiceNowRecordPromptType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentServiceNowRecordPromptType.INCIDENT_SERVICENOW_RECORD_PROMPT = IncidentServiceNowRecordPromptType( + "incident_servicenow_record_prompt" +) diff --git a/src/datadog_api_client/v2/model/incident_service_now_record_request.py b/src/datadog_api_client/v2/model/incident_service_now_record_request.py new file mode 100644 index 0000000000..233db83230 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_service_now_record_request.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_service_now_record_data_request import IncidentServiceNowRecordDataRequest + + +class IncidentServiceNowRecordRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_service_now_record_data_request import ( + IncidentServiceNowRecordDataRequest, + ) + + return { + "data": (IncidentServiceNowRecordDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentServiceNowRecordDataRequest, **kwargs): + """ + Request payload for creating a ServiceNow record for an incident. + + :param data: ServiceNow record data in a create request. + :type data: IncidentServiceNowRecordDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_timestamp_override_data_attributes_request.py new file mode 100644 index 0000000000..8559d7e5ce --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_data_attributes_request.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_type import IncidentTimestampType + + +class IncidentTimestampOverrideDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_type import IncidentTimestampType + + return { + "timestamp_type": (IncidentTimestampType,), + "timestamp_value": (datetime,), + } + + attribute_map = { + "timestamp_type": "timestamp_type", + "timestamp_value": "timestamp_value", + } + + def __init__(self_, timestamp_type: IncidentTimestampType, timestamp_value: datetime, **kwargs): + """ + Attributes for creating a timestamp override. + + :param timestamp_type: The type of timestamp to override. + :type timestamp_type: IncidentTimestampType + + :param timestamp_value: The overridden timestamp value. + :type timestamp_value: datetime + """ + super().__init__(kwargs) + + self_.timestamp_type = timestamp_type + self_.timestamp_value = timestamp_value diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_timestamp_override_data_attributes_response.py new file mode 100644 index 0000000000..0d1ef2c48b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_data_attributes_response.py @@ -0,0 +1,84 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_type import IncidentTimestampType + + +class IncidentTimestampOverrideDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_type import IncidentTimestampType + + return { + "created_at": (datetime,), + "deleted_at": (datetime, none_type), + "incident_id": (str,), + "modified_at": (datetime,), + "timestamp_type": (IncidentTimestampType,), + "timestamp_value": (datetime,), + } + + attribute_map = { + "created_at": "created_at", + "deleted_at": "deleted_at", + "incident_id": "incident_id", + "modified_at": "modified_at", + "timestamp_type": "timestamp_type", + "timestamp_value": "timestamp_value", + } + + def __init__( + self_, + created_at: datetime, + incident_id: str, + modified_at: datetime, + timestamp_type: IncidentTimestampType, + timestamp_value: datetime, + deleted_at: Union[datetime, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a timestamp override in a response. + + :param created_at: Timestamp when the override was created. + :type created_at: datetime + + :param deleted_at: Timestamp when the override was deleted. + :type deleted_at: datetime, none_type, optional + + :param incident_id: The incident identifier. + :type incident_id: str + + :param modified_at: Timestamp when the override was last modified. + :type modified_at: datetime + + :param timestamp_type: The type of timestamp to override. + :type timestamp_type: IncidentTimestampType + + :param timestamp_value: The overridden timestamp value. + :type timestamp_value: datetime + """ + if deleted_at is not unset: + kwargs["deleted_at"] = deleted_at + super().__init__(kwargs) + + self_.created_at = created_at + self_.incident_id = incident_id + self_.modified_at = modified_at + self_.timestamp_type = timestamp_type + self_.timestamp_value = timestamp_value diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_data_request.py b/src/datadog_api_client/v2/model/incident_timestamp_override_data_request.py new file mode 100644 index 0000000000..11bee6313a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_data_request.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_override_data_attributes_request import ( + IncidentTimestampOverrideDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_timestamp_override_type import IncidentTimestampOverrideType + + +class IncidentTimestampOverrideDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_override_data_attributes_request import ( + IncidentTimestampOverrideDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_timestamp_override_type import IncidentTimestampOverrideType + + return { + "attributes": (IncidentTimestampOverrideDataAttributesRequest,), + "type": (IncidentTimestampOverrideType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: IncidentTimestampOverrideDataAttributesRequest, type: IncidentTimestampOverrideType, **kwargs + ): + """ + Timestamp override data in a create request. + + :param attributes: Attributes for creating a timestamp override. + :type attributes: IncidentTimestampOverrideDataAttributesRequest + + :param type: Incident timestamp override resource type. + :type type: IncidentTimestampOverrideType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_data_response.py b/src/datadog_api_client/v2/model/incident_timestamp_override_data_response.py new file mode 100644 index 0000000000..caa15cbc66 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_data_response.py @@ -0,0 +1,81 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_override_data_attributes_response import ( + IncidentTimestampOverrideDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_timestamp_override_relationships import ( + IncidentTimestampOverrideRelationships, + ) + from datadog_api_client.v2.model.incident_timestamp_override_type import IncidentTimestampOverrideType + + +class IncidentTimestampOverrideDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_override_data_attributes_response import ( + IncidentTimestampOverrideDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_timestamp_override_relationships import ( + IncidentTimestampOverrideRelationships, + ) + from datadog_api_client.v2.model.incident_timestamp_override_type import IncidentTimestampOverrideType + + return { + "attributes": (IncidentTimestampOverrideDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentTimestampOverrideRelationships,), + "type": (IncidentTimestampOverrideType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentTimestampOverrideDataAttributesResponse, + id: UUID, + type: IncidentTimestampOverrideType, + relationships: Union[IncidentTimestampOverrideRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Timestamp override data in a response. + + :param attributes: Attributes of a timestamp override in a response. + :type attributes: IncidentTimestampOverrideDataAttributesResponse + + :param id: The timestamp override identifier. + :type id: UUID + + :param relationships: Relationships for a timestamp override. + :type relationships: IncidentTimestampOverrideRelationships, optional + + :param type: Incident timestamp override resource type. + :type type: IncidentTimestampOverrideType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_patch_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_timestamp_override_patch_data_attributes_request.py new file mode 100644 index 0000000000..904568f017 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_patch_data_attributes_request.py @@ -0,0 +1,55 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_type import IncidentTimestampType + + +class IncidentTimestampOverridePatchDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_type import IncidentTimestampType + + return { + "timestamp_type": (IncidentTimestampType,), + "timestamp_value": (datetime,), + } + + attribute_map = { + "timestamp_type": "timestamp_type", + "timestamp_value": "timestamp_value", + } + + def __init__( + self_, + timestamp_type: Union[IncidentTimestampType, UnsetType] = unset, + timestamp_value: Union[datetime, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for patching a timestamp override. All fields are optional. + + :param timestamp_type: The type of timestamp to override. + :type timestamp_type: IncidentTimestampType, optional + + :param timestamp_value: The overridden timestamp value. + :type timestamp_value: datetime, optional + """ + if timestamp_type is not unset: + kwargs["timestamp_type"] = timestamp_type + if timestamp_value is not unset: + kwargs["timestamp_value"] = timestamp_value + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_patch_data_request.py b/src/datadog_api_client/v2/model/incident_timestamp_override_patch_data_request.py new file mode 100644 index 0000000000..45f0746f3f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_patch_data_request.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_override_patch_data_attributes_request import ( + IncidentTimestampOverridePatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_timestamp_override_type import IncidentTimestampOverrideType + + +class IncidentTimestampOverridePatchDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_override_patch_data_attributes_request import ( + IncidentTimestampOverridePatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_timestamp_override_type import IncidentTimestampOverrideType + + return { + "attributes": (IncidentTimestampOverridePatchDataAttributesRequest,), + "id": (UUID,), + "type": (IncidentTimestampOverrideType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + id: UUID, + type: IncidentTimestampOverrideType, + attributes: Union[IncidentTimestampOverridePatchDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + Timestamp override data in a patch request. + + :param attributes: Attributes for patching a timestamp override. All fields are optional. + :type attributes: IncidentTimestampOverridePatchDataAttributesRequest, optional + + :param id: The timestamp override identifier. + :type id: UUID + + :param type: Incident timestamp override resource type. + :type type: IncidentTimestampOverrideType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_patch_request.py b/src/datadog_api_client/v2/model/incident_timestamp_override_patch_request.py new file mode 100644 index 0000000000..c98a668780 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_patch_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_override_patch_data_request import ( + IncidentTimestampOverridePatchDataRequest, + ) + + +class IncidentTimestampOverridePatchRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_override_patch_data_request import ( + IncidentTimestampOverridePatchDataRequest, + ) + + return { + "data": (IncidentTimestampOverridePatchDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentTimestampOverridePatchDataRequest, **kwargs): + """ + Request payload for patching a timestamp override. + + :param data: Timestamp override data in a patch request. + :type data: IncidentTimestampOverridePatchDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_relationships.py b/src/datadog_api_client/v2/model/incident_timestamp_override_relationships.py new file mode 100644 index 0000000000..d8e15db6a6 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_relationships.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + + +class IncidentTimestampOverrideRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + + return { + "created_by_user": (RelationshipToUser,), + "last_modified_by_user": (RelationshipToUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[RelationshipToUser, UnsetType] = unset, + last_modified_by_user: Union[RelationshipToUser, UnsetType] = unset, + **kwargs, + ): + """ + Relationships for a timestamp override. + + :param created_by_user: Relationship to user. + :type created_by_user: RelationshipToUser, optional + + :param last_modified_by_user: Relationship to user. + :type last_modified_by_user: RelationshipToUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_request.py b/src/datadog_api_client/v2/model/incident_timestamp_override_request.py new file mode 100644 index 0000000000..403773f4d4 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_override_data_request import ( + IncidentTimestampOverrideDataRequest, + ) + + +class IncidentTimestampOverrideRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_override_data_request import ( + IncidentTimestampOverrideDataRequest, + ) + + return { + "data": (IncidentTimestampOverrideDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentTimestampOverrideDataRequest, **kwargs): + """ + Request payload for creating a timestamp override. + + :param data: Timestamp override data in a create request. + :type data: IncidentTimestampOverrideDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_response.py b/src/datadog_api_client/v2/model/incident_timestamp_override_response.py new file mode 100644 index 0000000000..853d1364aa --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_response.py @@ -0,0 +1,63 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_override_data_response import ( + IncidentTimestampOverrideDataResponse, + ) + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentTimestampOverrideResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_override_data_response import ( + IncidentTimestampOverrideDataResponse, + ) + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": (IncidentTimestampOverrideDataResponse,), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, + data: IncidentTimestampOverrideDataResponse, + included: Union[List[IncidentUserData], UnsetType] = unset, + **kwargs, + ): + """ + Response with a single timestamp override. + + :param data: Timestamp override data in a response. + :type data: IncidentTimestampOverrideDataResponse + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timestamp_override_type.py b/src/datadog_api_client/v2/model/incident_timestamp_override_type.py new file mode 100644 index 0000000000..c1b6ba864d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_override_type.py @@ -0,0 +1,37 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentTimestampOverrideType(ModelSimple): + """ + Incident timestamp override resource type. + + :param value: If omitted defaults to "incidents_timestamp_overrides". Must be one of ["incidents_timestamp_overrides"]. + :type value: str + """ + + allowed_values = { + "incidents_timestamp_overrides", + } + INCIDENTS_TIMESTAMP_OVERRIDES: ClassVar["IncidentTimestampOverrideType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentTimestampOverrideType.INCIDENTS_TIMESTAMP_OVERRIDES = IncidentTimestampOverrideType( + "incidents_timestamp_overrides" +) diff --git a/src/datadog_api_client/v2/model/incident_timestamp_overrides_response.py b/src/datadog_api_client/v2/model/incident_timestamp_overrides_response.py new file mode 100644 index 0000000000..091019811a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_overrides_response.py @@ -0,0 +1,63 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timestamp_override_data_response import ( + IncidentTimestampOverrideDataResponse, + ) + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + +class IncidentTimestampOverridesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timestamp_override_data_response import ( + IncidentTimestampOverrideDataResponse, + ) + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + + return { + "data": ([IncidentTimestampOverrideDataResponse],), + "included": ([IncidentUserData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + read_only_vars = { + "included", + } + + def __init__( + self_, + data: List[IncidentTimestampOverrideDataResponse], + included: Union[List[IncidentUserData], UnsetType] = unset, + **kwargs, + ): + """ + Response with a list of timestamp overrides. + + :param data: List of timestamp overrides. + :type data: [IncidentTimestampOverrideDataResponse] + + :param included: Included related resources. + :type included: [IncidentUserData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timestamp_type.py b/src/datadog_api_client/v2/model/incident_timestamp_type.py new file mode 100644 index 0000000000..a37ba68e82 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timestamp_type.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentTimestampType(ModelSimple): + """ + The type of timestamp to override. + + :param value: Must be one of ["created", "detected", "resolved", "declared"]. + :type value: str + """ + + allowed_values = { + "created", + "detected", + "resolved", + "declared", + } + CREATED: ClassVar["IncidentTimestampType"] + DETECTED: ClassVar["IncidentTimestampType"] + RESOLVED: ClassVar["IncidentTimestampType"] + DECLARED: ClassVar["IncidentTimestampType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentTimestampType.CREATED = IncidentTimestampType("created") +IncidentTimestampType.DETECTED = IncidentTimestampType("detected") +IncidentTimestampType.RESOLVED = IncidentTimestampType("resolved") +IncidentTimestampType.DECLARED = IncidentTimestampType("declared") diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_user_defined_role_data_attributes_request.py new file mode 100644 index 0000000000..a952bfd2bb --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_data_attributes_request.py @@ -0,0 +1,62 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_policy import IncidentUserDefinedRolePolicy + + +class IncidentUserDefinedRoleDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_policy import IncidentUserDefinedRolePolicy + + return { + "description": (str, none_type), + "name": (str,), + "policy": (IncidentUserDefinedRolePolicy,), + } + + attribute_map = { + "description": "description", + "name": "name", + "policy": "policy", + } + + def __init__( + self_, + name: str, + policy: IncidentUserDefinedRolePolicy, + description: Union[str, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating an incident user-defined role. + + :param description: A description of the user-defined role. + :type description: str, none_type, optional + + :param name: The name of the user-defined role. + :type name: str + + :param policy: Policy configuration for a user-defined role. + :type policy: IncidentUserDefinedRolePolicy + """ + if description is not unset: + kwargs["description"] = description + super().__init__(kwargs) + + self_.name = name + self_.policy = policy diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_user_defined_role_data_attributes_response.py new file mode 100644 index 0000000000..9e696879bf --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_data_attributes_response.py @@ -0,0 +1,77 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_policy import IncidentUserDefinedRolePolicy + + +class IncidentUserDefinedRoleDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_policy import IncidentUserDefinedRolePolicy + + return { + "created": (datetime,), + "description": (str, none_type), + "modified": (datetime,), + "name": (str,), + "policy": (IncidentUserDefinedRolePolicy,), + } + + attribute_map = { + "created": "created", + "description": "description", + "modified": "modified", + "name": "name", + "policy": "policy", + } + + def __init__( + self_, + created: datetime, + modified: datetime, + name: str, + policy: IncidentUserDefinedRolePolicy, + description: Union[str, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an incident user-defined role. + + :param created: Timestamp when the role was created. + :type created: datetime + + :param description: A description of the user-defined role. + :type description: str, none_type, optional + + :param modified: Timestamp when the role was last modified. + :type modified: datetime + + :param name: The name of the user-defined role. + :type name: str + + :param policy: Policy configuration for a user-defined role. + :type policy: IncidentUserDefinedRolePolicy + """ + if description is not unset: + kwargs["description"] = description + super().__init__(kwargs) + + self_.created = created + self_.modified = modified + self_.name = name + self_.policy = policy diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_data_request.py b/src/datadog_api_client/v2/model/incident_user_defined_role_data_request.py new file mode 100644 index 0000000000..884f62e720 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_data_request.py @@ -0,0 +1,70 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_data_attributes_request import ( + IncidentUserDefinedRoleDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_user_defined_role_relationships_request import ( + IncidentUserDefinedRoleRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_user_defined_role_type import IncidentUserDefinedRoleType + + +class IncidentUserDefinedRoleDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_data_attributes_request import ( + IncidentUserDefinedRoleDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_user_defined_role_relationships_request import ( + IncidentUserDefinedRoleRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_user_defined_role_type import IncidentUserDefinedRoleType + + return { + "attributes": (IncidentUserDefinedRoleDataAttributesRequest,), + "relationships": (IncidentUserDefinedRoleRelationshipsRequest,), + "type": (IncidentUserDefinedRoleType,), + } + + attribute_map = { + "attributes": "attributes", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentUserDefinedRoleDataAttributesRequest, + relationships: IncidentUserDefinedRoleRelationshipsRequest, + type: IncidentUserDefinedRoleType, + **kwargs, + ): + """ + Data for creating an incident user-defined role. + + :param attributes: Attributes for creating an incident user-defined role. + :type attributes: IncidentUserDefinedRoleDataAttributesRequest + + :param relationships: Relationships for creating a user-defined role. + :type relationships: IncidentUserDefinedRoleRelationshipsRequest + + :param type: Incident user-defined role resource type. + :type type: IncidentUserDefinedRoleType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.relationships = relationships + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_data_response.py b/src/datadog_api_client/v2/model/incident_user_defined_role_data_response.py new file mode 100644 index 0000000000..4a07070766 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_data_response.py @@ -0,0 +1,81 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_data_attributes_response import ( + IncidentUserDefinedRoleDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_user_defined_role_relationships_response import ( + IncidentUserDefinedRoleRelationshipsResponse, + ) + from datadog_api_client.v2.model.incident_user_defined_role_type import IncidentUserDefinedRoleType + + +class IncidentUserDefinedRoleDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_data_attributes_response import ( + IncidentUserDefinedRoleDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_user_defined_role_relationships_response import ( + IncidentUserDefinedRoleRelationshipsResponse, + ) + from datadog_api_client.v2.model.incident_user_defined_role_type import IncidentUserDefinedRoleType + + return { + "attributes": (IncidentUserDefinedRoleDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentUserDefinedRoleRelationshipsResponse,), + "type": (IncidentUserDefinedRoleType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentUserDefinedRoleDataAttributesResponse, + id: UUID, + type: IncidentUserDefinedRoleType, + relationships: Union[IncidentUserDefinedRoleRelationshipsResponse, UnsetType] = unset, + **kwargs, + ): + """ + Data for an incident user-defined role response. + + :param attributes: Attributes of an incident user-defined role. + :type attributes: IncidentUserDefinedRoleDataAttributesResponse + + :param id: The ID of the user-defined role. + :type id: UUID + + :param relationships: Relationships of a user-defined role response. + :type relationships: IncidentUserDefinedRoleRelationshipsResponse, optional + + :param type: Incident user-defined role resource type. + :type type: IncidentUserDefinedRoleType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_incident_type_relationship.py b/src/datadog_api_client/v2/model/incident_user_defined_role_incident_type_relationship.py new file mode 100644 index 0000000000..375018ad6e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_incident_type_relationship.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship_data import ( + IncidentUserDefinedRoleIncidentTypeRelationshipData, + ) + + +class IncidentUserDefinedRoleIncidentTypeRelationship(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship_data import ( + IncidentUserDefinedRoleIncidentTypeRelationshipData, + ) + + return { + "data": (IncidentUserDefinedRoleIncidentTypeRelationshipData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentUserDefinedRoleIncidentTypeRelationshipData, **kwargs): + """ + Relationship to an incident type for a user-defined role. + + :param data: Data for the incident type relationship of a user-defined role. + :type data: IncidentUserDefinedRoleIncidentTypeRelationshipData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_incident_type_relationship_data.py b/src/datadog_api_client/v2/model/incident_user_defined_role_incident_type_relationship_data.py new file mode 100644 index 0000000000..0340f732ce --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_incident_type_relationship_data.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +class IncidentUserDefinedRoleIncidentTypeRelationshipData(ModelNormal): + @cached_property + def openapi_types(_): + return { + "id": (UUID,), + "type": (str,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: str, **kwargs): + """ + Data for the incident type relationship of a user-defined role. + + :param id: The ID of the incident type. + :type id: UUID + + :param type: The type of the resource. + :type type: str + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_included_item.py b/src/datadog_api_client/v2/model/incident_user_defined_role_included_item.py new file mode 100644 index 0000000000..dac2e95845 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_included_item.py @@ -0,0 +1,49 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class IncidentUserDefinedRoleIncludedItem(ModelComposed): + def __init__(self, **kwargs): + """ + A single included resource in a user-defined role response. + + :param attributes: Attributes of user object returned by the API. + :type attributes: IncidentUserAttributes, optional + + :param id: ID of the user. + :type id: str, optional + + :param type: Users resource type. + :type type: UsersType, optional + + :param relationships: The incident type's resource relationships. + :type relationships: IncidentTypeRelationships, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + from datadog_api_client.v2.model.incident_type_object import IncidentTypeObject + + return { + "oneOf": [ + IncidentUserData, + IncidentTypeObject, + ], + } diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_patch_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_user_defined_role_patch_data_attributes_request.py new file mode 100644 index 0000000000..9109a4aa7c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_patch_data_attributes_request.py @@ -0,0 +1,63 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_policy import IncidentUserDefinedRolePolicy + + +class IncidentUserDefinedRolePatchDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_policy import IncidentUserDefinedRolePolicy + + return { + "description": (str, none_type), + "name": (str,), + "policy": (IncidentUserDefinedRolePolicy,), + } + + attribute_map = { + "description": "description", + "name": "name", + "policy": "policy", + } + + def __init__( + self_, + description: Union[str, none_type, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + policy: Union[IncidentUserDefinedRolePolicy, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for updating an incident user-defined role. + + :param description: A description of the user-defined role. + :type description: str, none_type, optional + + :param name: The name of the user-defined role. + :type name: str, optional + + :param policy: Policy configuration for a user-defined role. + :type policy: IncidentUserDefinedRolePolicy, optional + """ + if description is not unset: + kwargs["description"] = description + if name is not unset: + kwargs["name"] = name + if policy is not unset: + kwargs["policy"] = policy + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_patch_data_request.py b/src/datadog_api_client/v2/model/incident_user_defined_role_patch_data_request.py new file mode 100644 index 0000000000..6f3b0a9483 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_patch_data_request.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_patch_data_attributes_request import ( + IncidentUserDefinedRolePatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_user_defined_role_type import IncidentUserDefinedRoleType + + +class IncidentUserDefinedRolePatchDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_patch_data_attributes_request import ( + IncidentUserDefinedRolePatchDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_user_defined_role_type import IncidentUserDefinedRoleType + + return { + "attributes": (IncidentUserDefinedRolePatchDataAttributesRequest,), + "id": (UUID,), + "type": (IncidentUserDefinedRoleType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + id: UUID, + type: IncidentUserDefinedRoleType, + attributes: Union[IncidentUserDefinedRolePatchDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + Data for updating an incident user-defined role. + + :param attributes: Attributes for updating an incident user-defined role. + :type attributes: IncidentUserDefinedRolePatchDataAttributesRequest, optional + + :param id: The ID of the user-defined role to update. + :type id: UUID + + :param type: Incident user-defined role resource type. + :type type: IncidentUserDefinedRoleType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_patch_request.py b/src/datadog_api_client/v2/model/incident_user_defined_role_patch_request.py new file mode 100644 index 0000000000..54ff9b3ec2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_patch_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_patch_data_request import ( + IncidentUserDefinedRolePatchDataRequest, + ) + + +class IncidentUserDefinedRolePatchRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_patch_data_request import ( + IncidentUserDefinedRolePatchDataRequest, + ) + + return { + "data": (IncidentUserDefinedRolePatchDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentUserDefinedRolePatchDataRequest, **kwargs): + """ + Request for updating an incident user-defined role. + + :param data: Data for updating an incident user-defined role. + :type data: IncidentUserDefinedRolePatchDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_policy.py b/src/datadog_api_client/v2/model/incident_user_defined_role_policy.py new file mode 100644 index 0000000000..34ac1bd933 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_policy.py @@ -0,0 +1,33 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class IncidentUserDefinedRolePolicy(ModelNormal): + @cached_property + def openapi_types(_): + return { + "is_single": (bool,), + } + + attribute_map = { + "is_single": "is_single", + } + + def __init__(self_, is_single: bool, **kwargs): + """ + Policy configuration for a user-defined role. + + :param is_single: Whether this role can only be assigned to one responder at a time. + :type is_single: bool + """ + super().__init__(kwargs) + + self_.is_single = is_single diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_relationships_request.py b/src/datadog_api_client/v2/model/incident_user_defined_role_relationships_request.py new file mode 100644 index 0000000000..2b61cace72 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_relationships_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship import ( + IncidentUserDefinedRoleIncidentTypeRelationship, + ) + + +class IncidentUserDefinedRoleRelationshipsRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship import ( + IncidentUserDefinedRoleIncidentTypeRelationship, + ) + + return { + "incident_type": (IncidentUserDefinedRoleIncidentTypeRelationship,), + } + + attribute_map = { + "incident_type": "incident_type", + } + + def __init__(self_, incident_type: IncidentUserDefinedRoleIncidentTypeRelationship, **kwargs): + """ + Relationships for creating a user-defined role. + + :param incident_type: Relationship to an incident type for a user-defined role. + :type incident_type: IncidentUserDefinedRoleIncidentTypeRelationship + """ + super().__init__(kwargs) + + self_.incident_type = incident_type diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_relationships_response.py b/src/datadog_api_client/v2/model/incident_user_defined_role_relationships_response.py new file mode 100644 index 0000000000..04468b3268 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_relationships_response.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship import ( + IncidentUserDefinedRoleIncidentTypeRelationship, + ) + + +class IncidentUserDefinedRoleRelationshipsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.relationship_to_user import RelationshipToUser + from datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship import ( + IncidentUserDefinedRoleIncidentTypeRelationship, + ) + + return { + "created_by_user": (RelationshipToUser,), + "incident_type": (IncidentUserDefinedRoleIncidentTypeRelationship,), + "last_modified_by_user": (RelationshipToUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "incident_type": "incident_type", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[RelationshipToUser, UnsetType] = unset, + incident_type: Union[IncidentUserDefinedRoleIncidentTypeRelationship, UnsetType] = unset, + last_modified_by_user: Union[RelationshipToUser, UnsetType] = unset, + **kwargs, + ): + """ + Relationships of a user-defined role response. + + :param created_by_user: Relationship to user. + :type created_by_user: RelationshipToUser, optional + + :param incident_type: Relationship to an incident type for a user-defined role. + :type incident_type: IncidentUserDefinedRoleIncidentTypeRelationship, optional + + :param last_modified_by_user: Relationship to user. + :type last_modified_by_user: RelationshipToUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if incident_type is not unset: + kwargs["incident_type"] = incident_type + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_request.py b/src/datadog_api_client/v2/model/incident_user_defined_role_request.py new file mode 100644 index 0000000000..a27c5b2a19 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_request.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_data_request import IncidentUserDefinedRoleDataRequest + + +class IncidentUserDefinedRoleRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_data_request import ( + IncidentUserDefinedRoleDataRequest, + ) + + return { + "data": (IncidentUserDefinedRoleDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentUserDefinedRoleDataRequest, **kwargs): + """ + Request for creating an incident user-defined role. + + :param data: Data for creating an incident user-defined role. + :type data: IncidentUserDefinedRoleDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_response.py b/src/datadog_api_client/v2/model/incident_user_defined_role_response.py new file mode 100644 index 0000000000..4c7ad8d567 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_response.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_data_response import IncidentUserDefinedRoleDataResponse + from datadog_api_client.v2.model.incident_user_defined_role_included_item import IncidentUserDefinedRoleIncludedItem + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + from datadog_api_client.v2.model.incident_type_object import IncidentTypeObject + + +class IncidentUserDefinedRoleResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_data_response import ( + IncidentUserDefinedRoleDataResponse, + ) + from datadog_api_client.v2.model.incident_user_defined_role_included_item import ( + IncidentUserDefinedRoleIncludedItem, + ) + + return { + "data": (IncidentUserDefinedRoleDataResponse,), + "included": ([IncidentUserDefinedRoleIncludedItem],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: IncidentUserDefinedRoleDataResponse, + included: Union[ + List[Union[IncidentUserDefinedRoleIncludedItem, IncidentUserData, IncidentTypeObject]], UnsetType + ] = unset, + **kwargs, + ): + """ + Response with a single incident user-defined role. + + :param data: Data for an incident user-defined role response. + :type data: IncidentUserDefinedRoleDataResponse + + :param included: Included resources for an incident user-defined role response. + :type included: [IncidentUserDefinedRoleIncludedItem], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_user_defined_role_type.py b/src/datadog_api_client/v2/model/incident_user_defined_role_type.py new file mode 100644 index 0000000000..ee6fa6ca64 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_role_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class IncidentUserDefinedRoleType(ModelSimple): + """ + Incident user-defined role resource type. + + :param value: If omitted defaults to "incident_user_defined_roles". Must be one of ["incident_user_defined_roles"]. + :type value: str + """ + + allowed_values = { + "incident_user_defined_roles", + } + INCIDENT_USER_DEFINED_ROLES: ClassVar["IncidentUserDefinedRoleType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentUserDefinedRoleType.INCIDENT_USER_DEFINED_ROLES = IncidentUserDefinedRoleType("incident_user_defined_roles") diff --git a/src/datadog_api_client/v2/model/incident_user_defined_roles_response.py b/src/datadog_api_client/v2/model/incident_user_defined_roles_response.py new file mode 100644 index 0000000000..ec81cbae31 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_user_defined_roles_response.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_user_defined_role_data_response import IncidentUserDefinedRoleDataResponse + from datadog_api_client.v2.model.incident_user_defined_role_included_item import IncidentUserDefinedRoleIncludedItem + from datadog_api_client.v2.model.incident_user_data import IncidentUserData + from datadog_api_client.v2.model.incident_type_object import IncidentTypeObject + + +class IncidentUserDefinedRolesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_user_defined_role_data_response import ( + IncidentUserDefinedRoleDataResponse, + ) + from datadog_api_client.v2.model.incident_user_defined_role_included_item import ( + IncidentUserDefinedRoleIncludedItem, + ) + + return { + "data": ([IncidentUserDefinedRoleDataResponse],), + "included": ([IncidentUserDefinedRoleIncludedItem],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: List[IncidentUserDefinedRoleDataResponse], + included: Union[ + List[Union[IncidentUserDefinedRoleIncludedItem, IncidentUserData, IncidentTypeObject]], UnsetType + ] = unset, + **kwargs, + ): + """ + Response with a list of incident user-defined roles. + + :param data: List of incident user-defined role data objects. + :type data: [IncidentUserDefinedRoleDataResponse] + + :param included: Included resources for an incident user-defined role response. + :type included: [IncidentUserDefinedRoleIncludedItem], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 0b13e607c9..b1b231a4a8 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -2995,9 +2995,45 @@ from datadog_api_client.v2.model.ip_allowlist_type import IPAllowlistType from datadog_api_client.v2.model.ip_allowlist_update_request import IPAllowlistUpdateRequest from datadog_api_client.v2.model.idp_metadata_form_data import IdPMetadataFormData +from datadog_api_client.v2.model.incident_ai_postmortem_data_attributes_response import ( + IncidentAIPostmortemDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_ai_postmortem_data_response import IncidentAIPostmortemDataResponse +from datadog_api_client.v2.model.incident_ai_postmortem_response import IncidentAIPostmortemResponse +from datadog_api_client.v2.model.incident_ai_postmortem_response_type import IncidentAIPostmortemResponseType from datadog_api_client.v2.model.incident_attachment_type import IncidentAttachmentType +from datadog_api_client.v2.model.incident_configuration_data_attributes_request import ( + IncidentConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_configuration_data_attributes_response import ( + IncidentConfigurationDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_configuration_data_request import IncidentConfigurationDataRequest +from datadog_api_client.v2.model.incident_configuration_data_response import IncidentConfigurationDataResponse +from datadog_api_client.v2.model.incident_configuration_patch_data_attributes_request import ( + IncidentConfigurationPatchDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_configuration_patch_data_request import IncidentConfigurationPatchDataRequest +from datadog_api_client.v2.model.incident_configuration_patch_request import IncidentConfigurationPatchRequest +from datadog_api_client.v2.model.incident_configuration_relationships import IncidentConfigurationRelationships +from datadog_api_client.v2.model.incident_configuration_request import IncidentConfigurationRequest +from datadog_api_client.v2.model.incident_configuration_response import IncidentConfigurationResponse +from datadog_api_client.v2.model.incident_configuration_type import IncidentConfigurationType from datadog_api_client.v2.model.incident_create_attributes import IncidentCreateAttributes from datadog_api_client.v2.model.incident_create_data import IncidentCreateData +from datadog_api_client.v2.model.incident_create_on_call_page_data_attributes_request import ( + IncidentCreateOnCallPageDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_create_on_call_page_data_request import IncidentCreateOnCallPageDataRequest +from datadog_api_client.v2.model.incident_create_on_call_page_request import IncidentCreateOnCallPageRequest +from datadog_api_client.v2.model.incident_create_page_from_incident_data_attributes_request import ( + IncidentCreatePageFromIncidentDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_create_page_from_incident_data_request import ( + IncidentCreatePageFromIncidentDataRequest, +) +from datadog_api_client.v2.model.incident_create_page_from_incident_request import IncidentCreatePageFromIncidentRequest +from datadog_api_client.v2.model.incident_create_page_from_incident_type import IncidentCreatePageFromIncidentType from datadog_api_client.v2.model.incident_create_relationships import IncidentCreateRelationships from datadog_api_client.v2.model.incident_create_request import IncidentCreateRequest from datadog_api_client.v2.model.incident_field_attributes import IncidentFieldAttributes @@ -3007,6 +3043,74 @@ IncidentFieldAttributesSingleValueType, ) from datadog_api_client.v2.model.incident_field_attributes_value_type import IncidentFieldAttributesValueType +from datadog_api_client.v2.model.incident_google_chat_configuration_data_attributes_request import ( + IncidentGoogleChatConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_data_attributes_response import ( + IncidentGoogleChatConfigurationDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_data_request import ( + IncidentGoogleChatConfigurationDataRequest, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_data_response import ( + IncidentGoogleChatConfigurationDataResponse, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_patch_data_attributes_request import ( + IncidentGoogleChatConfigurationPatchDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_patch_data_request import ( + IncidentGoogleChatConfigurationPatchDataRequest, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_patch_request import ( + IncidentGoogleChatConfigurationPatchRequest, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_relationships import ( + IncidentGoogleChatConfigurationRelationships, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_relationships_request import ( + IncidentGoogleChatConfigurationRelationshipsRequest, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_request import ( + IncidentGoogleChatConfigurationRequest, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_response import ( + IncidentGoogleChatConfigurationResponse, +) +from datadog_api_client.v2.model.incident_google_chat_configuration_type import IncidentGoogleChatConfigurationType +from datadog_api_client.v2.model.incident_google_meet_configuration_data_attributes_request import ( + IncidentGoogleMeetConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_data_attributes_response import ( + IncidentGoogleMeetConfigurationDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_data_request import ( + IncidentGoogleMeetConfigurationDataRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_data_response import ( + IncidentGoogleMeetConfigurationDataResponse, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_patch_data_attributes_request import ( + IncidentGoogleMeetConfigurationPatchDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_patch_data_request import ( + IncidentGoogleMeetConfigurationPatchDataRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_patch_request import ( + IncidentGoogleMeetConfigurationPatchRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_relationships import ( + IncidentGoogleMeetConfigurationRelationships, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_relationships_request import ( + IncidentGoogleMeetConfigurationRelationshipsRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_request import ( + IncidentGoogleMeetConfigurationRequest, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_response import ( + IncidentGoogleMeetConfigurationResponse, +) +from datadog_api_client.v2.model.incident_google_meet_configuration_type import IncidentGoogleMeetConfigurationType from datadog_api_client.v2.model.incident_handle_attributes_fields import IncidentHandleAttributesFields from datadog_api_client.v2.model.incident_handle_attributes_request import IncidentHandleAttributesRequest from datadog_api_client.v2.model.incident_handle_attributes_response import IncidentHandleAttributesResponse @@ -3025,7 +3129,25 @@ from datadog_api_client.v2.model.incident_impact_create_attributes import IncidentImpactCreateAttributes from datadog_api_client.v2.model.incident_impact_create_data import IncidentImpactCreateData from datadog_api_client.v2.model.incident_impact_create_request import IncidentImpactCreateRequest +from datadog_api_client.v2.model.incident_impact_field_choice import IncidentImpactFieldChoice +from datadog_api_client.v2.model.incident_impact_field_data_attributes_request import ( + IncidentImpactFieldDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_impact_field_data_attributes_response import ( + IncidentImpactFieldDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_impact_field_data_request import IncidentImpactFieldDataRequest +from datadog_api_client.v2.model.incident_impact_field_data_response import IncidentImpactFieldDataResponse +from datadog_api_client.v2.model.incident_impact_field_relationships import IncidentImpactFieldRelationships +from datadog_api_client.v2.model.incident_impact_field_relationships_request import ( + IncidentImpactFieldRelationshipsRequest, +) +from datadog_api_client.v2.model.incident_impact_field_request import IncidentImpactFieldRequest +from datadog_api_client.v2.model.incident_impact_field_response import IncidentImpactFieldResponse +from datadog_api_client.v2.model.incident_impact_field_type import IncidentImpactFieldType +from datadog_api_client.v2.model.incident_impact_field_value_type import IncidentImpactFieldValueType from datadog_api_client.v2.model.incident_impact_fields_object import IncidentImpactFieldsObject +from datadog_api_client.v2.model.incident_impact_fields_response import IncidentImpactFieldsResponse from datadog_api_client.v2.model.incident_impact_related_object import IncidentImpactRelatedObject from datadog_api_client.v2.model.incident_impact_relationships import IncidentImpactRelationships from datadog_api_client.v2.model.incident_impact_response import IncidentImpactResponse @@ -3134,10 +3256,52 @@ from datadog_api_client.v2.model.incident_notification_template_update_data import ( IncidentNotificationTemplateUpdateData, ) +from datadog_api_client.v2.model.incident_on_call_page_data_attributes_request import ( + IncidentOnCallPageDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_on_call_page_data_request import IncidentOnCallPageDataRequest +from datadog_api_client.v2.model.incident_on_call_page_link_request import IncidentOnCallPageLinkRequest +from datadog_api_client.v2.model.incident_on_call_page_target import IncidentOnCallPageTarget +from datadog_api_client.v2.model.incident_on_call_page_type import IncidentOnCallPageType +from datadog_api_client.v2.model.incident_org_settings_data_attributes_response import ( + IncidentOrgSettingsDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_org_settings_data_response import IncidentOrgSettingsDataResponse +from datadog_api_client.v2.model.incident_org_settings_list_response import IncidentOrgSettingsListResponse +from datadog_api_client.v2.model.incident_org_settings_meta import IncidentOrgSettingsMeta +from datadog_api_client.v2.model.incident_org_settings_relationships import IncidentOrgSettingsRelationships +from datadog_api_client.v2.model.incident_org_settings_response import IncidentOrgSettingsResponse +from datadog_api_client.v2.model.incident_org_settings_type import IncidentOrgSettingsType +from datadog_api_client.v2.model.incident_page_role_reference import IncidentPageRoleReference +from datadog_api_client.v2.model.incident_page_role_type import IncidentPageRoleType +from datadog_api_client.v2.model.incident_page_target import IncidentPageTarget +from datadog_api_client.v2.model.incident_page_target_type import IncidentPageTargetType +from datadog_api_client.v2.model.incident_page_uuid_data_response import IncidentPageUUIDDataResponse +from datadog_api_client.v2.model.incident_page_uuid_response import IncidentPageUUIDResponse +from datadog_api_client.v2.model.incident_page_uuid_type import IncidentPageUUIDType from datadog_api_client.v2.model.incident_postmortem_type import IncidentPostmortemType from datadog_api_client.v2.model.incident_related_object import IncidentRelatedObject from datadog_api_client.v2.model.incident_relationship_data import IncidentRelationshipData from datadog_api_client.v2.model.incident_resource_type import IncidentResourceType +from datadog_api_client.v2.model.incident_responder_data_attributes_response import ( + IncidentResponderDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_responder_data_request import IncidentResponderDataRequest +from datadog_api_client.v2.model.incident_responder_data_response import IncidentResponderDataResponse +from datadog_api_client.v2.model.incident_responder_relationships import IncidentResponderRelationships +from datadog_api_client.v2.model.incident_responder_relationships_request import IncidentResponderRelationshipsRequest +from datadog_api_client.v2.model.incident_responder_request import IncidentResponderRequest +from datadog_api_client.v2.model.incident_responder_response import IncidentResponderResponse +from datadog_api_client.v2.model.incident_responder_role_assignment_relationship_data import ( + IncidentResponderRoleAssignmentRelationshipData, +) +from datadog_api_client.v2.model.incident_responder_role_assignments_relationship import ( + IncidentResponderRoleAssignmentsRelationship, +) +from datadog_api_client.v2.model.incident_responder_type import IncidentResponderType +from datadog_api_client.v2.model.incident_responder_user_relationship import IncidentResponderUserRelationship +from datadog_api_client.v2.model.incident_responder_user_relationship_data import IncidentResponderUserRelationshipData +from datadog_api_client.v2.model.incident_responders_response import IncidentRespondersResponse from datadog_api_client.v2.model.incident_responders_type import IncidentRespondersType from datadog_api_client.v2.model.incident_response import IncidentResponse from datadog_api_client.v2.model.incident_response_attributes import IncidentResponseAttributes @@ -3146,6 +3310,25 @@ from datadog_api_client.v2.model.incident_response_meta import IncidentResponseMeta from datadog_api_client.v2.model.incident_response_meta_pagination import IncidentResponseMetaPagination from datadog_api_client.v2.model.incident_response_relationships import IncidentResponseRelationships +from datadog_api_client.v2.model.incident_rule_condition import IncidentRuleCondition +from datadog_api_client.v2.model.incident_rule_data_attributes_request import IncidentRuleDataAttributesRequest +from datadog_api_client.v2.model.incident_rule_data_attributes_response import IncidentRuleDataAttributesResponse +from datadog_api_client.v2.model.incident_rule_data_request import IncidentRuleDataRequest +from datadog_api_client.v2.model.incident_rule_data_response import IncidentRuleDataResponse +from datadog_api_client.v2.model.incident_rule_execution_type import IncidentRuleExecutionType +from datadog_api_client.v2.model.incident_rule_patch_data_attributes_request import ( + IncidentRulePatchDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_rule_patch_data_request import IncidentRulePatchDataRequest +from datadog_api_client.v2.model.incident_rule_patch_request import IncidentRulePatchRequest +from datadog_api_client.v2.model.incident_rule_query_condition import IncidentRuleQueryCondition +from datadog_api_client.v2.model.incident_rule_request import IncidentRuleRequest +from datadog_api_client.v2.model.incident_rule_response import IncidentRuleResponse +from datadog_api_client.v2.model.incident_rule_response_type import IncidentRuleResponseType +from datadog_api_client.v2.model.incident_rule_task_id_type import IncidentRuleTaskIDType +from datadog_api_client.v2.model.incident_rule_trigger_type import IncidentRuleTriggerType +from datadog_api_client.v2.model.incident_rule_type import IncidentRuleType +from datadog_api_client.v2.model.incident_rules_response import IncidentRulesResponse from datadog_api_client.v2.model.incident_search_response import IncidentSearchResponse from datadog_api_client.v2.model.incident_search_response_attributes import IncidentSearchResponseAttributes from datadog_api_client.v2.model.incident_search_response_data import IncidentSearchResponseData @@ -3169,6 +3352,12 @@ from datadog_api_client.v2.model.incident_service_create_data import IncidentServiceCreateData from datadog_api_client.v2.model.incident_service_create_request import IncidentServiceCreateRequest from datadog_api_client.v2.model.incident_service_included_items import IncidentServiceIncludedItems +from datadog_api_client.v2.model.incident_service_now_record_data_attributes_request import ( + IncidentServiceNowRecordDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_service_now_record_data_request import IncidentServiceNowRecordDataRequest +from datadog_api_client.v2.model.incident_service_now_record_prompt_type import IncidentServiceNowRecordPromptType +from datadog_api_client.v2.model.incident_service_now_record_request import IncidentServiceNowRecordRequest from datadog_api_client.v2.model.incident_service_relationships import IncidentServiceRelationships from datadog_api_client.v2.model.incident_service_response import IncidentServiceResponse from datadog_api_client.v2.model.incident_service_response_attributes import IncidentServiceResponseAttributes @@ -3189,6 +3378,27 @@ from datadog_api_client.v2.model.incident_timeline_cell_markdown_create_attributes_content import ( IncidentTimelineCellMarkdownCreateAttributesContent, ) +from datadog_api_client.v2.model.incident_timestamp_override_data_attributes_request import ( + IncidentTimestampOverrideDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_timestamp_override_data_attributes_response import ( + IncidentTimestampOverrideDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_timestamp_override_data_request import IncidentTimestampOverrideDataRequest +from datadog_api_client.v2.model.incident_timestamp_override_data_response import IncidentTimestampOverrideDataResponse +from datadog_api_client.v2.model.incident_timestamp_override_patch_data_attributes_request import ( + IncidentTimestampOverridePatchDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_timestamp_override_patch_data_request import ( + IncidentTimestampOverridePatchDataRequest, +) +from datadog_api_client.v2.model.incident_timestamp_override_patch_request import IncidentTimestampOverridePatchRequest +from datadog_api_client.v2.model.incident_timestamp_override_relationships import IncidentTimestampOverrideRelationships +from datadog_api_client.v2.model.incident_timestamp_override_request import IncidentTimestampOverrideRequest +from datadog_api_client.v2.model.incident_timestamp_override_response import IncidentTimestampOverrideResponse +from datadog_api_client.v2.model.incident_timestamp_override_type import IncidentTimestampOverrideType +from datadog_api_client.v2.model.incident_timestamp_overrides_response import IncidentTimestampOverridesResponse +from datadog_api_client.v2.model.incident_timestamp_type import IncidentTimestampType from datadog_api_client.v2.model.incident_todo_anonymous_assignee import IncidentTodoAnonymousAssignee from datadog_api_client.v2.model.incident_todo_anonymous_assignee_source import IncidentTodoAnonymousAssigneeSource from datadog_api_client.v2.model.incident_todo_assignee import IncidentTodoAssignee @@ -3251,6 +3461,39 @@ from datadog_api_client.v2.model.incident_user_defined_field_update_data import IncidentUserDefinedFieldUpdateData from datadog_api_client.v2.model.incident_user_defined_field_update_request import IncidentUserDefinedFieldUpdateRequest from datadog_api_client.v2.model.incident_user_defined_field_valid_value import IncidentUserDefinedFieldValidValue +from datadog_api_client.v2.model.incident_user_defined_role_data_attributes_request import ( + IncidentUserDefinedRoleDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_user_defined_role_data_attributes_response import ( + IncidentUserDefinedRoleDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_user_defined_role_data_request import IncidentUserDefinedRoleDataRequest +from datadog_api_client.v2.model.incident_user_defined_role_data_response import IncidentUserDefinedRoleDataResponse +from datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship import ( + IncidentUserDefinedRoleIncidentTypeRelationship, +) +from datadog_api_client.v2.model.incident_user_defined_role_incident_type_relationship_data import ( + IncidentUserDefinedRoleIncidentTypeRelationshipData, +) +from datadog_api_client.v2.model.incident_user_defined_role_included_item import IncidentUserDefinedRoleIncludedItem +from datadog_api_client.v2.model.incident_user_defined_role_patch_data_attributes_request import ( + IncidentUserDefinedRolePatchDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_user_defined_role_patch_data_request import ( + IncidentUserDefinedRolePatchDataRequest, +) +from datadog_api_client.v2.model.incident_user_defined_role_patch_request import IncidentUserDefinedRolePatchRequest +from datadog_api_client.v2.model.incident_user_defined_role_policy import IncidentUserDefinedRolePolicy +from datadog_api_client.v2.model.incident_user_defined_role_relationships_request import ( + IncidentUserDefinedRoleRelationshipsRequest, +) +from datadog_api_client.v2.model.incident_user_defined_role_relationships_response import ( + IncidentUserDefinedRoleRelationshipsResponse, +) +from datadog_api_client.v2.model.incident_user_defined_role_request import IncidentUserDefinedRoleRequest +from datadog_api_client.v2.model.incident_user_defined_role_response import IncidentUserDefinedRoleResponse +from datadog_api_client.v2.model.incident_user_defined_role_type import IncidentUserDefinedRoleType +from datadog_api_client.v2.model.incident_user_defined_roles_response import IncidentUserDefinedRolesResponse from datadog_api_client.v2.model.incidents_response import IncidentsResponse from datadog_api_client.v2.model.include_type import IncludeType from datadog_api_client.v2.model.input_schema import InputSchema @@ -10852,9 +11095,31 @@ "IPAllowlistType", "IPAllowlistUpdateRequest", "IdPMetadataFormData", + "IncidentAIPostmortemDataAttributesResponse", + "IncidentAIPostmortemDataResponse", + "IncidentAIPostmortemResponse", + "IncidentAIPostmortemResponseType", "IncidentAttachmentType", + "IncidentConfigurationDataAttributesRequest", + "IncidentConfigurationDataAttributesResponse", + "IncidentConfigurationDataRequest", + "IncidentConfigurationDataResponse", + "IncidentConfigurationPatchDataAttributesRequest", + "IncidentConfigurationPatchDataRequest", + "IncidentConfigurationPatchRequest", + "IncidentConfigurationRelationships", + "IncidentConfigurationRequest", + "IncidentConfigurationResponse", + "IncidentConfigurationType", "IncidentCreateAttributes", "IncidentCreateData", + "IncidentCreateOnCallPageDataAttributesRequest", + "IncidentCreateOnCallPageDataRequest", + "IncidentCreateOnCallPageRequest", + "IncidentCreatePageFromIncidentDataAttributesRequest", + "IncidentCreatePageFromIncidentDataRequest", + "IncidentCreatePageFromIncidentRequest", + "IncidentCreatePageFromIncidentType", "IncidentCreateRelationships", "IncidentCreateRequest", "IncidentFieldAttributes", @@ -10862,6 +11127,30 @@ "IncidentFieldAttributesSingleValue", "IncidentFieldAttributesSingleValueType", "IncidentFieldAttributesValueType", + "IncidentGoogleChatConfigurationDataAttributesRequest", + "IncidentGoogleChatConfigurationDataAttributesResponse", + "IncidentGoogleChatConfigurationDataRequest", + "IncidentGoogleChatConfigurationDataResponse", + "IncidentGoogleChatConfigurationPatchDataAttributesRequest", + "IncidentGoogleChatConfigurationPatchDataRequest", + "IncidentGoogleChatConfigurationPatchRequest", + "IncidentGoogleChatConfigurationRelationships", + "IncidentGoogleChatConfigurationRelationshipsRequest", + "IncidentGoogleChatConfigurationRequest", + "IncidentGoogleChatConfigurationResponse", + "IncidentGoogleChatConfigurationType", + "IncidentGoogleMeetConfigurationDataAttributesRequest", + "IncidentGoogleMeetConfigurationDataAttributesResponse", + "IncidentGoogleMeetConfigurationDataRequest", + "IncidentGoogleMeetConfigurationDataResponse", + "IncidentGoogleMeetConfigurationPatchDataAttributesRequest", + "IncidentGoogleMeetConfigurationPatchDataRequest", + "IncidentGoogleMeetConfigurationPatchRequest", + "IncidentGoogleMeetConfigurationRelationships", + "IncidentGoogleMeetConfigurationRelationshipsRequest", + "IncidentGoogleMeetConfigurationRequest", + "IncidentGoogleMeetConfigurationResponse", + "IncidentGoogleMeetConfigurationType", "IncidentHandleAttributesFields", "IncidentHandleAttributesRequest", "IncidentHandleAttributesResponse", @@ -10880,7 +11169,19 @@ "IncidentImpactCreateAttributes", "IncidentImpactCreateData", "IncidentImpactCreateRequest", + "IncidentImpactFieldChoice", + "IncidentImpactFieldDataAttributesRequest", + "IncidentImpactFieldDataAttributesResponse", + "IncidentImpactFieldDataRequest", + "IncidentImpactFieldDataResponse", + "IncidentImpactFieldRelationships", + "IncidentImpactFieldRelationshipsRequest", + "IncidentImpactFieldRequest", + "IncidentImpactFieldResponse", + "IncidentImpactFieldType", + "IncidentImpactFieldValueType", "IncidentImpactFieldsObject", + "IncidentImpactFieldsResponse", "IncidentImpactRelatedObject", "IncidentImpactRelationships", "IncidentImpactResponse", @@ -10947,10 +11248,42 @@ "IncidentNotificationTemplateType", "IncidentNotificationTemplateUpdateAttributes", "IncidentNotificationTemplateUpdateData", + "IncidentOnCallPageDataAttributesRequest", + "IncidentOnCallPageDataRequest", + "IncidentOnCallPageLinkRequest", + "IncidentOnCallPageTarget", + "IncidentOnCallPageType", + "IncidentOrgSettingsDataAttributesResponse", + "IncidentOrgSettingsDataResponse", + "IncidentOrgSettingsListResponse", + "IncidentOrgSettingsMeta", + "IncidentOrgSettingsRelationships", + "IncidentOrgSettingsResponse", + "IncidentOrgSettingsType", + "IncidentPageRoleReference", + "IncidentPageRoleType", + "IncidentPageTarget", + "IncidentPageTargetType", + "IncidentPageUUIDDataResponse", + "IncidentPageUUIDResponse", + "IncidentPageUUIDType", "IncidentPostmortemType", "IncidentRelatedObject", "IncidentRelationshipData", "IncidentResourceType", + "IncidentResponderDataAttributesResponse", + "IncidentResponderDataRequest", + "IncidentResponderDataResponse", + "IncidentResponderRelationships", + "IncidentResponderRelationshipsRequest", + "IncidentResponderRequest", + "IncidentResponderResponse", + "IncidentResponderRoleAssignmentRelationshipData", + "IncidentResponderRoleAssignmentsRelationship", + "IncidentResponderType", + "IncidentResponderUserRelationship", + "IncidentResponderUserRelationshipData", + "IncidentRespondersResponse", "IncidentRespondersType", "IncidentResponse", "IncidentResponseAttributes", @@ -10959,6 +11292,23 @@ "IncidentResponseMeta", "IncidentResponseMetaPagination", "IncidentResponseRelationships", + "IncidentRuleCondition", + "IncidentRuleDataAttributesRequest", + "IncidentRuleDataAttributesResponse", + "IncidentRuleDataRequest", + "IncidentRuleDataResponse", + "IncidentRuleExecutionType", + "IncidentRulePatchDataAttributesRequest", + "IncidentRulePatchDataRequest", + "IncidentRulePatchRequest", + "IncidentRuleQueryCondition", + "IncidentRuleRequest", + "IncidentRuleResponse", + "IncidentRuleResponseType", + "IncidentRuleTaskIDType", + "IncidentRuleTriggerType", + "IncidentRuleType", + "IncidentRulesResponse", "IncidentSearchResponse", "IncidentSearchResponseAttributes", "IncidentSearchResponseData", @@ -10976,6 +11326,10 @@ "IncidentServiceCreateData", "IncidentServiceCreateRequest", "IncidentServiceIncludedItems", + "IncidentServiceNowRecordDataAttributesRequest", + "IncidentServiceNowRecordDataRequest", + "IncidentServiceNowRecordPromptType", + "IncidentServiceNowRecordRequest", "IncidentServiceRelationships", "IncidentServiceResponse", "IncidentServiceResponseAttributes", @@ -10990,6 +11344,19 @@ "IncidentTimelineCellMarkdownContentType", "IncidentTimelineCellMarkdownCreateAttributes", "IncidentTimelineCellMarkdownCreateAttributesContent", + "IncidentTimestampOverrideDataAttributesRequest", + "IncidentTimestampOverrideDataAttributesResponse", + "IncidentTimestampOverrideDataRequest", + "IncidentTimestampOverrideDataResponse", + "IncidentTimestampOverridePatchDataAttributesRequest", + "IncidentTimestampOverridePatchDataRequest", + "IncidentTimestampOverridePatchRequest", + "IncidentTimestampOverrideRelationships", + "IncidentTimestampOverrideRequest", + "IncidentTimestampOverrideResponse", + "IncidentTimestampOverrideType", + "IncidentTimestampOverridesResponse", + "IncidentTimestampType", "IncidentTodoAnonymousAssignee", "IncidentTodoAnonymousAssigneeSource", "IncidentTodoAssignee", @@ -11044,6 +11411,23 @@ "IncidentUserDefinedFieldUpdateData", "IncidentUserDefinedFieldUpdateRequest", "IncidentUserDefinedFieldValidValue", + "IncidentUserDefinedRoleDataAttributesRequest", + "IncidentUserDefinedRoleDataAttributesResponse", + "IncidentUserDefinedRoleDataRequest", + "IncidentUserDefinedRoleDataResponse", + "IncidentUserDefinedRoleIncidentTypeRelationship", + "IncidentUserDefinedRoleIncidentTypeRelationshipData", + "IncidentUserDefinedRoleIncludedItem", + "IncidentUserDefinedRolePatchDataAttributesRequest", + "IncidentUserDefinedRolePatchDataRequest", + "IncidentUserDefinedRolePatchRequest", + "IncidentUserDefinedRolePolicy", + "IncidentUserDefinedRoleRelationshipsRequest", + "IncidentUserDefinedRoleRelationshipsResponse", + "IncidentUserDefinedRoleRequest", + "IncidentUserDefinedRoleResponse", + "IncidentUserDefinedRoleType", + "IncidentUserDefinedRolesResponse", "IncidentsResponse", "IncludeType", "InputSchema", diff --git a/tests/v2/features/incidents.feature b/tests/v2/features/incidents.feature index e30ccb2529..ad6a8db18e 100644 --- a/tests/v2/features/incidents.feature +++ b/tests/v2/features/incidents.feature @@ -1122,6 +1122,36 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Patch an incident impact returns "Bad Request" response + Given operation "PatchIncidentImpact" enabled + And new "PatchIncidentImpact" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "impact_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"description": "Service was unavailable for external users", "end_at": "2025-08-29T13:17:00Z", "fields": {"customers_impacted": "all", "products_impacted": ["shopping", "marketing"]}, "start_at": "2025-08-28T13:17:00Z"}, "type": "incident_impacts"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Patch an incident impact returns "Not Found" response + Given operation "PatchIncidentImpact" enabled + And new "PatchIncidentImpact" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "impact_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"description": "Service was unavailable for external users", "end_at": "2025-08-29T13:17:00Z", "fields": {"customers_impacted": "all", "products_impacted": ["shopping", "marketing"]}, "start_at": "2025-08-28T13:17:00Z"}, "type": "incident_impacts"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Patch an incident impact returns "OK" response + Given operation "PatchIncidentImpact" enabled + And new "PatchIncidentImpact" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "impact_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"description": "Service was unavailable for external users", "end_at": "2025-08-29T13:17:00Z", "fields": {"customers_impacted": "all", "products_impacted": ["shopping", "marketing"]}, "start_at": "2025-08-28T13:17:00Z"}, "type": "incident_impacts"}} + When the request is sent + Then the response status is 200 OK + @team:DataDog/incident-app Scenario: Remove commander from an incident returns "OK" response Given operation "UpdateIncident" enabled @@ -1232,6 +1262,36 @@ Feature: Incidents Then the response status is 200 OK And the response "data.attributes.title" is equal to "{{ incident.data.attributes.title }}-updated" + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident impact returns "Bad Request" response + Given operation "UpdateIncidentImpact" enabled + And new "UpdateIncidentImpact" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "impact_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"description": "Service was unavailable for external users", "end_at": "2025-08-29T13:17:00Z", "fields": {"customers_impacted": "all", "products_impacted": ["shopping", "marketing"]}, "start_at": "2025-08-28T13:17:00Z"}, "type": "incident_impacts"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident impact returns "Not Found" response + Given operation "UpdateIncidentImpact" enabled + And new "UpdateIncidentImpact" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "impact_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"description": "Service was unavailable for external users", "end_at": "2025-08-29T13:17:00Z", "fields": {"customers_impacted": "all", "products_impacted": ["shopping", "marketing"]}, "start_at": "2025-08-28T13:17:00Z"}, "type": "incident_impacts"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident impact returns "OK" response + Given operation "UpdateIncidentImpact" enabled + And new "UpdateIncidentImpact" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "impact_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"description": "Service was unavailable for external users", "end_at": "2025-08-29T13:17:00Z", "fields": {"customers_impacted": "all", "products_impacted": ["shopping", "marketing"]}, "start_at": "2025-08-28T13:17:00Z"}, "type": "incident_impacts"}} + When the request is sent + Then the response status is 200 OK + @generated @skip @team:Datadog/incident-app Scenario: Update an incident notification rule returns "Bad Request" response Given operation "UpdateIncidentNotificationRule" enabled diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index f1a04b48a1..e27a03165c 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -2992,6 +2992,18 @@ "type": "idempotent" } }, + "PatchIncidentImpact": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "UpdateIncidentImpact": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "ListIncidentIntegrations": { "tag": "Incidents", "undo": {