diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 73163c4c17..7d0cf9ebb6 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -558,6 +558,37 @@ components: required: true schema: type: string + IncidentAutomationDataIncludeParameter: + description: Specifies which related objects to include in the response. + in: query + name: include + required: false + schema: + type: string + IncidentAutomationDataKeyParameter: + description: The automation data key. + example: workflow_status + in: path + name: key + required: true + schema: + type: string + IncidentCommunicationFilterTypeParameter: + description: Filter by communication type. + in: query + name: "filter[communication_type]" + required: false + schema: + type: string + IncidentCommunicationIdParameter: + description: The ID of the communication. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: communication_id + required: true + schema: + format: uuid + type: string IncidentIDPathParameter: description: The UUID of the incident. in: path @@ -609,6 +640,53 @@ components: required: true schema: type: string + IncidentJiraTemplateIdParameter: + description: The ID of the Jira template. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: template_id + required: true + schema: + format: uuid + type: string + IncidentJiraTemplateIncidentTypeIdParameter: + description: Filter templates by incident type identifier. + in: query + name: incidentTypeId + required: false + schema: + format: uuid + type: string + IncidentJiraTemplateIsDefaultParameter: + description: Filter templates by default status. + in: query + name: isDefault + required: false + schema: + type: boolean + IncidentJiraTemplateTypeParameter: + description: Filter templates by type. + in: query + name: templateType + required: false + schema: + type: string + IncidentMicrosoftTeamsConfigurationIdParameter: + description: The ID of the Microsoft Teams configuration. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: configuration_id + required: true + schema: + format: uuid + type: string + IncidentMicrosoftTeamsIncludeParameter: + description: Specifies which related objects to include in the response. + in: query + name: include + required: false + schema: + type: string IncidentNotificationRuleIDPathParameter: description: The ID of the notification rule. in: path @@ -657,6 +735,77 @@ components: schema: example: "created_by_user,incident_type" type: string + IncidentReservedRoleIdParameter: + description: The ID of the reserved role. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: role_id + required: true + schema: + format: uuid + type: string + IncidentRoleAssignmentIdParameter: + description: The ID of the role assignment. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: role_assignment_id + required: true + schema: + format: uuid + type: string + IncidentSearchIncidentsIncludeParameter: + description: Specifies which types of related objects to include. + in: query + name: include + required: false + schema: + items: + $ref: "#/components/schemas/IncidentSearchIncidentsIncludeType" + type: array + IncidentSearchIncidentsQueryParameter: + description: Specifies which incidents should be returned by the search. + in: query + name: query + required: false + schema: + type: string + IncidentSearchIncidentsSemanticQueryParameter: + description: A semantic search query. + in: query + name: semantic_query + required: false + schema: + type: string + IncidentSearchIncidentsSortParameter: + description: Specifies the order of returned incidents. + in: query + name: sort + required: false + schema: + $ref: "#/components/schemas/IncidentSearchIncidentsSortOrder" + IncidentSearchIncidentsTimezoneParameter: + description: The timezone for date-based operations. + in: query + name: timeZone + required: false + schema: + type: string + IncidentSearchIncidentsWithDeletedParameter: + description: Whether to include deleted incidents in the response. + in: query + name: "filter[with_deleted]" + required: false + schema: + default: false + type: boolean + IncidentSearchIncidentsWithFacetsParameter: + description: Whether to include facet data in the response. + in: query + name: with_facets + required: false + schema: + default: true + type: boolean IncidentSearchIncludeQueryParameter: description: Specifies which types of related objects should be included in the response. in: query @@ -705,6 +854,79 @@ components: schema: example: "ExampleServiceName" type: string + IncidentStatusPageIdParameter: + description: The ID of the status page. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: statuspage_id + required: true + schema: + format: uuid + type: string + IncidentStatusPageNoticeIdParameter: + description: The ID of the status page notice. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: notice_id + required: true + schema: + format: uuid + type: string + IncidentStatusPageNotifySubscribersParameter: + description: Whether to notify subscribers about this notice. + in: query + name: notify_subscribers + required: false + schema: + type: boolean + IncidentStatuspageIncidentIdParameter: + description: The ID of the Statuspage incident. + example: abc123 + in: path + name: statuspage_incident_id + required: true + schema: + type: string + IncidentStatuspagePageIdParameter: + description: The ID of the Statuspage page. + example: abc123 + in: path + name: page_id + required: true + schema: + type: string + IncidentStatuspagePageIdPathParameter: + description: The ID of the status page. + example: my-status-page + in: path + name: page_id + required: true + schema: + type: string + IncidentTemplateVariableFilterIncidentTypeParameter: + description: Filter template variables by incident type. + in: query + name: "filter[incident-type]" + required: false + schema: + format: uuid + type: string + IncidentTemplateVariableIncludeFollowUpsParameter: + description: Whether to include follow-up template variables. + in: query + name: includeFollowUps + required: false + schema: + type: boolean + IncidentTimelineEntryIdParameter: + description: The ID of the timeline entry. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: timeline_entry_id + required: true + schema: + format: uuid + type: string IncidentTodoIDPathParameter: description: The UUID of the incident todo. in: path @@ -734,6 +956,22 @@ components: schema: example: "00000000-0000-0000-0000-000000000000" type: string + IncidentZoomConfigurationIdParameter: + description: The ID of the Zoom configuration. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: configuration_id + required: true + schema: + format: uuid + type: string + IncidentZoomIncludeParameter: + description: Specifies which related objects to include in the response. + in: query + name: include + required: false + schema: + type: string Include: description: Include relationship data. explode: true @@ -1116,6 +1354,22 @@ components: example: 10 format: int64 type: integer + PagerdutyIncidentIdParameter: + description: The PagerDuty incident identifier. + example: P1234AB + in: path + name: pagerduty_incident_id + required: true + schema: + type: string + PagerdutyIncludeUnresolvedParameter: + description: Whether to include unresolved PagerDuty services. + in: query + name: include_unresolved + required: false + schema: + default: false + type: boolean PersonaMappingID: description: The ID of the persona mapping example: c5c758c6-18c2-4484-ae3f-46b84128404a @@ -33501,6 +33755,373 @@ components: type: string x-enum-varnames: - INCIDENT_ATTACHMENTS + IncidentAutomationDataAttributesRequest: + description: Attributes for upserting automation data. + properties: + value: + description: The automation data value. + example: completed + type: string + required: + - value + type: object + IncidentAutomationDataAttributesResponse: + description: Attributes of incident automation data. + properties: + created_at: + description: Timestamp when the data was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + incident_id: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + key: + description: The automation data key. + example: workflow_status + type: string + updated_at: + description: Timestamp when the data was last updated. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + value: + description: The automation data value. + example: completed + type: string + required: + - incident_id + - key + - value + - created_at + - updated_at + type: object + IncidentAutomationDataDataRequest: + description: Automation data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentAutomationDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentAutomationDataType" + required: + - type + - attributes + type: object + IncidentAutomationDataDataResponse: + description: Automation data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentAutomationDataAttributesResponse" + id: + description: The automation data identifier. + example: workflow_status + type: string + type: + $ref: "#/components/schemas/IncidentAutomationDataType" + required: + - id + - type + - attributes + type: object + IncidentAutomationDataRequest: + description: Request to upsert automation data. + properties: + data: + $ref: "#/components/schemas/IncidentAutomationDataDataRequest" + required: + - data + type: object + IncidentAutomationDataResponse: + description: Response with automation data. + properties: + data: + $ref: "#/components/schemas/IncidentAutomationDataDataResponse" + required: + - data + type: object + IncidentAutomationDataType: + description: Incident automation data resource type. + enum: + - incidents_automation_data + example: incidents_automation_data + type: string + x-enum-varnames: + - INCIDENTS_AUTOMATION_DATA + IncidentBatchCreateRuleExecutionStatesData: + description: Data for batch creating rule execution states. + properties: + attributes: + $ref: "#/components/schemas/IncidentBatchCreateRuleExecutionStatesDataAttributes" + type: + $ref: "#/components/schemas/IncidentRuleExecutionStateType" + required: + - type + - attributes + type: object + IncidentBatchCreateRuleExecutionStatesDataAttributes: + description: Attributes for batch creating rule execution states. + properties: + rules: + description: List of rules to create execution states for. + items: + $ref: "#/components/schemas/IncidentRuleExecutionStateRule" + type: array + required: + - rules + type: object + IncidentBatchCreateRuleExecutionStatesRequest: + description: Request to batch create rule execution states. + properties: + data: + $ref: "#/components/schemas/IncidentBatchCreateRuleExecutionStatesData" + required: + - data + type: object + IncidentBatchUpdateRuleExecutionStatesData: + description: Data for batch updating rule execution states. + properties: + attributes: + $ref: "#/components/schemas/IncidentBatchUpdateRuleExecutionStatesDataAttributes" + type: + $ref: "#/components/schemas/IncidentRuleExecutionStateType" + required: + - type + - attributes + type: object + IncidentBatchUpdateRuleExecutionStatesDataAttributes: + description: Attributes for batch updating rule execution states. + properties: + rules: + description: List of rules to update execution states for. + items: + $ref: "#/components/schemas/IncidentRuleExecutionStateRule" + type: array + required: + - rules + type: object + IncidentBatchUpdateRuleExecutionStatesRequest: + description: Request to batch update rule execution states. + properties: + data: + $ref: "#/components/schemas/IncidentBatchUpdateRuleExecutionStatesData" + required: + - data + type: object + IncidentCaseLinkData: + description: Case link data. + properties: + attributes: + $ref: "#/components/schemas/IncidentCaseLinkDataAttributes" + id: + description: The case link identifier. + example: "12345" + type: string + type: + $ref: "#/components/schemas/IncidentCaseLinkType" + required: + - id + - type + - attributes + type: object + IncidentCaseLinkDataAttributes: + description: Attributes of a case link. + properties: + entity_id: + description: The entity identifier. + example: "12345" + type: string + is_page: + description: Whether this is a page link. + example: false + type: boolean + relationship: + description: The relationship type. + example: source + type: string + required: + - entity_id + - is_page + - relationship + type: object + IncidentCaseLinkResponse: + description: Response with a case link. + properties: + data: + $ref: "#/components/schemas/IncidentCaseLinkData" + required: + - data + type: object + IncidentCaseLinkType: + description: Case link resource type. + enum: + - case_link + example: case_link + type: string + x-enum-varnames: + - CASE_LINK + IncidentCommunicationContent: + description: The content of a communication. + properties: + grouping_key: + description: A key used for grouping communications. + example: update-1 + type: string + handles: + description: The list of handles the communication is sent to. + items: + $ref: "#/components/schemas/IncidentCommunicationContentHandle" + type: array + message: + description: The message body of the communication. + example: Incident update for INC-123. + type: string + status: + description: The status code of the communication. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + subject: + description: The subject line of the communication. + example: "Incident INC-123: Update" + type: string + required: + - handles + - message + type: object + IncidentCommunicationContentHandle: + description: A handle used for sending a communication. + properties: + created_at: + description: Timestamp when the handle was added. + example: "2024-01-01T00:00:00.000Z" + type: string + display_name: + description: The display name for the handle. + example: "#incidents-channel" + type: string + handle: + description: The notification handle. + example: "@slack-incidents-channel" + type: string + required: + - handle + type: object + IncidentCommunicationDataAttributesRequest: + description: Attributes for creating or updating a communication. + properties: + communication_type: + $ref: "#/components/schemas/IncidentCommunicationKind" + content: + $ref: "#/components/schemas/IncidentCommunicationContent" + required: + - communication_type + - content + type: object + IncidentCommunicationDataAttributesResponse: + description: Attributes of an incident communication response. + properties: + communication_type: + $ref: "#/components/schemas/IncidentCommunicationKind" + content: + $ref: "#/components/schemas/IncidentCommunicationContent" + created: + description: Timestamp when the communication was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + incident_id: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + modified: + description: Timestamp when the communication was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + required: + - incident_id + - communication_type + - content + - created + - modified + type: object + IncidentCommunicationDataRequest: + description: Incident communication data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentCommunicationDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentCommunicationType" + required: + - type + - attributes + type: object + IncidentCommunicationDataResponse: + description: Incident communication data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentCommunicationDataAttributesResponse" + id: + description: The communication identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentCommunicationType" + required: + - id + - type + - attributes + type: object + IncidentCommunicationKind: + description: The kind of communication. + enum: + - manual + - automated + example: manual + type: string + x-enum-varnames: + - MANUAL + - AUTOMATED + IncidentCommunicationRequest: + description: Request to create or update a communication. + properties: + data: + $ref: "#/components/schemas/IncidentCommunicationDataRequest" + required: + - data + type: object + IncidentCommunicationResponse: + description: Response with a single communication. + properties: + data: + $ref: "#/components/schemas/IncidentCommunicationDataResponse" + required: + - data + type: object + IncidentCommunicationType: + description: Incident communication resource type. + enum: + - communication + example: communication + type: string + x-enum-varnames: + - COMMUNICATION + IncidentCommunicationsResponse: + description: Response with a list of communications. + properties: + data: + description: List of communications. + items: + $ref: "#/components/schemas/IncidentCommunicationDataResponse" + type: array + required: + - data + type: object IncidentCreateAttributes: description: The incident's attributes for a create request. properties: @@ -33574,6 +34195,35 @@ components: required: - data type: object + IncidentCreateZoomMeetingData: + description: Data for creating a Zoom meeting. + properties: + attributes: + $ref: "#/components/schemas/IncidentCreateZoomMeetingDataAttributes" + type: + $ref: "#/components/schemas/IncidentZoomIntegrationType" + required: + - type + - attributes + type: object + IncidentCreateZoomMeetingDataAttributes: + description: Attributes for creating a Zoom meeting. + properties: + topic: + description: The topic of the Zoom meeting. + example: "Incident INC-123 War Room" + type: string + required: + - topic + type: object + IncidentCreateZoomMeetingRequest: + description: Request to create a Zoom meeting for an incident. + properties: + data: + $ref: "#/components/schemas/IncidentCreateZoomMeetingData" + required: + - data + type: object IncidentFieldAttributes: description: Dynamic fields for which selections can be made, with field names as keys. oneOf: @@ -33631,6 +34281,92 @@ components: - TEXTARRAY - METRICTAG - AUTOCOMPLETE + IncidentGoogleMeetIntegrationDataAttributes: + description: Attributes of a Google Meet integration metadata. + properties: + created: + description: Timestamp when the integration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + integration_type: + description: The type of integration. + example: google_meet + type: string + modified: + description: Timestamp when the integration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + spaces: + description: List of Google Meet spaces. + items: + $ref: "#/components/schemas/IncidentGoogleMeetSpace" + type: array + status: + description: The status of the integration. + example: active + type: string + required: + - status + - integration_type + - spaces + - created + - modified + type: object + IncidentGoogleMeetIntegrationDataResponse: + description: Google Meet integration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentGoogleMeetIntegrationDataAttributes" + id: + description: The integration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentGoogleMeetIntegrationType" + required: + - id + - type + - attributes + type: object + IncidentGoogleMeetIntegrationResponse: + description: Response with Google Meet integration metadata. + properties: + data: + $ref: "#/components/schemas/IncidentGoogleMeetIntegrationDataResponse" + required: + - data + type: object + IncidentGoogleMeetIntegrationType: + description: Incident integration resource type. + enum: + - incident_integrations + example: incident_integrations + type: string + x-enum-varnames: + - INCIDENT_INTEGRATIONS + IncidentGoogleMeetSpace: + description: A Google Meet space associated with an incident. + properties: + join_url: + description: The URL to join the Google Meet space. + example: https://meet.google.com/abc-defg-hij + type: string + meeting_code: + description: The meeting code for the space. + example: abc-defg-hij + type: string + name: + description: The name of the Google Meet space. + example: spaces/abc123 + type: string + required: + - name + - join_url + - meeting_code + type: object IncidentHandleAttributesFields: description: Dynamic fields associated with the handle example: @@ -34454,6 +35190,579 @@ components: last_modified_by_user: $ref: "#/components/schemas/RelationshipToUser" type: object + IncidentJiraIssueDataAttributesRequest: + description: Attributes for creating a Jira issue from an incident. + properties: + account_id: + description: The Jira account identifier. + example: "123456" + type: string + issue_type_id: + description: The Jira issue type identifier. + example: "10001" + type: string + project_id: + description: The Jira project identifier. + example: "10000" + type: string + template_id: + description: The identifier of the Jira template to use. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + required: + - account_id + - project_id + - issue_type_id + type: object + IncidentJiraIssueDataRequest: + description: Jira issue data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentJiraIssueDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentJiraIssueType" + required: + - type + - attributes + type: object + IncidentJiraIssueIntegrationDataAttributes: + description: Attributes of a Jira issue integration. + properties: + created: + description: Timestamp when the integration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + integration_type: + description: The type of integration. + example: jira + type: string + modified: + description: Timestamp when the integration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + status: + description: The status of the integration. + example: active + type: string + required: + - status + - integration_type + - created + - modified + type: object + IncidentJiraIssueIntegrationDataResponse: + description: Jira issue integration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentJiraIssueIntegrationDataAttributes" + id: + description: The integration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentJiraIssueIntegrationType" + required: + - id + - type + - attributes + type: object + IncidentJiraIssueIntegrationResponse: + description: Response with Jira issue integration metadata. + properties: + data: + $ref: "#/components/schemas/IncidentJiraIssueIntegrationDataResponse" + required: + - data + type: object + IncidentJiraIssueIntegrationType: + description: Incident integration resource type. + enum: + - incident_integrations + example: incident_integrations + type: string + x-enum-varnames: + - INCIDENT_INTEGRATIONS + IncidentJiraIssueRequest: + description: Request to create a Jira issue from an incident. + properties: + data: + $ref: "#/components/schemas/IncidentJiraIssueDataRequest" + required: + - data + type: object + IncidentJiraIssueType: + description: Incident Jira issue resource type. + enum: + - incident_jira_issues + example: incident_jira_issues + type: string + x-enum-varnames: + - INCIDENT_JIRA_ISSUES + IncidentJiraTemplateDataAttributesRequest: + description: Attributes for creating or updating an incident Jira template. + properties: + account_id: + description: The Jira account identifier. + example: "123456" + type: string + field_configurations: + description: Field configuration mappings. + items: + $ref: "#/components/schemas/IncidentJiraTemplateFieldConfiguration" + type: array + fields: + additionalProperties: {} + description: The Jira fields configuration. + type: object + is_default: + description: Whether this is the default template. + example: false + type: boolean + issue_id: + description: The Jira issue type identifier. + example: "10001" + type: string + mappings: + additionalProperties: {} + description: The field mappings configuration. + type: object + meta: + additionalProperties: {} + description: Additional metadata for the template. + type: object + name: + description: The name of the template. + example: Default Jira Template + type: string + project_id: + description: The Jira project identifier. + example: "10000" + type: string + project_key: + description: The Jira project key. + example: INC + type: string + sync_enabled: + description: Whether synchronization is enabled. + example: true + type: boolean + type: + description: The type of the template. + example: jira + type: string + required: + - account_id + - issue_id + - project_id + - project_key + type: object + IncidentJiraTemplateDataAttributesResponse: + description: Attributes of an incident Jira template. + properties: + account_id: + description: The Jira account identifier. + example: "123456" + type: string + created: + description: Timestamp when the template 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 template. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + field_configurations: + description: Field configuration mappings. + items: + $ref: "#/components/schemas/IncidentJiraTemplateFieldConfiguration" + type: array + fields: + additionalProperties: {} + description: The Jira fields configuration. + type: object + is_default: + description: Whether this is the default template. + example: false + type: boolean + issue_id: + description: The Jira issue type identifier. + example: "10001" + type: string + last_modified_by_uuid: + description: UUID of the user who last modified the template. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + mappings: + additionalProperties: {} + description: The field mappings configuration. + type: object + meta: + additionalProperties: {} + description: Additional metadata for the template. + type: object + modified: + description: Timestamp when the template was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + name: + description: The name of the template. + example: Default Jira Template + type: string + project_id: + description: The Jira project identifier. + example: "10000" + type: string + project_key: + description: The Jira project key. + example: INC + type: string + sync_enabled: + description: Whether synchronization is enabled. + example: true + type: boolean + type: + description: The type of the template. + example: jira + type: string + required: + - account_id + - issue_id + - project_id + - project_key + - name + - type + - is_default + - sync_enabled + - created + - modified + - created_by_uuid + - last_modified_by_uuid + type: object + IncidentJiraTemplateDataRequest: + description: Incident Jira template data for a create or update request. + properties: + attributes: + $ref: "#/components/schemas/IncidentJiraTemplateDataAttributesRequest" + relationships: + $ref: "#/components/schemas/IncidentJiraTemplateRelationships" + type: + $ref: "#/components/schemas/IncidentJiraTemplateType" + required: + - type + - attributes + type: object + IncidentJiraTemplateDataResponse: + description: Incident Jira template data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentJiraTemplateDataAttributesResponse" + id: + description: The template identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentJiraTemplateRelationships" + type: + $ref: "#/components/schemas/IncidentJiraTemplateType" + required: + - id + - type + - attributes + type: object + IncidentJiraTemplateFieldConfiguration: + description: Configuration for a Jira field mapping. + properties: + custom_outbound_value: + description: Custom value for outbound synchronization. + incident_field: + description: The incident field to map to. + example: title + nullable: true + type: string + jira_field_key: + description: The Jira field key. + example: summary + type: string + jira_field_type: + description: The type of the Jira field. + example: string + nullable: true + type: string + sync_direction: + description: The direction of synchronization. + example: bidirectional + type: string + value_mapping: + additionalProperties: + type: string + description: Mapping of values between incident and Jira fields. + type: object + required: + - jira_field_key + - sync_direction + type: object + IncidentJiraTemplateIncidentTypeRelationship: + description: Relationship to an incident type. + properties: + data: + $ref: "#/components/schemas/IncidentJiraTemplateIncidentTypeRelationshipData" + required: + - data + type: object + IncidentJiraTemplateIncidentTypeRelationshipData: + description: Incident type relationship data. + properties: + id: + description: The incident type identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + description: The incident type resource type. + example: incident_types + type: string + required: + - id + - type + type: object + IncidentJiraTemplateRelationships: + description: Relationships for an incident Jira template. + properties: + incident_type: + $ref: "#/components/schemas/IncidentJiraTemplateIncidentTypeRelationship" + type: object + IncidentJiraTemplateRequest: + description: Create or update request for an incident Jira template. + properties: + data: + $ref: "#/components/schemas/IncidentJiraTemplateDataRequest" + required: + - data + type: object + IncidentJiraTemplateResponse: + description: Response with a single incident Jira template. + properties: + data: + $ref: "#/components/schemas/IncidentJiraTemplateDataResponse" + required: + - data + type: object + IncidentJiraTemplateType: + description: Incident Jira template resource type. + enum: + - incidents_jira_templates + example: incidents_jira_templates + type: string + x-enum-varnames: + - INCIDENTS_JIRA_TEMPLATES + IncidentJiraTemplatesResponse: + description: Response with a list of incident Jira templates. + properties: + data: + description: List of incident Jira templates. + items: + $ref: "#/components/schemas/IncidentJiraTemplateDataResponse" + type: array + required: + - data + type: object + IncidentMSTeamsChannel: + description: A Microsoft Teams channel associated with an incident. + properties: + ms_channel_id: + description: The Teams channel identifier. + example: "19:abc123@thread.tacv2" + type: string + ms_channel_name: + description: The name of the Teams channel. + example: incidents-channel + type: string + ms_team_id: + description: The Teams team identifier. + example: "00000000-0000-0000-0000-000000000000" + type: string + ms_tenant_id: + description: The Teams tenant identifier. + example: "00000000-0000-0000-0000-000000000000" + type: string + redirect_url: + description: The redirect URL for the channel. + example: https://teams.microsoft.com/l/channel/abc123 + type: string + team_name: + description: The name of the Teams team. + example: Incident Response + type: string + required: + - ms_channel_name + - ms_channel_id + type: object + IncidentMSTeamsIntegrationDataAttributes: + description: Attributes of a Microsoft Teams integration metadata. + properties: + created: + description: Timestamp when the integration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + integration_type: + description: The type of integration. + example: ms_teams + type: string + modified: + description: Timestamp when the integration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + status: + description: The status of the integration. + example: active + type: string + teams: + description: List of Microsoft Teams channels. + items: + $ref: "#/components/schemas/IncidentMSTeamsChannel" + type: array + required: + - status + - integration_type + - teams + - created + - modified + type: object + IncidentMSTeamsIntegrationDataResponse: + description: Microsoft Teams integration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentMSTeamsIntegrationDataAttributes" + id: + description: The integration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentMicrosoftTeamsIntegrationType" + required: + - id + - type + - attributes + type: object + IncidentMSTeamsIntegrationResponse: + description: Response with Microsoft Teams integration metadata. + properties: + data: + $ref: "#/components/schemas/IncidentMSTeamsIntegrationDataResponse" + required: + - data + type: object + IncidentMicrosoftTeamsConfigurationDataAttributesRequest: + description: Attributes for creating or updating a Microsoft Teams configuration. + properties: + manual_meeting_creation: + description: Whether manual meeting creation is enabled. + example: false + type: boolean + post_meeting_summary: + description: Whether post-meeting summary is enabled. + example: true + type: boolean + type: object + IncidentMicrosoftTeamsConfigurationDataAttributesResponse: + description: Attributes of a Microsoft Teams configuration. + properties: + created_at: + description: Timestamp when the configuration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + manual_meeting_creation: + description: Whether manual meeting creation is enabled. + example: false + type: boolean + modified_at: + description: Timestamp when the configuration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + post_meeting_summary: + description: Whether post-meeting summary is enabled. + example: true + type: boolean + required: + - manual_meeting_creation + - post_meeting_summary + - created_at + - modified_at + type: object + IncidentMicrosoftTeamsConfigurationDataRequest: + description: Microsoft Teams configuration data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationType" + required: + - type + - attributes + type: object + IncidentMicrosoftTeamsConfigurationDataResponse: + description: Microsoft Teams configuration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationDataAttributesResponse" + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationType" + required: + - id + - type + - attributes + type: object + IncidentMicrosoftTeamsConfigurationRequest: + description: Request to create or update a Microsoft Teams configuration. + properties: + data: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationDataRequest" + required: + - data + type: object + IncidentMicrosoftTeamsConfigurationResponse: + description: Response with a Microsoft Teams configuration. + properties: + data: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationDataResponse" + required: + - data + type: object + IncidentMicrosoftTeamsConfigurationType: + description: Microsoft Teams configuration resource type. + enum: + - microsoft_teams_configurations + example: microsoft_teams_configurations + type: string + x-enum-varnames: + - MICROSOFT_TEAMS_CONFIGURATIONS + IncidentMicrosoftTeamsIntegrationType: + description: Incident integration resource type. + enum: + - incident_integrations + example: incident_integrations + type: string + x-enum-varnames: + - INCIDENT_INTEGRATIONS IncidentNonDatadogCreator: description: Incident's non Datadog creator. nullable: true @@ -34967,6 +36276,93 @@ components: - id - type type: object + IncidentPagerdutyIncidentDataResponse: + description: Incident data related to a PagerDuty incident. + properties: + id: + description: The Datadog incident identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + description: The incident resource type. + example: incidents + type: string + required: + - id + - type + type: object + IncidentPagerdutyRelatedIncidentsResponse: + description: Response with a list of Datadog incidents related to a PagerDuty incident. + properties: + data: + description: List of related Datadog incidents. + items: + $ref: "#/components/schemas/IncidentPagerdutyIncidentDataResponse" + type: array + required: + - data + type: object + IncidentPagerdutyServiceData: + description: PagerDuty service data. + properties: + attributes: + $ref: "#/components/schemas/IncidentPagerdutyServiceDataAttributes" + id: + description: The PagerDuty service identifier. + example: P1234AB + type: string + type: + $ref: "#/components/schemas/IncidentPagerdutyServiceType" + required: + - id + - type + - attributes + type: object + IncidentPagerdutyServiceDataAttributes: + description: Attributes of a PagerDuty service. + properties: + handle: + description: The handle for the PagerDuty service. + example: my-pagerduty-service + type: string + name: + description: The name of the PagerDuty service. + example: My PagerDuty Service + type: string + service_id: + description: The PagerDuty service identifier. + example: P1234AB + type: string + webhooks_enabled: + description: Whether webhooks are enabled for this service. + example: true + type: boolean + required: + - name + - service_id + - webhooks_enabled + - handle + type: object + IncidentPagerdutyServiceType: + description: PagerDuty service resource type. + enum: + - pagerduty_service + example: pagerduty_service + type: string + x-enum-varnames: + - PAGERDUTY_SERVICE + IncidentPagerdutyServicesResponse: + description: Response with a list of PagerDuty services. + properties: + data: + description: List of PagerDuty services. + items: + $ref: "#/components/schemas/IncidentPagerdutyServiceData" + type: array + required: + - data + type: object IncidentPostmortemType: default: incident_postmortems description: Incident postmortem resource type. @@ -34998,6 +36394,180 @@ components: - type - id type: object + IncidentRenderTemplateDataAttributesRequest: + description: Attributes for rendering a template. + properties: + content: + description: The template content to render. + example: "Incident INC-123 is SEV-1." + type: string + datetime_format: + description: The date-time format to use for rendering. + example: "2006-01-02T15:04:05Z07:00" + type: string + timezone: + description: The timezone to use for rendering. + example: America/New_York + type: string + validate_links: + description: Whether to validate links in the rendered template. + example: false + nullable: true + type: boolean + validate_variables: + description: Whether to validate variables in the template. + example: false + nullable: true + type: boolean + required: + - content + type: object + IncidentRenderTemplateDataRequest: + description: Data for rendering a template. + properties: + attributes: + $ref: "#/components/schemas/IncidentRenderTemplateDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentRenderedTemplateType" + required: + - type + - attributes + type: object + IncidentRenderTemplateRequest: + description: Request to render a template. + properties: + data: + $ref: "#/components/schemas/IncidentRenderTemplateDataRequest" + required: + - data + type: object + IncidentRenderedTemplateData: + description: Rendered template data. + properties: + attributes: + $ref: "#/components/schemas/IncidentRenderedTemplateDataAttributes" + id: + description: The rendered template identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentRenderedTemplateType" + required: + - id + - type + - attributes + type: object + IncidentRenderedTemplateDataAttributes: + description: Attributes of a rendered template. + properties: + rendered_content: + description: The rendered template content. + example: "Incident Server Down is SEV-1." + type: string + required: + - rendered_content + type: object + IncidentRenderedTemplateResponse: + description: Response with a rendered template. + properties: + data: + $ref: "#/components/schemas/IncidentRenderedTemplateData" + required: + - data + type: object + IncidentRenderedTemplateType: + description: Rendered template resource type. + enum: + - rendered_templates + example: rendered_templates + type: string + x-enum-varnames: + - RENDERED_TEMPLATES + IncidentReservedRoleDataAttributesResponse: + description: Attributes of a reserved 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 reserved role. + example: The incident commander. + 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 reserved role. + example: commander + type: string + policy: + $ref: "#/components/schemas/IncidentReservedRolePolicy" + required: + - name + - policy + - created + - modified + type: object + IncidentReservedRoleDataResponse: + description: Reserved role data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentReservedRoleDataAttributesResponse" + id: + description: The reserved role identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentReservedRoleType" + required: + - id + - type + - attributes + type: object + IncidentReservedRolePolicy: + description: Policy for a reserved role. + properties: + is_single: + description: Whether this role can only be assigned to a single responder. + example: true + type: boolean + required: + - is_single + type: object + IncidentReservedRoleResponse: + description: Response with a single reserved role. + properties: + data: + $ref: "#/components/schemas/IncidentReservedRoleDataResponse" + required: + - data + type: object + IncidentReservedRoleType: + description: Incident reserved role resource type. + enum: + - incident_reserved_roles + example: incident_reserved_roles + type: string + x-enum-varnames: + - INCIDENT_RESERVED_ROLES + IncidentReservedRolesResponse: + description: Response with a list of reserved roles. + properties: + data: + description: List of reserved roles. + items: + $ref: "#/components/schemas/IncidentReservedRoleDataResponse" + type: array + required: + - data + type: object IncidentResourceType: description: Incident resource type enum: @@ -35241,6 +36811,310 @@ components: user_defined_fields: $ref: "#/components/schemas/RelationshipToIncidentUserDefinedFields" type: object + IncidentRoleAssignmentDataAttributesRequest: + description: Attributes for creating a role assignment. + properties: + role: + description: The name of the role to assign. + example: commander + nullable: true + type: string + type: object + IncidentRoleAssignmentDataAttributesResponse: + description: Attributes of an incident role assignment. + properties: + created: + description: Timestamp when the role assignment was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + modified: + description: Timestamp when the role assignment was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + responder_type: + description: The type of the responder. + example: user + type: string + role: + description: The name of the assigned role. + example: commander + type: string + required: + - role + - responder_type + - created + - modified + type: object + IncidentRoleAssignmentDataRequest: + description: Role assignment data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentRoleAssignmentDataAttributesRequest" + relationships: + $ref: "#/components/schemas/IncidentRoleAssignmentRelationshipsRequest" + type: + $ref: "#/components/schemas/IncidentRoleAssignmentType" + required: + - type + - relationships + type: object + IncidentRoleAssignmentDataResponse: + description: Role assignment data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentRoleAssignmentDataAttributesResponse" + id: + description: The role assignment identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: "#/components/schemas/IncidentRoleAssignmentRelationshipsResponse" + type: + $ref: "#/components/schemas/IncidentRoleAssignmentType" + required: + - id + - type + - attributes + type: object + IncidentRoleAssignmentRelationshipsRequest: + description: Relationships for creating a role assignment. + properties: + reserved_role: + $ref: "#/components/schemas/IncidentRoleAssignmentRoleRelationship" + responder: + $ref: "#/components/schemas/IncidentRoleAssignmentResponderRelationship" + user_defined_role: + $ref: "#/components/schemas/IncidentRoleAssignmentRoleRelationship" + required: + - responder + type: object + IncidentRoleAssignmentRelationshipsResponse: + description: Relationships of a role assignment. + properties: + created_by_user: + $ref: "#/components/schemas/IncidentRoleAssignmentResponderRelationship" + last_modified_by_user: + $ref: "#/components/schemas/IncidentRoleAssignmentResponderRelationship" + reserved_role: + $ref: "#/components/schemas/IncidentRoleAssignmentRoleRelationship" + responder: + $ref: "#/components/schemas/IncidentRoleAssignmentResponderRelationship" + user_defined_role: + $ref: "#/components/schemas/IncidentRoleAssignmentRoleRelationship" + required: + - responder + type: object + IncidentRoleAssignmentRequest: + description: Request to create a role assignment. + properties: + data: + $ref: "#/components/schemas/IncidentRoleAssignmentDataRequest" + required: + - data + type: object + IncidentRoleAssignmentResponderRelationship: + description: Relationship to a responder. + properties: + data: + $ref: "#/components/schemas/IncidentRoleAssignmentResponderRelationshipData" + required: + - data + type: object + IncidentRoleAssignmentResponderRelationshipData: + description: Responder relationship data. + properties: + id: + description: The responder identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + description: The responder resource type. + example: users + type: string + required: + - id + - type + type: object + IncidentRoleAssignmentResponse: + description: Response with a single role assignment. + properties: + data: + $ref: "#/components/schemas/IncidentRoleAssignmentDataResponse" + required: + - data + type: object + IncidentRoleAssignmentRoleRelationship: + description: Relationship to a role. + properties: + data: + $ref: "#/components/schemas/IncidentRoleAssignmentRoleRelationshipData" + type: object + IncidentRoleAssignmentRoleRelationshipData: + description: Role relationship data. + properties: + id: + description: The role identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + description: The role resource type. + example: incident_reserved_roles + type: string + required: + - id + - type + type: object + IncidentRoleAssignmentType: + description: Incident role assignment resource type. + enum: + - incident_role_assignments + example: incident_role_assignments + type: string + x-enum-varnames: + - INCIDENT_ROLE_ASSIGNMENTS + IncidentRuleExecutionStateDataAttributesResponse: + description: Attributes of an incident rule execution state. + properties: + created: + description: Timestamp when the state was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + incident_uuid: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + last_executed_at: + description: Timestamp of the last rule execution. + example: "2024-01-01T00:00:00.000Z" + format: date-time + nullable: true + type: string + modified: + description: Timestamp when the state was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + rule_uuid: + description: The rule identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + required: + - rule_uuid + - incident_uuid + - created + - modified + type: object + IncidentRuleExecutionStateDataResponse: + description: Rule execution state data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentRuleExecutionStateDataAttributesResponse" + id: + description: The rule execution state identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentRuleExecutionStateType" + required: + - id + - type + - attributes + type: object + IncidentRuleExecutionStateRule: + description: A rule in a batch request. + properties: + last_executed_at: + description: Timestamp of the last rule execution. + example: "2024-01-01T00:00:00.000Z" + format: date-time + nullable: true + type: string + rule_uuid: + description: The rule identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + required: + - rule_uuid + type: object + IncidentRuleExecutionStateType: + description: Incident rule execution state resource type. + enum: + - incident_rule_execution_states + example: incident_rule_execution_states + type: string + x-enum-varnames: + - INCIDENT_RULE_EXECUTION_STATES + IncidentRuleExecutionStatesResponse: + description: Response with a list of rule execution states. + properties: + data: + description: List of rule execution states. + items: + $ref: "#/components/schemas/IncidentRuleExecutionStateDataResponse" + type: array + required: + - data + type: object + IncidentSearchIncidentsExportRequest: + description: Request to export incidents as CSV. + properties: + fields: + description: The list of fields to include in the export. + example: + - title + - severity + - state + items: + type: string + type: array + query: + description: The search query to filter incidents for export. + example: "state:active" + type: string + required: + - query + - fields + type: object + IncidentSearchIncidentsIncludeType: + description: Types of related objects to include. + enum: + - incident_type + - impacts + - users + - responders + - integrations + - attachments + type: string + x-enum-varnames: + - INCIDENT_TYPE + - IMPACTS + - USERS + - RESPONDERS + - INTEGRATIONS + - ATTACHMENTS + IncidentSearchIncidentsSortOrder: + description: The ways searched incidents can be sorted. + enum: + - created + - -created + - modified + - -modified + type: string + x-enum-varnames: + - CREATED_ASCENDING + - CREATED_DESCENDING + - MODIFIED_ASCENDING + - MODIFIED_DESCENDING IncidentSearchResponse: description: Response with incidents and facets. properties: @@ -35638,6 +37512,531 @@ components: - SEV_3 - SEV_4 - SEV_5 + IncidentStatusPageNoticeCreateData: + description: Data for publishing a status page notice. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatusPageNoticeCreateDataAttributes" + type: + $ref: "#/components/schemas/IncidentStatusPageNoticeIntegrationType" + required: + - type + - attributes + type: object + IncidentStatusPageNoticeCreateDataAttributes: + description: Attributes for publishing a status page notice. + properties: + components: + additionalProperties: + type: string + description: Map of component identifiers to their status. + example: + component_1: degraded_performance + type: object + message: + description: The message body of the notice. + example: We are investigating reports of elevated error rates. + type: string + status: + description: The status of the notice. + example: investigating + type: string + title: + description: The title of the notice. + example: Service degradation detected. + type: string + type: object + IncidentStatusPageNoticeCreateRequest: + description: Request to publish a status page notice. + properties: + data: + $ref: "#/components/schemas/IncidentStatusPageNoticeCreateData" + required: + - data + type: object + IncidentStatusPageNoticeIntegrationDataAttributes: + description: Attributes of a status page notice integration. + properties: + created: + description: Timestamp when the integration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + integration_type: + description: The type of integration. + example: statuspage + type: string + modified: + description: Timestamp when the integration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + status: + description: The status of the integration. + example: active + type: string + required: + - status + - integration_type + - created + - modified + type: object + IncidentStatusPageNoticeIntegrationDataResponse: + description: Status page notice integration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatusPageNoticeIntegrationDataAttributes" + id: + description: The integration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentStatusPageNoticeIntegrationType" + required: + - id + - type + - attributes + type: object + IncidentStatusPageNoticeIntegrationResponse: + description: Response with status page notice integration metadata. + properties: + data: + $ref: "#/components/schemas/IncidentStatusPageNoticeIntegrationDataResponse" + required: + - data + type: object + IncidentStatusPageNoticeIntegrationType: + description: Incident integration resource type. + enum: + - incident_integrations + example: incident_integrations + type: string + x-enum-varnames: + - INCIDENT_INTEGRATIONS + IncidentStatusPageNoticeUpdateData: + description: Data for updating a status page notice. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatusPageNoticeUpdateDataAttributes" + type: + $ref: "#/components/schemas/IncidentStatusPageNoticeIntegrationType" + required: + - type + - attributes + type: object + IncidentStatusPageNoticeUpdateDataAttributes: + description: Attributes for updating a status page notice. + properties: + components: + additionalProperties: + type: string + description: Map of component identifiers to their status. + type: object + message: + description: The message body of the notice. + example: The issue has been resolved. + type: string + status: + description: The status of the notice. + example: resolved + type: string + title: + description: The title of the notice. + example: Service degradation resolved. + type: string + type: object + IncidentStatusPageNoticeUpdateRequest: + description: Request to update a status page notice. + properties: + data: + $ref: "#/components/schemas/IncidentStatusPageNoticeUpdateData" + required: + - data + type: object + IncidentStatusPagesSuggestionData: + description: Status pages suggestion data. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatusPagesSuggestionDataAttributes" + id: + description: The suggestion title. + example: Service Degradation Detected + type: string + type: + $ref: "#/components/schemas/IncidentStatusPagesSuggestionType" + required: + - id + - type + - attributes + type: object + IncidentStatusPagesSuggestionDataAttributes: + description: Attributes of a status pages suggestion. + properties: + status: + description: The suggested status for the status page. + example: investigating + type: string + update_text: + description: The suggested update text for the status page notice. + example: We are investigating reports of elevated error rates. + type: string + required: + - status + - update_text + type: object + IncidentStatusPagesSuggestionResponse: + description: Response with a status pages suggestion. + properties: + data: + $ref: "#/components/schemas/IncidentStatusPagesSuggestionData" + required: + - data + type: object + IncidentStatusPagesSuggestionType: + description: Incident status pages suggestion resource type. + enum: + - incident_statuspages_suggestion + example: incident_statuspages_suggestion + type: string + x-enum-varnames: + - INCIDENT_STATUSPAGES_SUGGESTION + IncidentStatuspageIncidentDataAttributesRequest: + description: Attributes for creating or updating a Statuspage incident. + properties: + body: + description: The body text of the Statuspage incident. + example: We are investigating the issue. + nullable: true + type: string + components: + additionalProperties: + type: string + description: Map of component identifiers to their status. + type: object + deliver_notifications: + description: Whether to deliver notifications. + example: true + nullable: true + type: boolean + impact: + description: The impact level of the incident. + example: major + nullable: true + type: string + name: + description: The name of the Statuspage incident. + example: Service Outage + nullable: true + type: string + page_id: + description: The Statuspage page identifier. + example: abc123 + type: string + status: + description: The status of the Statuspage incident. + example: investigating + nullable: true + type: string + type: object + IncidentStatuspageIncidentDataAttributesResponse: + description: Attributes of a Statuspage incident integration. + properties: + created: + description: Timestamp when the integration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + incidents: + description: List of Statuspage incidents. + items: + $ref: "#/components/schemas/IncidentStatuspageIncidentEntry" + type: array + integration_type: + description: The type of integration. + example: statuspage + type: string + modified: + description: Timestamp when the integration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + status: + description: The status of the integration. + example: active + type: string + required: + - status + - integration_type + - created + - modified + type: object + IncidentStatuspageIncidentDataRequest: + description: Statuspage incident data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatuspageIncidentDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentStatuspageIncidentType" + required: + - type + - attributes + type: object + IncidentStatuspageIncidentDataResponse: + description: Statuspage incident data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatuspageIncidentDataAttributesResponse" + id: + description: The integration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentStatuspageIncidentType" + required: + - id + - type + - attributes + type: object + IncidentStatuspageIncidentEntry: + description: A Statuspage incident entry. + properties: + incident_id: + description: The Datadog incident identifier. + example: "12345" + type: string + page_id: + description: The Statuspage page identifier. + example: abc123 + type: string + redirect_url: + description: The URL of the Statuspage incident. + example: https://status.example.com/incidents/abc123 + type: string + required: + - incident_id + - page_id + type: object + IncidentStatuspageIncidentRequest: + description: Request to create or update a Statuspage incident. + properties: + data: + $ref: "#/components/schemas/IncidentStatuspageIncidentDataRequest" + required: + - data + type: object + IncidentStatuspageIncidentResponse: + description: Response with Statuspage incident integration metadata. + properties: + data: + $ref: "#/components/schemas/IncidentStatuspageIncidentDataResponse" + required: + - data + type: object + IncidentStatuspageIncidentType: + description: Statuspage incident integration resource type. + enum: + - incident_integrations + example: incident_integrations + type: string + x-enum-varnames: + - INCIDENT_INTEGRATIONS + IncidentStatuspagePreferencesData: + description: Subscription preferences data. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatuspagePreferencesDataAttributes" + id: + description: The preferences identifier. + example: "12345" + type: string + type: + $ref: "#/components/schemas/IncidentStatuspagePreferencesType" + required: + - id + - type + - attributes + type: object + IncidentStatuspagePreferencesDataAttributes: + description: Attributes of subscription preferences. + properties: + subscribed: + description: Whether the user is subscribed. + example: true + type: boolean + required: + - subscribed + type: object + IncidentStatuspagePreferencesResponse: + description: Response with subscription preferences. + properties: + data: + $ref: "#/components/schemas/IncidentStatuspagePreferencesData" + required: + - data + type: object + IncidentStatuspagePreferencesType: + description: Subscription preferences resource type. + enum: + - statuspage_subscription_preferences + example: statuspage_subscription_preferences + type: string + x-enum-varnames: + - STATUSPAGE_SUBSCRIPTION_PREFERENCES + IncidentStatuspageSubscriptionDataAttributesRequest: + description: Attributes for creating an email subscription. + properties: + email: + description: The email address to subscribe. + example: user@example.com + type: string + required: + - email + type: object + IncidentStatuspageSubscriptionDataAttributesResponse: + description: Attributes of an email subscription. + properties: + confirmed: + description: Whether the subscription has been confirmed. + example: true + type: boolean + created_at: + description: Timestamp when the subscription was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + email: + description: The subscribed email address. + example: user@example.com + type: string + required: + - email + - confirmed + - created_at + type: object + IncidentStatuspageSubscriptionDataRequest: + description: Subscription data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionType" + required: + - type + - attributes + type: object + IncidentStatuspageSubscriptionDataResponse: + description: Email subscription data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionDataAttributesResponse" + id: + description: The subscription identifier. + example: "12345" + type: string + type: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionType" + required: + - id + - type + - attributes + type: object + IncidentStatuspageSubscriptionRequest: + description: Request to create an email subscription. + properties: + data: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionDataRequest" + required: + - data + type: object + IncidentStatuspageSubscriptionResponse: + description: Response with a single email subscription. + properties: + data: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionDataResponse" + required: + - data + type: object + IncidentStatuspageSubscriptionType: + description: Statuspage email subscription resource type. + enum: + - statuspage_email_subscription + example: statuspage_email_subscription + type: string + x-enum-varnames: + - STATUSPAGE_EMAIL_SUBSCRIPTION + IncidentStatuspageSubscriptionsResponse: + description: Response with a list of email subscriptions. + properties: + data: + description: List of email subscriptions. + items: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionDataResponse" + type: array + required: + - data + type: object + IncidentTemplateVariableData: + description: Template variable data. + properties: + attributes: + $ref: "#/components/schemas/IncidentTemplateVariableDataAttributes" + id: + description: The template variable identifier. + example: incident.title + type: string + type: + $ref: "#/components/schemas/IncidentTemplateVariableType" + required: + - id + - type + - attributes + type: object + IncidentTemplateVariableDataAttributes: + description: Attributes of a template variable. + properties: + description: + description: A description of the template variable. + example: The title of the incident. + type: string + display_name: + description: The display name of the template variable. + example: Incident Title + type: string + domain: + description: The domain of the template variable. + example: incident + type: string + variable: + description: The variable name used in templates. + example: "incident.title" + type: string + required: + - display_name + - domain + - variable + - description + type: object + IncidentTemplateVariableType: + description: Template variable resource type. + enum: + - template_variables + example: template_variables + type: string + x-enum-varnames: + - TEMPLATE_VARIABLES + IncidentTemplateVariablesResponse: + description: Response with a list of template variables. + properties: + data: + description: List of template variables. + items: + $ref: "#/components/schemas/IncidentTemplateVariableData" + type: array + required: + - data + type: object IncidentTimelineCellCreateAttributes: description: The timeline cell's attributes for a create request. oneOf: @@ -35676,6 +38075,206 @@ components: nullable: false type: string type: object + IncidentTimelineCellSource: + description: The source of a timeline cell. + enum: + - slack + - microsoft_teams + - datadog + - api + example: api + type: string + x-enum-varnames: + - SLACK + - MICROSOFT_TEAMS + - DATADOG + - API + IncidentTimelineCellType: + description: The type of a timeline cell. + enum: + - markdown + - incident_status_change + - timestamp_change + - meeting_summary + - meeting_chat + - role_assignment_change + - postmortem_change + example: markdown + type: string + x-enum-varnames: + - MARKDOWN + - INCIDENT_STATUS_CHANGE + - TIMESTAMP_CHANGE + - MEETING_SUMMARY + - MEETING_CHAT + - ROLE_ASSIGNMENT_CHANGE + - POSTMORTEM_CHANGE + IncidentTimelineEntriesResponse: + description: Response with a list of timeline entries. + properties: + data: + description: List of timeline entries. + items: + $ref: "#/components/schemas/IncidentTimelineEntryDataResponse" + type: array + required: + - data + type: object + IncidentTimelineEntryContent: + description: The content of a timeline entry. + properties: + message: + description: The markdown message content. + example: Investigating the issue. + type: string + type: object + IncidentTimelineEntryDataAttributesRequest: + description: Attributes for creating or updating a timeline entry. + properties: + cell_type: + $ref: "#/components/schemas/IncidentTimelineCellType" + content: + $ref: "#/components/schemas/IncidentTimelineEntryContent" + display_time: + description: The display time for this timeline entry. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + important: + description: Whether this timeline entry is marked as important. + example: false + type: boolean + required: + - cell_type + - content + type: object + IncidentTimelineEntryDataAttributesResponse: + description: Attributes of a timeline entry. + properties: + cell_type: + $ref: "#/components/schemas/IncidentTimelineCellType" + content: + $ref: "#/components/schemas/IncidentTimelineEntryContent" + created: + description: Timestamp when the entry was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + display_time: + description: The display time for this timeline entry. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + important: + description: Whether this timeline entry is marked as important. + example: false + type: boolean + incident_id: + description: The incident identifier. + example: "12345" + type: string + modified: + description: Timestamp when the entry was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + parent_uuid: + description: UUID of the parent timeline entry. + example: 00000000-0000-0000-0000-000000000000 + nullable: true + type: string + source: + $ref: "#/components/schemas/IncidentTimelineCellSource" + required: + - incident_id + - cell_type + - content + - source + - display_time + - important + - created + - modified + type: object + IncidentTimelineEntryDataRequest: + description: Timeline entry data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentTimelineEntryDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentTimelineEntryType" + required: + - type + - attributes + type: object + IncidentTimelineEntryDataResponse: + description: Timeline entry data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentTimelineEntryDataAttributesResponse" + id: + description: The timeline entry identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentTimelineEntryType" + required: + - id + - type + - attributes + type: object + IncidentTimelineEntryRequest: + description: Request to create or update a timeline entry. + properties: + data: + $ref: "#/components/schemas/IncidentTimelineEntryDataRequest" + required: + - data + type: object + IncidentTimelineEntryResponse: + description: Response with a single timeline entry. + properties: + data: + $ref: "#/components/schemas/IncidentTimelineEntryDataResponse" + required: + - data + type: object + IncidentTimelineEntryType: + description: Incident timeline entry resource type. + enum: + - incident_timeline_cells + example: incident_timeline_cells + type: string + x-enum-varnames: + - INCIDENT_TIMELINE_CELLS + IncidentTimelineThreadDataResponse: + description: Thread data for a timeline entry. + properties: + attributes: + $ref: "#/components/schemas/IncidentTimelineEntryDataAttributesResponse" + id: + description: The thread entry identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentTimelineEntryType" + required: + - id + - type + - attributes + type: object + IncidentTimelineThreadResponse: + description: Response with thread entries for a timeline entry. + properties: + data: + description: List of thread entries. + items: + $ref: "#/components/schemas/IncidentTimelineThreadDataResponse" + type: array + required: + - data + type: object IncidentTodoAnonymousAssignee: description: Anonymous assignee entity. properties: @@ -36624,6 +39223,200 @@ components: - display_name - value type: object + IncidentZoomConfigurationDataAttributesRequest: + description: Attributes for creating or updating a Zoom configuration. + properties: + manual_meeting_creation: + description: Whether manual meeting creation is enabled. + example: false + type: boolean + meeting_chat_timeline_sync: + description: Whether meeting chat timeline sync is enabled. + example: false + type: boolean + post_meeting_summary: + description: Whether post-meeting summary is enabled. + example: true + type: boolean + type: object + IncidentZoomConfigurationDataAttributesResponse: + description: Attributes of a Zoom configuration. + properties: + created_at: + description: Timestamp when the configuration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + manual_meeting_creation: + description: Whether manual meeting creation is enabled. + example: false + type: boolean + meeting_chat_timeline_sync: + description: Whether meeting chat timeline sync is enabled. + example: false + type: boolean + modified_at: + description: Timestamp when the configuration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + post_meeting_summary: + description: Whether post-meeting summary is enabled. + example: true + type: boolean + required: + - manual_meeting_creation + - post_meeting_summary + - meeting_chat_timeline_sync + - created_at + - modified_at + type: object + IncidentZoomConfigurationDataRequest: + description: Zoom configuration data for a request. + properties: + attributes: + $ref: "#/components/schemas/IncidentZoomConfigurationDataAttributesRequest" + type: + $ref: "#/components/schemas/IncidentZoomConfigurationType" + required: + - type + - attributes + type: object + IncidentZoomConfigurationDataResponse: + description: Zoom configuration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentZoomConfigurationDataAttributesResponse" + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentZoomConfigurationType" + required: + - id + - type + - attributes + type: object + IncidentZoomConfigurationRequest: + description: Request to create or update a Zoom configuration. + properties: + data: + $ref: "#/components/schemas/IncidentZoomConfigurationDataRequest" + required: + - data + type: object + IncidentZoomConfigurationResponse: + description: Response with a Zoom configuration. + properties: + data: + $ref: "#/components/schemas/IncidentZoomConfigurationDataResponse" + required: + - data + type: object + IncidentZoomConfigurationType: + description: Zoom configuration resource type. + enum: + - zoom_configurations + example: zoom_configurations + type: string + x-enum-varnames: + - ZOOM_CONFIGURATIONS + IncidentZoomIntegrationDataAttributes: + description: Attributes of a Zoom integration metadata. + properties: + created: + description: Timestamp when the integration was created. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + integration_type: + description: The type of integration. + example: zoom + type: string + meetings: + description: List of Zoom meetings. + items: + $ref: "#/components/schemas/IncidentZoomMeeting" + type: array + modified: + description: Timestamp when the integration was last modified. + example: "2024-01-01T00:00:00.000Z" + format: date-time + type: string + status: + description: The status of the integration. + example: active + type: string + required: + - status + - integration_type + - meetings + - created + - modified + type: object + IncidentZoomIntegrationDataResponse: + description: Zoom integration data in a response. + properties: + attributes: + $ref: "#/components/schemas/IncidentZoomIntegrationDataAttributes" + id: + description: The integration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: "#/components/schemas/IncidentZoomIntegrationType" + required: + - id + - type + - attributes + type: object + IncidentZoomIntegrationResponse: + description: Response with Zoom integration metadata. + properties: + data: + $ref: "#/components/schemas/IncidentZoomIntegrationDataResponse" + required: + - data + type: object + IncidentZoomIntegrationType: + description: Incident integration resource type. + enum: + - incident_integrations + example: incident_integrations + type: string + x-enum-varnames: + - INCIDENT_INTEGRATIONS + IncidentZoomMeeting: + description: A Zoom meeting associated with an incident. + properties: + host_id: + description: The Zoom host identifier. + example: abc123 + type: string + join_url: + description: The URL to join the meeting. + example: https://zoom.us/j/1234567890 + type: string + meeting_id: + description: The Zoom meeting identifier. + example: 1234567890 + format: int64 + type: integer + password: + description: The meeting password. + example: abc123 + type: string + recording_url: + description: The URL of the meeting recording. + example: https://zoom.us/rec/share/abc123 + type: string + required: + - join_url + - meeting_id + type: object IncidentsResponse: description: Response with a list of incidents. properties: @@ -104250,6 +107043,475 @@ 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/jira-templates: + get: + description: List all incident Jira templates for the organization. + operationId: ListIncidentJiraTemplates + parameters: + - $ref: "#/components/parameters/IncidentJiraTemplateIsDefaultParameter" + - $ref: "#/components/parameters/IncidentJiraTemplateIncidentTypeIdParameter" + - $ref: "#/components/parameters/IncidentJiraTemplateTypeParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentJiraTemplatesResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident Jira templates + 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 incident Jira template for the organization. + operationId: CreateIncidentJiraTemplate + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: "123456" + issue_id: "10001" + project_id: "10000" + project_key: INC + type: incidents_jira_templates + schema: + $ref: "#/components/schemas/IncidentJiraTemplateRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: "123456" + created: "2024-01-01T00:00:00.000Z" + created_by_uuid: 00000000-0000-0000-0000-000000000000 + is_default: false + issue_id: "10001" + last_modified_by_uuid: 00000000-0000-0000-0000-000000000000 + modified: "2024-01-01T00:00:00.000Z" + name: Default Jira Template + project_id: "10000" + project_key: INC + sync_enabled: true + type: jira + id: 00000000-0000-0000-0000-000000000000 + type: incidents_jira_templates + schema: + $ref: "#/components/schemas/IncidentJiraTemplateResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "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 Jira template + 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/jira-templates/{template_id}: + delete: + description: Delete an incident Jira template by its identifier. + operationId: DeleteIncidentJiraTemplate + parameters: + - $ref: "#/components/parameters/IncidentJiraTemplateIdParameter" + responses: + "204": + description: No Content + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "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 Jira template + 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: Get the details of an incident Jira template by its identifier. + operationId: GetIncidentJiraTemplate + parameters: + - $ref: "#/components/parameters/IncidentJiraTemplateIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: "123456" + created: "2024-01-01T00:00:00.000Z" + created_by_uuid: 00000000-0000-0000-0000-000000000000 + is_default: false + issue_id: "10001" + last_modified_by_uuid: 00000000-0000-0000-0000-000000000000 + modified: "2024-01-01T00:00:00.000Z" + name: Default Jira Template + project_id: "10000" + project_key: INC + sync_enabled: true + type: jira + id: 00000000-0000-0000-0000-000000000000 + type: incidents_jira_templates + schema: + $ref: "#/components/schemas/IncidentJiraTemplateResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "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 Jira template + 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/). + put: + description: Update an existing incident Jira template. + operationId: UpdateIncidentJiraTemplate + parameters: + - $ref: "#/components/parameters/IncidentJiraTemplateIdParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: "123456" + issue_id: "10001" + project_id: "10000" + project_key: INC + type: incidents_jira_templates + schema: + $ref: "#/components/schemas/IncidentJiraTemplateRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: "123456" + created: "2024-01-01T00:00:00.000Z" + created_by_uuid: 00000000-0000-0000-0000-000000000000 + is_default: false + issue_id: "10001" + last_modified_by_uuid: 00000000-0000-0000-0000-000000000000 + modified: "2024-01-01T00:00:00.000Z" + name: Default Jira Template + project_id: "10000" + project_key: INC + sync_enabled: true + type: jira + id: 00000000-0000-0000-0000-000000000000 + type: incidents_jira_templates + schema: + $ref: "#/components/schemas/IncidentJiraTemplateResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "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 Jira template + 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/microsoft-teams-configurations: + post: + description: Create a Microsoft Teams configuration for incidents. + operationId: CreateIncidentMicrosoftTeamsConfiguration + parameters: + - $ref: "#/components/parameters/IncidentMicrosoftTeamsIncludeParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + manual_meeting_creation: false + post_meeting_summary: true + type: microsoft_teams_configurations + schema: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + manual_meeting_creation: false + modified_at: "2024-01-01T00:00:00.000Z" + post_meeting_summary: true + id: 00000000-0000-0000-0000-000000000000 + type: microsoft_teams_configurations + schema: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "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 Microsoft Teams configuration + 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/microsoft-teams-configurations/{configuration_id}: + patch: + description: Update a Microsoft Teams configuration for incidents. + operationId: UpdateIncidentMicrosoftTeamsConfiguration + parameters: + - $ref: "#/components/parameters/IncidentMicrosoftTeamsConfigurationIdParameter" + - $ref: "#/components/parameters/IncidentMicrosoftTeamsIncludeParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + manual_meeting_creation: false + post_meeting_summary: true + type: microsoft_teams_configurations + schema: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + manual_meeting_creation: false + modified_at: "2024-01-01T00:00:00.000Z" + post_meeting_summary: true + id: 00000000-0000-0000-0000-000000000000 + type: microsoft_teams_configurations + schema: + $ref: "#/components/schemas/IncidentMicrosoftTeamsConfigurationResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "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 Microsoft Teams configuration + 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/notification-rules: get: description: Lists all notification rules for the organization. Optionally filter by incident type. @@ -104488,6 +107750,100 @@ paths: x-unstable: |- **Note**: This endpoint is in Preview. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Partially updates an existing notification rule. + operationId: PatchIncidentNotificationRule + parameters: + - $ref: "#/components/parameters/IncidentNotificationRuleIDPathParameter" + - $ref: "#/components/parameters/IncidentNotificationRuleIncludeQueryParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + conditions: + - field: severity + values: + - SEV-1 + - SEV-2 + enabled: true + handles: + - "@team-email@company.com" + - "@slack-channel" + renotify_on: + - status + - severity + trigger: incident_created_trigger + visibility: organization + id: 00000000-0000-0000-0000-000000000001 + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + notification_template: + data: + id: 00000000-0000-0000-0000-000000000001 + type: notification_templates + type: incident_notification_rules + schema: + $ref: "#/components/schemas/PutIncidentNotificationRuleRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + conditions: + - field: severity + values: + - SEV-1 + - SEV-2 + created: "2024-01-01T00:00:00+00:00" + enabled: true + handles: + - "@team-email@example.com" + modified: "2024-01-01T00:00:00+00:00" + trigger: incident_created_trigger + visibility: organization + id: 00000000-0000-0000-0000-000000000001 + type: incident_notification_rules + schema: + $ref: "#/components/schemas/IncidentNotificationRule" + 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_notification_settings_write + summary: Patch an incident notification rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - 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/). put: description: Updates an existing notification rule with a complete replacement. operationId: UpdateIncidentNotificationRule @@ -105093,6 +108449,146 @@ 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/reserved-roles: + get: + description: List all reserved roles for incidents. + operationId: ListIncidentReservedRoles + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentReservedRolesResponse" + description: OK + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident reserved 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/). + /api/v2/incidents/config/reserved-roles/{role_id}: + get: + description: Get the details of a reserved role by its identifier. + operationId: GetIncidentReservedRole + parameters: + - $ref: "#/components/parameters/IncidentReservedRoleIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + description: The incident commander. + modified: "2024-01-01T00:00:00.000Z" + name: commander + policy: + is_single: true + id: 00000000-0000-0000-0000-000000000000 + type: incident_reserved_roles + schema: + $ref: "#/components/schemas/IncidentReservedRoleResponse" + description: OK + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "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 reserved 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/template-variables: + get: + description: List all available template variables for incident templates. + operationId: ListIncidentTemplateVariables + parameters: + - $ref: "#/components/parameters/IncidentTemplateVariableFilterIncidentTypeParameter" + - $ref: "#/components/parameters/IncidentTemplateVariableIncludeFollowUpsParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentTemplateVariablesResponse" + description: OK + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident template variables + 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/types: get: description: Get all incident types. @@ -105832,6 +109328,155 @@ 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/zoom-configurations: + post: + description: Create a Zoom configuration for incidents. + operationId: CreateIncidentZoomConfiguration + parameters: + - $ref: "#/components/parameters/IncidentZoomIncludeParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + manual_meeting_creation: false + meeting_chat_timeline_sync: false + post_meeting_summary: true + type: zoom_configurations + schema: + $ref: "#/components/schemas/IncidentZoomConfigurationRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + manual_meeting_creation: false + meeting_chat_timeline_sync: false + modified_at: "2024-01-01T00:00:00.000Z" + post_meeting_summary: true + id: 00000000-0000-0000-0000-000000000000 + type: zoom_configurations + schema: + $ref: "#/components/schemas/IncidentZoomConfigurationResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "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 Zoom configuration + 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/zoom-configurations/{configuration_id}: + patch: + description: Update a Zoom configuration for incidents. + operationId: UpdateIncidentZoomConfiguration + parameters: + - $ref: "#/components/parameters/IncidentZoomConfigurationIdParameter" + - $ref: "#/components/parameters/IncidentZoomIncludeParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + manual_meeting_creation: false + meeting_chat_timeline_sync: false + post_meeting_summary: true + type: zoom_configurations + schema: + $ref: "#/components/schemas/IncidentZoomConfigurationRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: "2024-01-01T00:00:00.000Z" + manual_meeting_creation: false + meeting_chat_timeline_sync: false + modified_at: "2024-01-01T00:00:00.000Z" + post_meeting_summary: true + id: 00000000-0000-0000-0000-000000000000 + type: zoom_configurations + schema: + $ref: "#/components/schemas/IncidentZoomConfigurationResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "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 Zoom configuration + 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: |- @@ -105922,6 +109567,297 @@ 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/pagerduty/services: + get: + description: List all PagerDuty services configured for the organization. + operationId: ListIncidentPagerdutyServices + parameters: + - $ref: "#/components/parameters/PagerdutyIncludeUnresolvedParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentPagerdutyServicesResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List PagerDuty services + 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/pagerduty/{pagerduty_incident_id}/relationships/incidents: + get: + description: Get the list of Datadog incidents attached to a PagerDuty incident. + operationId: GetIncidentPagerdutyRelatedIncidents + parameters: + - $ref: "#/components/parameters/PagerdutyIncidentIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentPagerdutyRelatedIncidentsResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get PagerDuty related incidents + 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/role_assignments: + post: + description: Create a new role assignment for an incident. + operationId: CreateIncidentRoleAssignment + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + role: commander + relationships: + responder: + data: + id: 00000000-0000-0000-0000-000000000000 + type: users + type: incident_role_assignments + schema: + $ref: "#/components/schemas/IncidentRoleAssignmentRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + modified: "2024-01-01T00:00:00.000Z" + responder_type: user + role: commander + id: 00000000-0000-0000-0000-000000000000 + type: incident_role_assignments + schema: + $ref: "#/components/schemas/IncidentRoleAssignmentResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "409": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Conflict + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident role assignment + 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/role_assignments/{role_assignment_id}: + delete: + description: Delete a role assignment by its identifier. + operationId: DeleteIncidentRoleAssignment + parameters: + - $ref: "#/components/parameters/IncidentRoleAssignmentIdParameter" + responses: + "204": + description: No Content + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident role assignment + 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: Get the details of a role assignment by its identifier. + operationId: GetIncidentRoleAssignment + parameters: + - $ref: "#/components/parameters/IncidentRoleAssignmentIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + modified: "2024-01-01T00:00:00.000Z" + responder_type: user + role: commander + id: 00000000-0000-0000-0000-000000000000 + type: incident_role_assignments + schema: + $ref: "#/components/schemas/IncidentRoleAssignmentResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get an incident role assignment + 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/search: get: description: >- @@ -105980,6 +109916,285 @@ 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/search-incidents: + get: + description: Search for incidents using advanced filtering and pagination. + operationId: SearchIncidentsV2 + parameters: + - $ref: "#/components/parameters/IncidentSearchIncidentsQueryParameter" + - $ref: "#/components/parameters/IncidentSearchIncidentsSortParameter" + - $ref: "#/components/parameters/IncidentSearchIncidentsWithFacetsParameter" + - $ref: "#/components/parameters/IncidentSearchIncidentsWithDeletedParameter" + - $ref: "#/components/parameters/IncidentSearchIncidentsSemanticQueryParameter" + - $ref: "#/components/parameters/IncidentSearchIncidentsTimezoneParameter" + - $ref: "#/components/parameters/IncidentSearchIncidentsIncludeParameter" + - $ref: "#/components/parameters/PageSize" + - $ref: "#/components/parameters/PageOffset" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + facets: {} + incidents: [] + total: 0 + type: incidents_search_results + schema: + $ref: "#/components/schemas/IncidentSearchResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Search incidents + 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/search-incidents/export: + post: + description: Export incidents matching a search query as a CSV file. + operationId: ExportIncidents + requestBody: + content: + application/json: + examples: + default: + value: + fields: + - title + - severity + - state + query: "state:active" + schema: + $ref: "#/components/schemas/IncidentSearchIncidentsExportRequest" + required: true + responses: + "200": + content: + text/csv: + examples: + default: + value: "title,severity,state" + schema: + format: binary + type: string + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Export incidents + 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/statuspage/{incident_id}/statuspage-incidents: + post: + description: Create a Statuspage incident linked to a Datadog incident. + operationId: CreateIncidentStatuspageIncident + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + body: We are investigating the issue. + deliver_notifications: true + name: Service Outage + page_id: abc123 + status: investigating + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentStatuspageIncidentRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + integration_type: statuspage + modified: "2024-01-01T00:00:00.000Z" + status: active + id: 00000000-0000-0000-0000-000000000000 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentStatuspageIncidentResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident Statuspage incident + 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/statuspage/{incident_id}/statuspage-incidents/pages/{page_id}/incidents/{statuspage_incident_id}: + patch: + description: Update a Statuspage incident linked to a Datadog incident. + operationId: UpdateIncidentStatuspageIncident + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentStatuspagePageIdParameter" + - $ref: "#/components/parameters/IncidentStatuspageIncidentIdParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + body: The issue has been resolved. + deliver_notifications: true + name: Service Outage + page_id: abc123 + status: resolved + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentStatuspageIncidentRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + integration_type: statuspage + modified: "2024-01-01T00:00:00.000Z" + status: active + id: 00000000-0000-0000-0000-000000000000 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentStatuspageIncidentResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident Statuspage incident + 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/{incident_id}: delete: description: Deletes an existing incident from the users organization. @@ -106461,6 +110676,592 @@ 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}/automation-data/{key}: + get: + description: Get automation data for a given incident and key. + operationId: GetIncidentAutomationData + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentAutomationDataKeyParameter" + - $ref: "#/components/parameters/IncidentAutomationDataIncludeParameter" + 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 + key: workflow_status + updated_at: "2024-01-01T00:00:00.000Z" + value: completed + id: workflow_status + type: incidents_automation_data + schema: + $ref: "#/components/schemas/IncidentAutomationDataResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get incident automation data + 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/). + put: + description: Create or update automation data for a given incident and key. + operationId: UpsertIncidentAutomationData + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentAutomationDataKeyParameter" + - $ref: "#/components/parameters/IncidentAutomationDataIncludeParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + value: completed + type: incidents_automation_data + schema: + $ref: "#/components/schemas/IncidentAutomationDataRequest" + 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 + key: workflow_status + updated_at: "2024-01-01T00:00:00.000Z" + value: completed + id: workflow_status + type: incidents_automation_data + schema: + $ref: "#/components/schemas/IncidentAutomationDataResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Upsert incident automation data + 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/{incident_id}/cases/source-link: + get: + description: Get the source link for a case associated with an incident. + operationId: GetIncidentCaseSourceLink + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + entity_id: "12345" + is_page: false + relationship: source + id: "12345" + type: case_link + schema: + $ref: "#/components/schemas/IncidentCaseLinkResponse" + description: OK + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get incident case source link + 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/{incident_id}/communications: + get: + description: List all communications for a given incident. + operationId: ListIncidentCommunications + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentCommunicationFilterTypeParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentCommunicationsResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident communications + 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 communication for a given incident. + operationId: CreateIncidentCommunication + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + communication_type: manual + content: + handles: + - handle: "@slack-incidents-channel" + message: Incident update for INC-123. + type: communication + schema: + $ref: "#/components/schemas/IncidentCommunicationRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + communication_type: manual + content: + handles: + - handle: "@slack-incidents-channel" + message: Incident update for INC-123. + created: "2024-01-01T00:00:00.000Z" + incident_id: 00000000-0000-0000-0000-000000000000 + modified: "2024-01-01T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000000 + type: communication + schema: + $ref: "#/components/schemas/IncidentCommunicationResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident communication + 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/{incident_id}/communications/{communication_id}: + delete: + description: Delete a communication for a given incident. + operationId: DeleteIncidentCommunication + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentCommunicationIdParameter" + responses: + "204": + description: No Content + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident communication + 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: Get the details of a communication for a given incident. + operationId: GetIncidentCommunication + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentCommunicationIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + communication_type: manual + content: + handles: + - handle: "@slack-incidents-channel" + message: Incident update for INC-123. + created: "2024-01-01T00:00:00.000Z" + incident_id: 00000000-0000-0000-0000-000000000000 + modified: "2024-01-01T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000000 + type: communication + schema: + $ref: "#/components/schemas/IncidentCommunicationResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get an incident communication + 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 a communication for a given incident. + operationId: UpdateIncidentCommunication + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentCommunicationIdParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + communication_type: manual + content: + handles: + - handle: "@slack-incidents-channel" + message: Updated incident communication for INC-123. + type: communication + schema: + $ref: "#/components/schemas/IncidentCommunicationRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + communication_type: manual + content: + handles: + - handle: "@slack-incidents-channel" + message: Updated incident communication for INC-123. + created: "2024-01-01T00:00:00.000Z" + incident_id: 00000000-0000-0000-0000-000000000000 + modified: "2024-01-01T00:00:00.000Z" + id: 00000000-0000-0000-0000-000000000000 + type: communication + schema: + $ref: "#/components/schemas/IncidentCommunicationResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident communication + 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/{incident_id}/google-meet/space: + post: + description: Create a Google Meet space for a given incident. + operationId: CreateIncidentGoogleMeetSpace + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + integration_type: google_meet + modified: "2024-01-01T00:00:00.000Z" + spaces: [] + status: active + id: 00000000-0000-0000-0000-000000000000 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentGoogleMeetIntegrationResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident Google Meet space + 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/{incident_id}/impacts: get: description: Get all impacts for an incident. @@ -106604,6 +111405,198 @@ paths: operator: OR permissions: - incident_write + /api/v2/incidents/{incident_id}/jira-issues: + post: + description: Create a Jira issue linked to a given incident. + operationId: CreateIncidentJiraIssue + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: "123456" + issue_type_id: "10001" + project_id: "10000" + type: incident_jira_issues + schema: + $ref: "#/components/schemas/IncidentJiraIssueRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + integration_type: jira + modified: "2024-01-01T00:00:00.000Z" + status: active + id: 00000000-0000-0000-0000-000000000000 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentJiraIssueIntegrationResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident Jira issue + 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/{incident_id}/microsoft-teams-integration/online-meeting: + post: + description: Create a Microsoft Teams online meeting for a given incident. + operationId: CreateIncidentMSTeamsOnlineMeeting + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + integration_type: ms_teams + modified: "2024-01-01T00:00:00.000Z" + status: active + teams: [] + id: 00000000-0000-0000-0000-000000000000 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentMSTeamsIntegrationResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident Microsoft Teams online meeting + 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/{incident_id}/pages/source-link: + get: + description: Get the source link for a page associated with an incident. + operationId: GetIncidentPageSourceLink + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + entity_id: "12345" + is_page: true + relationship: source + id: "12345" + type: case_link + schema: + $ref: "#/components/schemas/IncidentCaseLinkResponse" + description: OK + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get incident page source link + 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/{incident_id}/relationships/integrations: get: description: Get all integration metadata for an incident. @@ -107142,6 +112135,871 @@ 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}/render-template: + post: + description: Render a template with incident-specific data. + operationId: RenderIncidentTemplate + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + content: "Incident INC-123 is SEV-1." + type: rendered_templates + schema: + $ref: "#/components/schemas/IncidentRenderTemplateRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + rendered_content: "Incident Server Down is SEV-1." + id: 00000000-0000-0000-0000-000000000000 + type: rendered_templates + schema: + $ref: "#/components/schemas/IncidentRenderedTemplateResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Render an incident template + 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/{incident_id}/rule-execution-states: + get: + description: List all rule execution states for a given incident. + operationId: ListIncidentRuleExecutionStates + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentRuleExecutionStatesResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident rule execution states + 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/{incident_id}/rule-execution-states/batch: + post: + description: Batch create rule execution states for a given incident. + operationId: BatchCreateIncidentRuleExecutionStates + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + rules: + - rule_uuid: 00000000-0000-0000-0000-000000000000 + type: incident_rule_execution_states + schema: + $ref: "#/components/schemas/IncidentBatchCreateRuleExecutionStatesRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentRuleExecutionStatesResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Batch create incident rule execution states + 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/). + put: + description: Batch update rule execution states for a given incident. + operationId: BatchUpdateIncidentRuleExecutionStates + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + rules: + - last_executed_at: "2024-01-01T00:00:00.000Z" + rule_uuid: 00000000-0000-0000-0000-000000000000 + type: incident_rule_execution_states + schema: + $ref: "#/components/schemas/IncidentBatchUpdateRuleExecutionStatesRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentRuleExecutionStatesResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Batch update incident rule execution states + 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/{incident_id}/statuspages-suggestion: + get: + description: Get an AI-generated suggestion for a status page notice for a given incident. + operationId: GetIncidentStatusPagesSuggestion + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + status: investigating + update_text: We are investigating reports of elevated error rates. + id: Service Degradation Detected + type: incident_statuspages_suggestion + schema: + $ref: "#/components/schemas/IncidentStatusPagesSuggestionResponse" + description: OK + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get incident status pages suggestion + 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/{incident_id}/statuspages/{statuspage_id}/notices: + post: + description: Publish a status page notice for a given incident. + operationId: CreateIncidentStatusPageNotice + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentStatusPageIdParameter" + - $ref: "#/components/parameters/IncidentStatusPageNotifySubscribersParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + components: + component_1: degraded_performance + message: We are investigating reports of elevated error rates. + status: investigating + title: Service degradation detected. + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentStatusPageNoticeCreateRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + integration_type: statuspage + modified: "2024-01-01T00:00:00.000Z" + status: active + id: 00000000-0000-0000-0000-000000000000 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentStatusPageNoticeIntegrationResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Publish an incident status page notice + 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/{incident_id}/statuspages/{statuspage_id}/notices/{notice_id}: + patch: + description: Update a status page notice for a given incident. + operationId: UpdateIncidentStatusPageNotice + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentStatusPageIdParameter" + - $ref: "#/components/parameters/IncidentStatusPageNoticeIdParameter" + - $ref: "#/components/parameters/IncidentStatusPageNotifySubscribersParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + message: The issue has been resolved. + status: resolved + title: Service degradation resolved. + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentStatusPageNoticeUpdateRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + integration_type: statuspage + modified: "2024-01-01T00:00:00.000Z" + status: active + id: 00000000-0000-0000-0000-000000000000 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentStatusPageNoticeIntegrationResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident status page notice + 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/{incident_id}/timeline: + get: + description: Get the timeline for a given incident. + operationId: ListIncidentTimelineEntries + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentTimelineEntriesResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident timeline entries + 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 timeline entry for a given incident. + operationId: CreateIncidentTimelineEntry + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cell_type: markdown + content: + message: Investigating the issue. + type: incident_timeline_cells + schema: + $ref: "#/components/schemas/IncidentTimelineEntryRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + cell_type: markdown + content: + message: Investigating the issue. + created: "2024-01-01T00:00:00.000Z" + display_time: "2024-01-01T00:00:00.000Z" + important: false + incident_id: "12345" + modified: "2024-01-01T00:00:00.000Z" + source: api + id: 00000000-0000-0000-0000-000000000000 + type: incident_timeline_cells + schema: + $ref: "#/components/schemas/IncidentTimelineEntryResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident timeline entry + 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/{incident_id}/timeline/{timeline_entry_id}: + delete: + description: Delete a timeline entry for a given incident. + operationId: DeleteIncidentTimelineEntry + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentTimelineEntryIdParameter" + responses: + "204": + description: No Content + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident timeline entry + 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 a timeline entry for a given incident. + operationId: UpdateIncidentTimelineEntry + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentTimelineEntryIdParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cell_type: markdown + content: + message: Updated investigation notes. + type: incident_timeline_cells + schema: + $ref: "#/components/schemas/IncidentTimelineEntryRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + cell_type: markdown + content: + message: Updated investigation notes. + created: "2024-01-01T00:00:00.000Z" + display_time: "2024-01-01T00:00:00.000Z" + important: false + incident_id: "12345" + modified: "2024-01-01T00:00:00.000Z" + source: api + id: 00000000-0000-0000-0000-000000000000 + type: incident_timeline_cells + schema: + $ref: "#/components/schemas/IncidentTimelineEntryResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident timeline entry + 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/{incident_id}/timeline/{timeline_entry_id}/thread: + get: + description: Get the thread entries for a given timeline entry. + operationId: GetIncidentTimelineEntryThread + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + - $ref: "#/components/parameters/IncidentTimelineEntryIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentTimelineThreadResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get incident timeline entry thread + 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/{incident_id}/zoom/meeting: + post: + description: Create a Zoom meeting for a given incident. + operationId: CreateIncidentZoomMeeting + parameters: + - $ref: "#/components/parameters/IncidentIDPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + topic: "Incident INC-123 War Room" + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentCreateZoomMeetingRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + created: "2024-01-01T00:00:00.000Z" + integration_type: zoom + meetings: [] + modified: "2024-01-01T00:00:00.000Z" + status: active + id: 00000000-0000-0000-0000-000000000000 + type: incident_integrations + schema: + $ref: "#/components/schemas/IncidentZoomIntegrationResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident Zoom meeting + 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/integration/aws/accounts: get: description: Get a list of AWS Account Integration Configs. @@ -139061,6 +144919,48 @@ paths: operator: AND permissions: - status_pages_settings_read + /api/v2/statuspages/subscription/preferences: + get: + description: Get the subscription preferences for the current user. + operationId: GetStatuspageSubscriptionPreferences + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + subscribed: true + id: "12345" + type: statuspage_subscription_preferences + schema: + $ref: "#/components/schemas/IncidentStatuspagePreferencesResponse" + description: OK + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get status page subscription preferences + 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/statuspages/{page_id}: delete: description: Deletes a status page by its ID. @@ -140168,6 +146068,103 @@ paths: - status_pages_settings_write - status_pages_public_page_publish - status_pages_internal_page_publish + /api/v2/statuspages/{page_id}/subscriptions/email: + get: + description: List all email subscriptions for a status page. + operationId: ListStatuspageEmailSubscriptions + parameters: + - $ref: "#/components/parameters/IncidentStatuspagePageIdPathParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionsResponse" + description: OK + "401": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Unauthorized + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Forbidden + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Not Found + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List status page email subscriptions + 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 an email subscription for a status page. + operationId: CreateStatuspageEmailSubscription + parameters: + - $ref: "#/components/parameters/IncidentStatuspagePageIdPathParameter" + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + email: user@example.com + type: statuspage_email_subscription + schema: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + confirmed: true + created_at: "2024-01-01T00:00:00.000Z" + email: user@example.com + id: "12345" + type: statuspage_email_subscription + schema: + $ref: "#/components/schemas/IncidentStatuspageSubscriptionResponse" + description: Created + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/JSONAPIErrorResponse" + description: Bad Request + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Create a status page email subscription + 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/statuspages/{page_id}/unpublish: post: description: Unpublishes a status page. For pages of type `public`, removes the status page from the public internet and requires the `status_pages_public_page_publish` permission. For pages of type `internal`, removes the `status-pages/$domain_prefix/view` route from the Datadog organization and requires the `status_pages_internal_page_publish` permission. The `status_pages_settings_write` permission is temporarily honored as we migrate unpublishing functionality from the update status page endpoint to the unpublish status page endpoint. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index e6cb85d7d6..742ae49be7 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -13990,6 +13990,202 @@ datadog\_api\_client.v2.model.incident\_attachment\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.incident\_automation\_data\_attributes\_request module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_automation_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_automation\_data\_attributes\_response module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_automation_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_automation\_data\_data\_request module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_automation_data_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_automation\_data\_data\_response module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_automation_data_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_automation\_data\_request module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_automation_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_automation\_data\_response module +------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_automation_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_automation\_data\_type module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_automation_data_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_batch\_create\_rule\_execution\_states\_data module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_batch_create_rule_execution_states_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_batch\_create\_rule\_execution\_states\_data\_attributes module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_batch_create_rule_execution_states_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_batch\_create\_rule\_execution\_states\_request module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_batch_create_rule_execution_states_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_batch\_update\_rule\_execution\_states\_data module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_batch_update_rule_execution_states_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_batch\_update\_rule\_execution\_states\_data\_attributes module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_batch_update_rule_execution_states_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_batch\_update\_rule\_execution\_states\_request module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_batch_update_rule_execution_states_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_case\_link\_data module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_case_link_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_case\_link\_data\_attributes module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_case_link_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_case\_link\_response module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_case_link_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_case\_link\_type module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_case_link_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_content module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communication_content + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_content\_handle module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communication_content_handle + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_data\_attributes\_request module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communication_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_data\_attributes\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communication_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_data\_request module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communication_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_data\_response module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communication_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_kind module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_communication_kind + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_request module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communication_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_response module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communication_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communication\_type module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_communication_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_communications\_response module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_communications_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.incident\_create\_attributes module ----------------------------------------------------------------- @@ -14018,6 +14214,27 @@ datadog\_api\_client.v2.model.incident\_create\_request module :members: :show-inheritance: +datadog\_api\_client.v2.model.incident\_create\_zoom\_meeting\_data module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_create_zoom_meeting_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_create\_zoom\_meeting\_data\_attributes module +-------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_create_zoom_meeting_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_create\_zoom\_meeting\_request module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_create_zoom_meeting_request + :members: + :show-inheritance: + datadog\_api\_client.v2.model.incident\_field\_attributes module ---------------------------------------------------------------- @@ -14053,6 +14270,41 @@ datadog\_api\_client.v2.model.incident\_field\_attributes\_value\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.incident\_google\_meet\_integration\_data\_attributes module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_google_meet_integration_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_google\_meet\_integration\_data\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_google_meet_integration_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_google\_meet\_integration\_response module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_google_meet_integration_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_google\_meet\_integration\_type module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_google_meet_integration_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_google\_meet\_space module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_google_meet_space + :members: + :show-inheritance: + datadog\_api\_client.v2.model.incident\_handle\_attributes\_fields module ------------------------------------------------------------------------- @@ -14417,136 +14669,360 @@ datadog\_api\_client.v2.model.incident\_integration\_relationships module :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_non\_datadog\_creator module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_issue\_data\_attributes\_request module +------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_non_datadog_creator +.. automodule:: datadog_api_client.v2.model.incident_jira_issue_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_handle module -------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_issue\_data\_request module +------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_handle +.. automodule:: datadog_api_client.v2.model.incident_jira_issue_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_jira\_issue\_integration\_data\_attributes module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule +.. automodule:: datadog_api_client.v2.model.incident_jira_issue_integration_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_array module ------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_issue\_integration\_data\_response module +--------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array +.. automodule:: datadog_api_client.v2.model.incident_jira_issue_integration_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_array\_meta module ------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_issue\_integration\_response module +--------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array_meta +.. automodule:: datadog_api_client.v2.model.incident_jira_issue_integration_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_array\_meta\_page module ------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_issue\_integration\_type module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_array_meta_page +.. automodule:: datadog_api_client.v2.model.incident_jira_issue_integration_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_attributes module ------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_jira\_issue\_request module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_attributes +.. automodule:: datadog_api_client.v2.model.incident_jira_issue_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_attributes\_visibility module ------------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_jira\_issue\_type module +---------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_attributes_visibility +.. automodule:: datadog_api_client.v2.model.incident_jira_issue_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_conditions\_items module ------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_data\_attributes\_request module +---------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_conditions_items +.. automodule:: datadog_api_client.v2.model.incident_jira_template_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_attributes module -------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_data\_attributes\_response module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_attributes +.. automodule:: datadog_api_client.v2.model.incident_jira_template_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_attributes\_visibility module -------------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_data\_request module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_attributes_visibility +.. automodule:: datadog_api_client.v2.model.incident_jira_template_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_data module -------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_data\_response module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_data +.. automodule:: datadog_api_client.v2.model.incident_jira_template_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_create\_data\_relationships module ----------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_field\_configuration module +----------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_create_data_relationships +.. automodule:: datadog_api_client.v2.model.incident_jira_template_field_configuration :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_included\_items module ----------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_incident\_type\_relationship module +------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_included_items +.. automodule:: datadog_api_client.v2.model.incident_jira_template_incident_type_relationship :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_relationships module --------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_incident\_type\_relationship\_data module +------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_relationships +.. automodule:: datadog_api_client.v2.model.incident_jira_template_incident_type_relationship_data :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_response\_data module ---------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_relationships module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_response_data +.. automodule:: datadog_api_client.v2.model.incident_jira_template_relationships :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_type module ------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_jira\_template\_request module +---------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_type +.. automodule:: datadog_api_client.v2.model.incident_jira_template_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_rule\_update\_data module -------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_response module +----------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_rule_update_data +.. automodule:: datadog_api_client.v2.model.incident_jira_template_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template module ---------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_jira\_template\_type module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template +.. automodule:: datadog_api_client.v2.model.incident_jira_template_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_jira\_templates\_response module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_jira_templates_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_microsoft\_teams\_configuration\_data\_attributes\_request module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_microsoft\_teams\_configuration\_data\_attributes\_response module +---------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_microsoft\_teams\_configuration\_data\_request module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_microsoft\_teams\_configuration\_data\_response module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_microsoft\_teams\_configuration\_request module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_microsoft_teams_configuration_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_microsoft\_teams\_configuration\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_microsoft_teams_configuration_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_microsoft\_teams\_configuration\_type module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_microsoft_teams_configuration_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_microsoft\_teams\_integration\_type module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_microsoft_teams_integration_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_ms\_teams\_channel module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_ms_teams_channel + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_ms\_teams\_integration\_data\_attributes module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_ms_teams_integration_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_ms\_teams\_integration\_data\_response module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_ms_teams_integration_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_ms\_teams\_integration\_response module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_ms_teams_integration_response + :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: @@ -14620,332 +15096,969 @@ datadog\_api\_client.v2.model.incident\_notification\_template\_relationships mo :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_response\_data module -------------------------------------------------------------------------------------- +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\_pagerduty\_incident\_data\_response module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_pagerduty_incident_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_pagerduty\_related\_incidents\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_pagerduty_related_incidents_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_pagerduty\_service\_data module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_pagerduty_service_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_pagerduty\_service\_data\_attributes module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_pagerduty_service_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_pagerduty\_service\_type module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_pagerduty_service_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_pagerduty\_services\_response module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_pagerduty_services_response + :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\_render\_template\_data\_attributes\_request module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_render_template_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_render\_template\_data\_request module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_render_template_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_render\_template\_request module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_render_template_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rendered\_template\_data module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rendered_template_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rendered\_template\_data\_attributes module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rendered_template_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rendered\_template\_response module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rendered_template_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rendered\_template\_type module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rendered_template_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_reserved\_role\_data\_attributes\_response module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_reserved_role_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_reserved\_role\_data\_response module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_reserved_role_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_reserved\_role\_policy module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_reserved_role_policy + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_reserved\_role\_response module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_reserved_role_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_reserved\_role\_type module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_reserved_role_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_reserved\_roles\_response module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_reserved_roles_response + :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\_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\_response\_meta module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_response_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_response\_meta\_pagination module +------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_response_meta_pagination + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_response\_relationships module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_response_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_data\_attributes\_request module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_data\_attributes\_response module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_data\_request module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_data\_response module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_relationships\_request module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_relationships_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_relationships\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_relationships_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_request module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_responder\_relationship module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_responder_relationship + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_responder\_relationship\_data module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_responder_relationship_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_response module +------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_role\_relationship module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_role_relationship + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_role\_relationship\_data module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_role_relationship_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_role\_assignment\_type module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_role_assignment_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rule\_execution\_state\_data\_attributes\_response module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rule_execution_state_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rule\_execution\_state\_data\_response module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rule_execution_state_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rule\_execution\_state\_rule module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rule_execution_state_rule + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rule\_execution\_state\_type module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rule_execution_state_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_rule\_execution\_states\_response module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_rule_execution_states_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_incidents\_export\_request module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_incidents_export_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_incidents\_include\_type module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_incidents_include_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_incidents\_sort\_order module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_incidents_sort_order + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_attributes module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_data module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_facets\_data module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_facets_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_field\_facet\_data module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_field_facet_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_incidents\_data module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_incidents_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_meta module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_numeric\_facet\_data module +------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_numeric_facet_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_numeric\_facet\_data\_aggregates module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_numeric_facet_data_aggregates + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_property\_field\_facet\_data module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_property_field_facet_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_response\_user\_facet\_data module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_response_user_facet_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_results\_type module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_search_results_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_search\_sort\_order module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_search_sort_order + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_create\_attributes module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_create_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_create\_data module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_create_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_create\_request module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_create_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_included\_items module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_included_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_relationships module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_response module +---------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_response\_attributes module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_response_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_response\_data module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_response_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_type module +------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_service_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_update\_attributes module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_update_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_update\_data module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_update_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_service\_update\_request module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_service_update_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_services\_response module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_services_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_severity module +------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_severity + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_create\_data module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_create_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_create\_data\_attributes module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_create_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_create\_request module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_create_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_integration\_data\_attributes module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_integration_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_integration\_data\_response module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_integration_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_integration\_response module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_integration_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_integration\_type module +-------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_integration_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_update\_data module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_update_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_update\_data\_attributes module +--------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_notification_template_response_data +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_update_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_type module ---------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_status\_page\_notice\_update\_request module +------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_template_type +.. automodule:: datadog_api_client.v2.model.incident_status_page_notice_update_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_update\_attributes module ------------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_status\_pages\_suggestion\_data module +------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_template_update_attributes +.. automodule:: datadog_api_client.v2.model.incident_status_pages_suggestion_data :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_notification\_template\_update\_data module ------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_status\_pages\_suggestion\_data\_attributes module +------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_notification_template_update_data +.. automodule:: datadog_api_client.v2.model.incident_status_pages_suggestion_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_postmortem\_type module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_status\_pages\_suggestion\_response module +---------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_postmortem_type +.. automodule:: datadog_api_client.v2.model.incident_status_pages_suggestion_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_related\_object module --------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_status\_pages\_suggestion\_type module +------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_related_object +.. automodule:: datadog_api_client.v2.model.incident_status_pages_suggestion_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_relationship\_data module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_statuspage\_incident\_data\_attributes\_request module +---------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_relationship_data +.. automodule:: datadog_api_client.v2.model.incident_statuspage_incident_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_resource\_type module -------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_incident\_data\_attributes\_response module +----------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_resource_type +.. automodule:: datadog_api_client.v2.model.incident_statuspage_incident_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_responders\_type module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_incident\_data\_request module +---------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_responders_type +.. automodule:: datadog_api_client.v2.model.incident_statuspage_incident_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response module -------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_incident\_data\_response module +----------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response +.. automodule:: datadog_api_client.v2.model.incident_statuspage_incident_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_attributes module -------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_incident\_entry module +-------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_attributes +.. automodule:: datadog_api_client.v2.model.incident_statuspage_incident_entry :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_data module -------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_incident\_request module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_data +.. automodule:: datadog_api_client.v2.model.incident_statuspage_incident_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_included\_item module ------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_statuspage\_incident\_response module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_included_item +.. automodule:: datadog_api_client.v2.model.incident_statuspage_incident_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_meta module -------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_incident\_type module +------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_meta +.. automodule:: datadog_api_client.v2.model.incident_statuspage_incident_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_meta\_pagination module -------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_preferences\_data module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_meta_pagination +.. automodule:: datadog_api_client.v2.model.incident_statuspage_preferences_data :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_response\_relationships module ----------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_preferences\_data\_attributes module +---------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_response_relationships +.. automodule:: datadog_api_client.v2.model.incident_statuspage_preferences_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response module ---------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_preferences\_response module +-------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response +.. automodule:: datadog_api_client.v2.model.incident_statuspage_preferences_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_attributes module ---------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_preferences\_type module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_attributes +.. automodule:: datadog_api_client.v2.model.incident_statuspage_preferences_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_data module ---------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_subscription\_data\_attributes\_request module +-------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_data +.. automodule:: datadog_api_client.v2.model.incident_statuspage_subscription_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_facets\_data module ------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_statuspage\_subscription\_data\_attributes\_response module +--------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_facets_data +.. automodule:: datadog_api_client.v2.model.incident_statuspage_subscription_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_field\_facet\_data module ------------------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_statuspage\_subscription\_data\_request module +-------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_field_facet_data +.. automodule:: datadog_api_client.v2.model.incident_statuspage_subscription_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_incidents\_data module --------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_subscription\_data\_response module +--------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_incidents_data +.. automodule:: datadog_api_client.v2.model.incident_statuspage_subscription_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_meta module ---------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_subscription\_request module +-------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_meta +.. automodule:: datadog_api_client.v2.model.incident_statuspage_subscription_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_numeric\_facet\_data module -------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_subscription\_response module +--------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_numeric_facet_data +.. automodule:: datadog_api_client.v2.model.incident_statuspage_subscription_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_numeric\_facet\_data\_aggregates module -------------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_subscription\_type module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_numeric_facet_data_aggregates +.. automodule:: datadog_api_client.v2.model.incident_statuspage_subscription_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_property\_field\_facet\_data module ---------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_statuspage\_subscriptions\_response module +---------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_property_field_facet_data +.. automodule:: datadog_api_client.v2.model.incident_statuspage_subscriptions_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_response\_user\_facet\_data module ----------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_template\_variable\_data module +----------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_response_user_facet_data +.. automodule:: datadog_api_client.v2.model.incident_template_variable_data :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_results\_type module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_template\_variable\_data\_attributes module +----------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_results_type +.. automodule:: datadog_api_client.v2.model.incident_template_variable_data_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_search\_sort\_order module ------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_template\_variable\_type module +----------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_search_sort_order +.. automodule:: datadog_api_client.v2.model.incident_template_variable_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_create\_attributes module --------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_template\_variables\_response module +---------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_create_attributes +.. automodule:: datadog_api_client.v2.model.incident_template_variables_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_create\_data module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_cell\_create\_attributes module +--------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_create_data +.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_create_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_create\_request module ------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_timeline\_cell\_markdown\_content\_type module +-------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_create_request +.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_markdown_content_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_included\_items module ------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_timeline\_cell\_markdown\_create\_attributes module +------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_included_items +.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_markdown_create_attributes :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_relationships module ---------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_cell\_markdown\_create\_attributes\_content module +---------------------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_relationships +.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_markdown_create_attributes_content :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_response module ----------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_cell\_source module +--------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_response +.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_source :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_response\_attributes module ----------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_cell\_type module +------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_response_attributes +.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_response\_data module ----------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_entries\_response module +-------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_response_data +.. automodule:: datadog_api_client.v2.model.incident_timeline_entries_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_type module ------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_entry\_content module +----------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_type +.. automodule:: datadog_api_client.v2.model.incident_timeline_entry_content :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_update\_attributes module --------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_entry\_data\_attributes\_request module +----------------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_update_attributes +.. automodule:: datadog_api_client.v2.model.incident_timeline_entry_data_attributes_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_update\_data module --------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_entry\_data\_attributes\_response module +------------------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_service_update_data +.. automodule:: datadog_api_client.v2.model.incident_timeline_entry_data_attributes_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_service\_update\_request module ------------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_timeline\_entry\_data\_request module +----------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_service_update_request +.. automodule:: datadog_api_client.v2.model.incident_timeline_entry_data_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_services\_response module ------------------------------------------------------------------ +datadog\_api\_client.v2.model.incident\_timeline\_entry\_data\_response module +------------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_services_response +.. automodule:: datadog_api_client.v2.model.incident_timeline_entry_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_severity module -------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_entry\_request module +----------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_severity +.. automodule:: datadog_api_client.v2.model.incident_timeline_entry_request :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_timeline\_cell\_create\_attributes module ---------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_entry\_response module +------------------------------------------------------------------------ -.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_create_attributes +.. automodule:: datadog_api_client.v2.model.incident_timeline_entry_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_timeline\_cell\_markdown\_content\_type module --------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_entry\_type module +-------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_markdown_content_type +.. automodule:: datadog_api_client.v2.model.incident_timeline_entry_type :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_timeline\_cell\_markdown\_create\_attributes module -------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_thread\_data\_response module +------------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_markdown_create_attributes +.. automodule:: datadog_api_client.v2.model.incident_timeline_thread_data_response :members: :show-inheritance: -datadog\_api\_client.v2.model.incident\_timeline\_cell\_markdown\_create\_attributes\_content module ----------------------------------------------------------------------------------------------------- +datadog\_api\_client.v2.model.incident\_timeline\_thread\_response module +------------------------------------------------------------------------- -.. automodule:: datadog_api_client.v2.model.incident_timeline_cell_markdown_create_attributes_content +.. automodule:: datadog_api_client.v2.model.incident_timeline_thread_response :members: :show-inheritance: @@ -15327,6 +16440,90 @@ datadog\_api\_client.v2.model.incident\_user\_defined\_field\_valid\_value modul :members: :show-inheritance: +datadog\_api\_client.v2.model.incident\_zoom\_configuration\_data\_attributes\_request module +--------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_configuration_data_attributes_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_configuration\_data\_attributes\_response module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_configuration_data_attributes_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_configuration\_data\_request module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_configuration_data_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_configuration\_data\_response module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_configuration_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_configuration\_request module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_configuration_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_configuration\_response module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_configuration_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_configuration\_type module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_zoom_configuration_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_integration\_data\_attributes module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_integration_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_integration\_data\_response module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_integration_data_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_integration\_response module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_integration_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_integration\_type module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.incident_zoom_integration_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.incident\_zoom\_meeting module +------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.incident_zoom_meeting + :members: + :show-inheritance: + datadog\_api\_client.v2.model.incidents\_response module -------------------------------------------------------- diff --git a/examples/v2/incidents/BatchCreateIncidentRuleExecutionStates.py b/examples/v2/incidents/BatchCreateIncidentRuleExecutionStates.py new file mode 100644 index 0000000000..a01b68d6f2 --- /dev/null +++ b/examples/v2/incidents/BatchCreateIncidentRuleExecutionStates.py @@ -0,0 +1,42 @@ +""" +Batch create incident rule execution states returns "Created" 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_batch_create_rule_execution_states_data import ( + IncidentBatchCreateRuleExecutionStatesData, +) +from datadog_api_client.v2.model.incident_batch_create_rule_execution_states_data_attributes import ( + IncidentBatchCreateRuleExecutionStatesDataAttributes, +) +from datadog_api_client.v2.model.incident_batch_create_rule_execution_states_request import ( + IncidentBatchCreateRuleExecutionStatesRequest, +) +from datadog_api_client.v2.model.incident_rule_execution_state_rule import IncidentRuleExecutionStateRule +from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType +from datetime import datetime +from dateutil.tz import tzutc +from uuid import UUID + +body = IncidentBatchCreateRuleExecutionStatesRequest( + data=IncidentBatchCreateRuleExecutionStatesData( + attributes=IncidentBatchCreateRuleExecutionStatesDataAttributes( + rules=[ + IncidentRuleExecutionStateRule( + last_executed_at=datetime(2024, 1, 1, 0, 0, tzinfo=tzutc()), + rule_uuid=UUID("00000000-0000-0000-0000-000000000000"), + ), + ], + ), + type=IncidentRuleExecutionStateType.INCIDENT_RULE_EXECUTION_STATES, + ), +) + +configuration = Configuration() +configuration.unstable_operations["batch_create_incident_rule_execution_states"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.batch_create_incident_rule_execution_states(incident_id="incident_id", body=body) + + print(response) diff --git a/examples/v2/incidents/BatchUpdateIncidentRuleExecutionStates.py b/examples/v2/incidents/BatchUpdateIncidentRuleExecutionStates.py new file mode 100644 index 0000000000..763d71733b --- /dev/null +++ b/examples/v2/incidents/BatchUpdateIncidentRuleExecutionStates.py @@ -0,0 +1,42 @@ +""" +Batch update incident rule execution states 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_batch_update_rule_execution_states_data import ( + IncidentBatchUpdateRuleExecutionStatesData, +) +from datadog_api_client.v2.model.incident_batch_update_rule_execution_states_data_attributes import ( + IncidentBatchUpdateRuleExecutionStatesDataAttributes, +) +from datadog_api_client.v2.model.incident_batch_update_rule_execution_states_request import ( + IncidentBatchUpdateRuleExecutionStatesRequest, +) +from datadog_api_client.v2.model.incident_rule_execution_state_rule import IncidentRuleExecutionStateRule +from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType +from datetime import datetime +from dateutil.tz import tzutc +from uuid import UUID + +body = IncidentBatchUpdateRuleExecutionStatesRequest( + data=IncidentBatchUpdateRuleExecutionStatesData( + attributes=IncidentBatchUpdateRuleExecutionStatesDataAttributes( + rules=[ + IncidentRuleExecutionStateRule( + last_executed_at=datetime(2024, 1, 1, 0, 0, tzinfo=tzutc()), + rule_uuid=UUID("00000000-0000-0000-0000-000000000000"), + ), + ], + ), + type=IncidentRuleExecutionStateType.INCIDENT_RULE_EXECUTION_STATES, + ), +) + +configuration = Configuration() +configuration.unstable_operations["batch_update_incident_rule_execution_states"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.batch_update_incident_rule_execution_states(incident_id="incident_id", body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentCommunication.py b/examples/v2/incidents/CreateIncidentCommunication.py new file mode 100644 index 0000000000..dd66eb561f --- /dev/null +++ b/examples/v2/incidents/CreateIncidentCommunication.py @@ -0,0 +1,45 @@ +""" +Create an incident communication returns "Created" 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_communication_content import IncidentCommunicationContent +from datadog_api_client.v2.model.incident_communication_content_handle import IncidentCommunicationContentHandle +from datadog_api_client.v2.model.incident_communication_data_attributes_request import ( + IncidentCommunicationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_communication_data_request import IncidentCommunicationDataRequest +from datadog_api_client.v2.model.incident_communication_kind import IncidentCommunicationKind +from datadog_api_client.v2.model.incident_communication_request import IncidentCommunicationRequest +from datadog_api_client.v2.model.incident_communication_type import IncidentCommunicationType + +body = IncidentCommunicationRequest( + data=IncidentCommunicationDataRequest( + attributes=IncidentCommunicationDataAttributesRequest( + communication_type=IncidentCommunicationKind.MANUAL, + content=IncidentCommunicationContent( + grouping_key="update-1", + handles=[ + IncidentCommunicationContentHandle( + created_at="2024-01-01T00:00:00.000Z", + display_name="#incidents-channel", + handle="@slack-incidents-channel", + ), + ], + message="Incident update for INC-123.", + status=0, + subject="Incident INC-123: Update", + ), + ), + type=IncidentCommunicationType.COMMUNICATION, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_communication"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_communication(incident_id="incident_id", body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentGoogleMeetSpace.py b/examples/v2/incidents/CreateIncidentGoogleMeetSpace.py new file mode 100644 index 0000000000..22d1c73095 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentGoogleMeetSpace.py @@ -0,0 +1,16 @@ +""" +Create an incident Google Meet space returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["create_incident_google_meet_space"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_google_meet_space( + incident_id="incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentJiraIssue.py b/examples/v2/incidents/CreateIncidentJiraIssue.py new file mode 100644 index 0000000000..1fe9c92c8c --- /dev/null +++ b/examples/v2/incidents/CreateIncidentJiraIssue.py @@ -0,0 +1,33 @@ +""" +Create an incident Jira issue returns "Created" 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_jira_issue_data_attributes_request import ( + IncidentJiraIssueDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_jira_issue_data_request import IncidentJiraIssueDataRequest +from datadog_api_client.v2.model.incident_jira_issue_request import IncidentJiraIssueRequest +from datadog_api_client.v2.model.incident_jira_issue_type import IncidentJiraIssueType +from uuid import UUID + +body = IncidentJiraIssueRequest( + data=IncidentJiraIssueDataRequest( + attributes=IncidentJiraIssueDataAttributesRequest( + account_id="123456", + issue_type_id="10001", + project_id="10000", + template_id=UUID("00000000-0000-0000-0000-000000000000"), + ), + type=IncidentJiraIssueType.INCIDENT_JIRA_ISSUES, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_jira_issue"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_jira_issue(incident_id="incident_id", body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentJiraTemplate.py b/examples/v2/incidents/CreateIncidentJiraTemplate.py new file mode 100644 index 0000000000..9b1f726fa4 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentJiraTemplate.py @@ -0,0 +1,63 @@ +""" +Create an incident Jira template returns "Created" 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_jira_template_data_attributes_request import ( + IncidentJiraTemplateDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_jira_template_data_request import IncidentJiraTemplateDataRequest +from datadog_api_client.v2.model.incident_jira_template_field_configuration import ( + IncidentJiraTemplateFieldConfiguration, +) +from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship import ( + IncidentJiraTemplateIncidentTypeRelationship, +) +from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship_data import ( + IncidentJiraTemplateIncidentTypeRelationshipData, +) +from datadog_api_client.v2.model.incident_jira_template_relationships import IncidentJiraTemplateRelationships +from datadog_api_client.v2.model.incident_jira_template_request import IncidentJiraTemplateRequest +from datadog_api_client.v2.model.incident_jira_template_type import IncidentJiraTemplateType +from uuid import UUID + +body = IncidentJiraTemplateRequest( + data=IncidentJiraTemplateDataRequest( + attributes=IncidentJiraTemplateDataAttributesRequest( + account_id="123456", + field_configurations=[ + IncidentJiraTemplateFieldConfiguration( + incident_field="title", + jira_field_key="summary", + jira_field_type="string", + sync_direction="bidirectional", + ), + ], + is_default=False, + issue_id="10001", + name="Default Jira Template", + project_id="10000", + project_key="INC", + sync_enabled=True, + type="jira", + ), + relationships=IncidentJiraTemplateRelationships( + incident_type=IncidentJiraTemplateIncidentTypeRelationship( + data=IncidentJiraTemplateIncidentTypeRelationshipData( + id=UUID("00000000-0000-0000-0000-000000000000"), + type="incident_types", + ), + ), + ), + type=IncidentJiraTemplateType.INCIDENTS_JIRA_TEMPLATES, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_jira_template"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_jira_template(body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentMSTeamsOnlineMeeting.py b/examples/v2/incidents/CreateIncidentMSTeamsOnlineMeeting.py new file mode 100644 index 0000000000..fd48dca1be --- /dev/null +++ b/examples/v2/incidents/CreateIncidentMSTeamsOnlineMeeting.py @@ -0,0 +1,16 @@ +""" +Create an incident Microsoft Teams online meeting returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["create_incident_ms_teams_online_meeting"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_ms_teams_online_meeting( + incident_id="incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentMicrosoftTeamsConfiguration.py b/examples/v2/incidents/CreateIncidentMicrosoftTeamsConfiguration.py new file mode 100644 index 0000000000..e834f89363 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentMicrosoftTeamsConfiguration.py @@ -0,0 +1,36 @@ +""" +Create an incident Microsoft Teams configuration returns "Created" 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_microsoft_teams_configuration_data_attributes_request import ( + IncidentMicrosoftTeamsConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_request import ( + IncidentMicrosoftTeamsConfigurationDataRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_request import ( + IncidentMicrosoftTeamsConfigurationRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_type import ( + IncidentMicrosoftTeamsConfigurationType, +) + +body = IncidentMicrosoftTeamsConfigurationRequest( + data=IncidentMicrosoftTeamsConfigurationDataRequest( + attributes=IncidentMicrosoftTeamsConfigurationDataAttributesRequest( + manual_meeting_creation=False, + post_meeting_summary=True, + ), + type=IncidentMicrosoftTeamsConfigurationType.MICROSOFT_TEAMS_CONFIGURATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_microsoft_teams_configuration"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_microsoft_teams_configuration(body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentRoleAssignment.py b/examples/v2/incidents/CreateIncidentRoleAssignment.py new file mode 100644 index 0000000000..94e32182d4 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentRoleAssignment.py @@ -0,0 +1,65 @@ +""" +Create an incident role assignment returns "Created" 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_role_assignment_data_attributes_request import ( + IncidentRoleAssignmentDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_role_assignment_data_request import IncidentRoleAssignmentDataRequest +from datadog_api_client.v2.model.incident_role_assignment_relationships_request import ( + IncidentRoleAssignmentRelationshipsRequest, +) +from datadog_api_client.v2.model.incident_role_assignment_request import IncidentRoleAssignmentRequest +from datadog_api_client.v2.model.incident_role_assignment_responder_relationship import ( + IncidentRoleAssignmentResponderRelationship, +) +from datadog_api_client.v2.model.incident_role_assignment_responder_relationship_data import ( + IncidentRoleAssignmentResponderRelationshipData, +) +from datadog_api_client.v2.model.incident_role_assignment_role_relationship import ( + IncidentRoleAssignmentRoleRelationship, +) +from datadog_api_client.v2.model.incident_role_assignment_role_relationship_data import ( + IncidentRoleAssignmentRoleRelationshipData, +) +from datadog_api_client.v2.model.incident_role_assignment_type import IncidentRoleAssignmentType +from uuid import UUID + +body = IncidentRoleAssignmentRequest( + data=IncidentRoleAssignmentDataRequest( + attributes=IncidentRoleAssignmentDataAttributesRequest( + role="commander", + ), + relationships=IncidentRoleAssignmentRelationshipsRequest( + reserved_role=IncidentRoleAssignmentRoleRelationship( + data=IncidentRoleAssignmentRoleRelationshipData( + id=UUID("00000000-0000-0000-0000-000000000000"), + type="incident_reserved_roles", + ), + ), + responder=IncidentRoleAssignmentResponderRelationship( + data=IncidentRoleAssignmentResponderRelationshipData( + id=UUID("00000000-0000-0000-0000-000000000000"), + type="users", + ), + ), + user_defined_role=IncidentRoleAssignmentRoleRelationship( + data=IncidentRoleAssignmentRoleRelationshipData( + id=UUID("00000000-0000-0000-0000-000000000000"), + type="incident_reserved_roles", + ), + ), + ), + type=IncidentRoleAssignmentType.INCIDENT_ROLE_ASSIGNMENTS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_role_assignment"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_role_assignment(body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentStatusPageNotice.py b/examples/v2/incidents/CreateIncidentStatusPageNotice.py new file mode 100644 index 0000000000..771e122375 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentStatusPageNotice.py @@ -0,0 +1,39 @@ +""" +Publish an incident status page notice 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_status_page_notice_create_data import IncidentStatusPageNoticeCreateData +from datadog_api_client.v2.model.incident_status_page_notice_create_data_attributes import ( + IncidentStatusPageNoticeCreateDataAttributes, +) +from datadog_api_client.v2.model.incident_status_page_notice_create_request import IncidentStatusPageNoticeCreateRequest +from datadog_api_client.v2.model.incident_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, +) +from uuid import UUID + +body = IncidentStatusPageNoticeCreateRequest( + data=IncidentStatusPageNoticeCreateData( + attributes=IncidentStatusPageNoticeCreateDataAttributes( + components=dict( + component_1="degraded_performance", + ), + message="We are investigating reports of elevated error rates.", + status="investigating", + title="Service degradation detected.", + ), + type=IncidentStatusPageNoticeIntegrationType.INCIDENT_INTEGRATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_status_page_notice"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_status_page_notice( + incident_id="incident_id", statuspage_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body + ) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentStatuspageIncident.py b/examples/v2/incidents/CreateIncidentStatuspageIncident.py new file mode 100644 index 0000000000..e336e2713b --- /dev/null +++ b/examples/v2/incidents/CreateIncidentStatuspageIncident.py @@ -0,0 +1,34 @@ +""" +Create an incident Statuspage incident 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_statuspage_incident_data_attributes_request import ( + IncidentStatuspageIncidentDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_statuspage_incident_data_request import IncidentStatuspageIncidentDataRequest +from datadog_api_client.v2.model.incident_statuspage_incident_request import IncidentStatuspageIncidentRequest +from datadog_api_client.v2.model.incident_statuspage_incident_type import IncidentStatuspageIncidentType + +body = IncidentStatuspageIncidentRequest( + data=IncidentStatuspageIncidentDataRequest( + attributes=IncidentStatuspageIncidentDataAttributesRequest( + body="We are investigating the issue.", + deliver_notifications=True, + impact="major", + name="Service Outage", + page_id="abc123", + status="investigating", + ), + type=IncidentStatuspageIncidentType.INCIDENT_INTEGRATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_statuspage_incident"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_statuspage_incident(incident_id="incident_id", body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentTimelineEntry.py b/examples/v2/incidents/CreateIncidentTimelineEntry.py new file mode 100644 index 0000000000..1345173858 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentTimelineEntry.py @@ -0,0 +1,38 @@ +""" +Create an incident timeline entry returns "Created" 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_timeline_cell_type import IncidentTimelineCellType +from datadog_api_client.v2.model.incident_timeline_entry_content import IncidentTimelineEntryContent +from datadog_api_client.v2.model.incident_timeline_entry_data_attributes_request import ( + IncidentTimelineEntryDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_timeline_entry_data_request import IncidentTimelineEntryDataRequest +from datadog_api_client.v2.model.incident_timeline_entry_request import IncidentTimelineEntryRequest +from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType +from datetime import datetime +from dateutil.tz import tzutc + +body = IncidentTimelineEntryRequest( + data=IncidentTimelineEntryDataRequest( + attributes=IncidentTimelineEntryDataAttributesRequest( + cell_type=IncidentTimelineCellType.MARKDOWN, + content=IncidentTimelineEntryContent( + message="Investigating the issue.", + ), + display_time=datetime(2024, 1, 1, 0, 0, tzinfo=tzutc()), + important=False, + ), + type=IncidentTimelineEntryType.INCIDENT_TIMELINE_CELLS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_timeline_entry"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_timeline_entry(incident_id="incident_id", body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentZoomConfiguration.py b/examples/v2/incidents/CreateIncidentZoomConfiguration.py new file mode 100644 index 0000000000..c830fd2496 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentZoomConfiguration.py @@ -0,0 +1,31 @@ +""" +Create an incident Zoom configuration returns "Created" 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_zoom_configuration_data_attributes_request import ( + IncidentZoomConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_zoom_configuration_data_request import IncidentZoomConfigurationDataRequest +from datadog_api_client.v2.model.incident_zoom_configuration_request import IncidentZoomConfigurationRequest +from datadog_api_client.v2.model.incident_zoom_configuration_type import IncidentZoomConfigurationType + +body = IncidentZoomConfigurationRequest( + data=IncidentZoomConfigurationDataRequest( + attributes=IncidentZoomConfigurationDataAttributesRequest( + manual_meeting_creation=False, + meeting_chat_timeline_sync=False, + post_meeting_summary=True, + ), + type=IncidentZoomConfigurationType.ZOOM_CONFIGURATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_zoom_configuration"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_zoom_configuration(body=body) + + print(response) diff --git a/examples/v2/incidents/CreateIncidentZoomMeeting.py b/examples/v2/incidents/CreateIncidentZoomMeeting.py new file mode 100644 index 0000000000..b1dd3a3727 --- /dev/null +++ b/examples/v2/incidents/CreateIncidentZoomMeeting.py @@ -0,0 +1,29 @@ +""" +Create an incident Zoom meeting returns "Created" 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_create_zoom_meeting_data import IncidentCreateZoomMeetingData +from datadog_api_client.v2.model.incident_create_zoom_meeting_data_attributes import ( + IncidentCreateZoomMeetingDataAttributes, +) +from datadog_api_client.v2.model.incident_create_zoom_meeting_request import IncidentCreateZoomMeetingRequest +from datadog_api_client.v2.model.incident_zoom_integration_type import IncidentZoomIntegrationType + +body = IncidentCreateZoomMeetingRequest( + data=IncidentCreateZoomMeetingData( + attributes=IncidentCreateZoomMeetingDataAttributes( + topic="Incident INC-123 War Room", + ), + type=IncidentZoomIntegrationType.INCIDENT_INTEGRATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_incident_zoom_meeting"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_incident_zoom_meeting(incident_id="incident_id", body=body) + + print(response) diff --git a/examples/v2/incidents/CreateStatuspageEmailSubscription.py b/examples/v2/incidents/CreateStatuspageEmailSubscription.py new file mode 100644 index 0000000000..07158cabe3 --- /dev/null +++ b/examples/v2/incidents/CreateStatuspageEmailSubscription.py @@ -0,0 +1,31 @@ +""" +Create a status page email subscription returns "Created" 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_statuspage_subscription_data_attributes_request import ( + IncidentStatuspageSubscriptionDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_statuspage_subscription_data_request import ( + IncidentStatuspageSubscriptionDataRequest, +) +from datadog_api_client.v2.model.incident_statuspage_subscription_request import IncidentStatuspageSubscriptionRequest +from datadog_api_client.v2.model.incident_statuspage_subscription_type import IncidentStatuspageSubscriptionType + +body = IncidentStatuspageSubscriptionRequest( + data=IncidentStatuspageSubscriptionDataRequest( + attributes=IncidentStatuspageSubscriptionDataAttributesRequest( + email="user@example.com", + ), + type=IncidentStatuspageSubscriptionType.STATUSPAGE_EMAIL_SUBSCRIPTION, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_statuspage_email_subscription"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.create_statuspage_email_subscription(page_id="page_id", body=body) + + print(response) diff --git a/examples/v2/incidents/DeleteIncidentCommunication.py b/examples/v2/incidents/DeleteIncidentCommunication.py new file mode 100644 index 0000000000..7e900234e9 --- /dev/null +++ b/examples/v2/incidents/DeleteIncidentCommunication.py @@ -0,0 +1,16 @@ +""" +Delete an incident communication returns "No Content" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["delete_incident_communication"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + api_instance.delete_incident_communication( + incident_id="incident_id", + communication_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) diff --git a/examples/v2/incidents/DeleteIncidentJiraTemplate.py b/examples/v2/incidents/DeleteIncidentJiraTemplate.py new file mode 100644 index 0000000000..f8e33950d2 --- /dev/null +++ b/examples/v2/incidents/DeleteIncidentJiraTemplate.py @@ -0,0 +1,15 @@ +""" +Delete an incident Jira template returns "No Content" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["delete_incident_jira_template"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + api_instance.delete_incident_jira_template( + template_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) diff --git a/examples/v2/incidents/DeleteIncidentRoleAssignment.py b/examples/v2/incidents/DeleteIncidentRoleAssignment.py new file mode 100644 index 0000000000..d54692c864 --- /dev/null +++ b/examples/v2/incidents/DeleteIncidentRoleAssignment.py @@ -0,0 +1,15 @@ +""" +Delete an incident role assignment returns "No Content" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["delete_incident_role_assignment"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + api_instance.delete_incident_role_assignment( + role_assignment_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) diff --git a/examples/v2/incidents/DeleteIncidentTimelineEntry.py b/examples/v2/incidents/DeleteIncidentTimelineEntry.py new file mode 100644 index 0000000000..cba2aa2011 --- /dev/null +++ b/examples/v2/incidents/DeleteIncidentTimelineEntry.py @@ -0,0 +1,16 @@ +""" +Delete an incident timeline entry returns "No Content" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["delete_incident_timeline_entry"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + api_instance.delete_incident_timeline_entry( + incident_id="incident_id", + timeline_entry_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) diff --git a/examples/v2/incidents/ExportIncidents.py b/examples/v2/incidents/ExportIncidents.py new file mode 100644 index 0000000000..618cba4de8 --- /dev/null +++ b/examples/v2/incidents/ExportIncidents.py @@ -0,0 +1,24 @@ +""" +Export incidents 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_search_incidents_export_request import IncidentSearchIncidentsExportRequest + +body = IncidentSearchIncidentsExportRequest( + fields=[ + "title", + "severity", + "state", + ], + query="state:active", +) + +configuration = Configuration() +configuration.unstable_operations["export_incidents"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.export_incidents(body=body) + + print(response.read()) diff --git a/examples/v2/incidents/GetIncidentAutomationData.py b/examples/v2/incidents/GetIncidentAutomationData.py new file mode 100644 index 0000000000..c0ccda1e7d --- /dev/null +++ b/examples/v2/incidents/GetIncidentAutomationData.py @@ -0,0 +1,17 @@ +""" +Get incident automation data returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["get_incident_automation_data"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_automation_data( + incident_id="incident_id", + key="key", + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentCaseSourceLink.py b/examples/v2/incidents/GetIncidentCaseSourceLink.py new file mode 100644 index 0000000000..296b4b92b9 --- /dev/null +++ b/examples/v2/incidents/GetIncidentCaseSourceLink.py @@ -0,0 +1,16 @@ +""" +Get incident case source link returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["get_incident_case_source_link"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_case_source_link( + incident_id="incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentCommunication.py b/examples/v2/incidents/GetIncidentCommunication.py new file mode 100644 index 0000000000..e926944324 --- /dev/null +++ b/examples/v2/incidents/GetIncidentCommunication.py @@ -0,0 +1,18 @@ +""" +Get an incident communication returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["get_incident_communication"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_communication( + incident_id="incident_id", + communication_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentJiraTemplate.py b/examples/v2/incidents/GetIncidentJiraTemplate.py new file mode 100644 index 0000000000..5c8d0f6e3e --- /dev/null +++ b/examples/v2/incidents/GetIncidentJiraTemplate.py @@ -0,0 +1,17 @@ +""" +Get an incident Jira template returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["get_incident_jira_template"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_jira_template( + template_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentPageSourceLink.py b/examples/v2/incidents/GetIncidentPageSourceLink.py new file mode 100644 index 0000000000..c8955516e8 --- /dev/null +++ b/examples/v2/incidents/GetIncidentPageSourceLink.py @@ -0,0 +1,16 @@ +""" +Get incident page source link returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["get_incident_page_source_link"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_page_source_link( + incident_id="incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentPagerdutyRelatedIncidents.py b/examples/v2/incidents/GetIncidentPagerdutyRelatedIncidents.py new file mode 100644 index 0000000000..4cd1cdbb86 --- /dev/null +++ b/examples/v2/incidents/GetIncidentPagerdutyRelatedIncidents.py @@ -0,0 +1,16 @@ +""" +Get PagerDuty related incidents returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["get_incident_pagerduty_related_incidents"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_pagerduty_related_incidents( + pagerduty_incident_id="pagerduty_incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentReservedRole.py b/examples/v2/incidents/GetIncidentReservedRole.py new file mode 100644 index 0000000000..8e15885580 --- /dev/null +++ b/examples/v2/incidents/GetIncidentReservedRole.py @@ -0,0 +1,17 @@ +""" +Get an incident reserved role returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["get_incident_reserved_role"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_reserved_role( + role_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentRoleAssignment.py b/examples/v2/incidents/GetIncidentRoleAssignment.py new file mode 100644 index 0000000000..a0ddf9b580 --- /dev/null +++ b/examples/v2/incidents/GetIncidentRoleAssignment.py @@ -0,0 +1,17 @@ +""" +Get an incident role assignment returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["get_incident_role_assignment"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_role_assignment( + role_assignment_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentStatusPagesSuggestion.py b/examples/v2/incidents/GetIncidentStatusPagesSuggestion.py new file mode 100644 index 0000000000..93bbabb98e --- /dev/null +++ b/examples/v2/incidents/GetIncidentStatusPagesSuggestion.py @@ -0,0 +1,16 @@ +""" +Get incident status pages suggestion returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["get_incident_status_pages_suggestion"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_status_pages_suggestion( + incident_id="incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/GetIncidentTimelineEntryThread.py b/examples/v2/incidents/GetIncidentTimelineEntryThread.py new file mode 100644 index 0000000000..4e6b44881f --- /dev/null +++ b/examples/v2/incidents/GetIncidentTimelineEntryThread.py @@ -0,0 +1,18 @@ +""" +Get incident timeline entry thread returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["get_incident_timeline_entry_thread"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_incident_timeline_entry_thread( + incident_id="incident_id", + timeline_entry_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) + + print(response) diff --git a/examples/v2/incidents/GetStatuspageSubscriptionPreferences.py b/examples/v2/incidents/GetStatuspageSubscriptionPreferences.py new file mode 100644 index 0000000000..cbd245c042 --- /dev/null +++ b/examples/v2/incidents/GetStatuspageSubscriptionPreferences.py @@ -0,0 +1,14 @@ +""" +Get status page subscription preferences returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["get_statuspage_subscription_preferences"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.get_statuspage_subscription_preferences() + + print(response) diff --git a/examples/v2/incidents/ListIncidentCommunications.py b/examples/v2/incidents/ListIncidentCommunications.py new file mode 100644 index 0000000000..f1fb4d7082 --- /dev/null +++ b/examples/v2/incidents/ListIncidentCommunications.py @@ -0,0 +1,16 @@ +""" +List incident communications returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["list_incident_communications"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.list_incident_communications( + incident_id="incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/ListIncidentJiraTemplates.py b/examples/v2/incidents/ListIncidentJiraTemplates.py new file mode 100644 index 0000000000..3d608f6d0e --- /dev/null +++ b/examples/v2/incidents/ListIncidentJiraTemplates.py @@ -0,0 +1,14 @@ +""" +List incident Jira templates returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["list_incident_jira_templates"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.list_incident_jira_templates() + + print(response) diff --git a/examples/v2/incidents/ListIncidentPagerdutyServices.py b/examples/v2/incidents/ListIncidentPagerdutyServices.py new file mode 100644 index 0000000000..79f9bf0209 --- /dev/null +++ b/examples/v2/incidents/ListIncidentPagerdutyServices.py @@ -0,0 +1,14 @@ +""" +List PagerDuty services returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["list_incident_pagerduty_services"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.list_incident_pagerduty_services() + + print(response) diff --git a/examples/v2/incidents/ListIncidentReservedRoles.py b/examples/v2/incidents/ListIncidentReservedRoles.py new file mode 100644 index 0000000000..6241f85673 --- /dev/null +++ b/examples/v2/incidents/ListIncidentReservedRoles.py @@ -0,0 +1,14 @@ +""" +List incident reserved roles returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["list_incident_reserved_roles"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.list_incident_reserved_roles() + + print(response) diff --git a/examples/v2/incidents/ListIncidentRuleExecutionStates.py b/examples/v2/incidents/ListIncidentRuleExecutionStates.py new file mode 100644 index 0000000000..d851f90965 --- /dev/null +++ b/examples/v2/incidents/ListIncidentRuleExecutionStates.py @@ -0,0 +1,16 @@ +""" +List incident rule execution states returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["list_incident_rule_execution_states"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.list_incident_rule_execution_states( + incident_id="incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/ListIncidentTemplateVariables.py b/examples/v2/incidents/ListIncidentTemplateVariables.py new file mode 100644 index 0000000000..866f4e6273 --- /dev/null +++ b/examples/v2/incidents/ListIncidentTemplateVariables.py @@ -0,0 +1,14 @@ +""" +List incident template variables returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["list_incident_template_variables"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.list_incident_template_variables() + + print(response) diff --git a/examples/v2/incidents/ListIncidentTimelineEntries.py b/examples/v2/incidents/ListIncidentTimelineEntries.py new file mode 100644 index 0000000000..234f2952be --- /dev/null +++ b/examples/v2/incidents/ListIncidentTimelineEntries.py @@ -0,0 +1,16 @@ +""" +List incident timeline entries returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["list_incident_timeline_entries"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.list_incident_timeline_entries( + incident_id="incident_id", + ) + + print(response) diff --git a/examples/v2/incidents/ListStatuspageEmailSubscriptions.py b/examples/v2/incidents/ListStatuspageEmailSubscriptions.py new file mode 100644 index 0000000000..193b294b3a --- /dev/null +++ b/examples/v2/incidents/ListStatuspageEmailSubscriptions.py @@ -0,0 +1,16 @@ +""" +List status page email subscriptions returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["list_statuspage_email_subscriptions"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.list_statuspage_email_subscriptions( + page_id="page_id", + ) + + print(response) diff --git a/examples/v2/incidents/PatchIncidentNotificationRule.py b/examples/v2/incidents/PatchIncidentNotificationRule.py new file mode 100644 index 0000000000..6f43afb9f8 --- /dev/null +++ b/examples/v2/incidents/PatchIncidentNotificationRule.py @@ -0,0 +1,83 @@ +""" +Patch an incident notification rule 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_notification_rule_conditions_items import ( + IncidentNotificationRuleConditionsItems, +) +from datadog_api_client.v2.model.incident_notification_rule_create_attributes import ( + IncidentNotificationRuleCreateAttributes, +) +from datadog_api_client.v2.model.incident_notification_rule_create_attributes_visibility import ( + IncidentNotificationRuleCreateAttributesVisibility, +) +from datadog_api_client.v2.model.incident_notification_rule_create_data_relationships import ( + IncidentNotificationRuleCreateDataRelationships, +) +from datadog_api_client.v2.model.incident_notification_rule_type import IncidentNotificationRuleType +from datadog_api_client.v2.model.incident_notification_rule_update_data import IncidentNotificationRuleUpdateData +from datadog_api_client.v2.model.incident_notification_template_type import IncidentNotificationTemplateType +from datadog_api_client.v2.model.incident_type_type import IncidentTypeType +from datadog_api_client.v2.model.put_incident_notification_rule_request import PutIncidentNotificationRuleRequest +from datadog_api_client.v2.model.relationship_to_incident_notification_template import ( + RelationshipToIncidentNotificationTemplate, +) +from datadog_api_client.v2.model.relationship_to_incident_notification_template_data import ( + RelationshipToIncidentNotificationTemplateData, +) +from datadog_api_client.v2.model.relationship_to_incident_type import RelationshipToIncidentType +from datadog_api_client.v2.model.relationship_to_incident_type_data import RelationshipToIncidentTypeData +from uuid import UUID + +body = PutIncidentNotificationRuleRequest( + data=IncidentNotificationRuleUpdateData( + attributes=IncidentNotificationRuleCreateAttributes( + conditions=[ + IncidentNotificationRuleConditionsItems( + field="severity", + values=[ + "SEV-1", + "SEV-2", + ], + ), + ], + enabled=True, + handles=[ + "@team-email@company.com", + "@slack-channel", + ], + renotify_on=[ + "status", + "severity", + ], + trigger="incident_created_trigger", + visibility=IncidentNotificationRuleCreateAttributesVisibility.ORGANIZATION, + ), + id=UUID("00000000-0000-0000-0000-000000000001"), + relationships=IncidentNotificationRuleCreateDataRelationships( + incident_type=RelationshipToIncidentType( + data=RelationshipToIncidentTypeData( + id="00000000-0000-0000-0000-000000000000", + type=IncidentTypeType.INCIDENT_TYPES, + ), + ), + notification_template=RelationshipToIncidentNotificationTemplate( + data=RelationshipToIncidentNotificationTemplateData( + id=UUID("00000000-0000-0000-0000-000000000001"), + type=IncidentNotificationTemplateType.NOTIFICATION_TEMPLATES, + ), + ), + ), + type=IncidentNotificationRuleType.INCIDENT_NOTIFICATION_RULES, + ), +) + +configuration = Configuration() +configuration.unstable_operations["patch_incident_notification_rule"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.patch_incident_notification_rule(id=UUID("00000000-0000-0000-0000-000000000001"), body=body) + + print(response) diff --git a/examples/v2/incidents/RenderIncidentTemplate.py b/examples/v2/incidents/RenderIncidentTemplate.py new file mode 100644 index 0000000000..27e2294ef4 --- /dev/null +++ b/examples/v2/incidents/RenderIncidentTemplate.py @@ -0,0 +1,33 @@ +""" +Render an incident template 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_render_template_data_attributes_request import ( + IncidentRenderTemplateDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_render_template_data_request import IncidentRenderTemplateDataRequest +from datadog_api_client.v2.model.incident_render_template_request import IncidentRenderTemplateRequest +from datadog_api_client.v2.model.incident_rendered_template_type import IncidentRenderedTemplateType + +body = IncidentRenderTemplateRequest( + data=IncidentRenderTemplateDataRequest( + attributes=IncidentRenderTemplateDataAttributesRequest( + content="Incident INC-123 is SEV-1.", + datetime_format="2006-01-02T15:04:05Z07:00", + timezone="America/New_York", + validate_links=False, + validate_variables=False, + ), + type=IncidentRenderedTemplateType.RENDERED_TEMPLATES, + ), +) + +configuration = Configuration() +configuration.unstable_operations["render_incident_template"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.render_incident_template(incident_id="incident_id", body=body) + + print(response) diff --git a/examples/v2/incidents/SearchIncidentsV2.py b/examples/v2/incidents/SearchIncidentsV2.py new file mode 100644 index 0000000000..20c8e7e285 --- /dev/null +++ b/examples/v2/incidents/SearchIncidentsV2.py @@ -0,0 +1,14 @@ +""" +Search incidents returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.incidents_api import IncidentsApi + +configuration = Configuration() +configuration.unstable_operations["search_incidents_v2"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.search_incidents_v2() + + print(response) diff --git a/examples/v2/incidents/UpdateIncidentCommunication.py b/examples/v2/incidents/UpdateIncidentCommunication.py new file mode 100644 index 0000000000..7b0cbf60eb --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentCommunication.py @@ -0,0 +1,48 @@ +""" +Update an incident communication 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_communication_content import IncidentCommunicationContent +from datadog_api_client.v2.model.incident_communication_content_handle import IncidentCommunicationContentHandle +from datadog_api_client.v2.model.incident_communication_data_attributes_request import ( + IncidentCommunicationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_communication_data_request import IncidentCommunicationDataRequest +from datadog_api_client.v2.model.incident_communication_kind import IncidentCommunicationKind +from datadog_api_client.v2.model.incident_communication_request import IncidentCommunicationRequest +from datadog_api_client.v2.model.incident_communication_type import IncidentCommunicationType +from uuid import UUID + +body = IncidentCommunicationRequest( + data=IncidentCommunicationDataRequest( + attributes=IncidentCommunicationDataAttributesRequest( + communication_type=IncidentCommunicationKind.MANUAL, + content=IncidentCommunicationContent( + grouping_key="update-1", + handles=[ + IncidentCommunicationContentHandle( + created_at="2024-01-01T00:00:00.000Z", + display_name="#incidents-channel", + handle="@slack-incidents-channel", + ), + ], + message="Incident update for INC-123.", + status=0, + subject="Incident INC-123: Update", + ), + ), + type=IncidentCommunicationType.COMMUNICATION, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_incident_communication"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.update_incident_communication( + incident_id="incident_id", communication_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body + ) + + print(response) diff --git a/examples/v2/incidents/UpdateIncidentJiraTemplate.py b/examples/v2/incidents/UpdateIncidentJiraTemplate.py new file mode 100644 index 0000000000..a24f8923ce --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentJiraTemplate.py @@ -0,0 +1,65 @@ +""" +Update an incident Jira template 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_jira_template_data_attributes_request import ( + IncidentJiraTemplateDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_jira_template_data_request import IncidentJiraTemplateDataRequest +from datadog_api_client.v2.model.incident_jira_template_field_configuration import ( + IncidentJiraTemplateFieldConfiguration, +) +from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship import ( + IncidentJiraTemplateIncidentTypeRelationship, +) +from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship_data import ( + IncidentJiraTemplateIncidentTypeRelationshipData, +) +from datadog_api_client.v2.model.incident_jira_template_relationships import IncidentJiraTemplateRelationships +from datadog_api_client.v2.model.incident_jira_template_request import IncidentJiraTemplateRequest +from datadog_api_client.v2.model.incident_jira_template_type import IncidentJiraTemplateType +from uuid import UUID + +body = IncidentJiraTemplateRequest( + data=IncidentJiraTemplateDataRequest( + attributes=IncidentJiraTemplateDataAttributesRequest( + account_id="123456", + field_configurations=[ + IncidentJiraTemplateFieldConfiguration( + incident_field="title", + jira_field_key="summary", + jira_field_type="string", + sync_direction="bidirectional", + ), + ], + is_default=False, + issue_id="10001", + name="Default Jira Template", + project_id="10000", + project_key="INC", + sync_enabled=True, + type="jira", + ), + relationships=IncidentJiraTemplateRelationships( + incident_type=IncidentJiraTemplateIncidentTypeRelationship( + data=IncidentJiraTemplateIncidentTypeRelationshipData( + id=UUID("00000000-0000-0000-0000-000000000000"), + type="incident_types", + ), + ), + ), + type=IncidentJiraTemplateType.INCIDENTS_JIRA_TEMPLATES, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_incident_jira_template"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.update_incident_jira_template( + template_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body + ) + + print(response) diff --git a/examples/v2/incidents/UpdateIncidentMicrosoftTeamsConfiguration.py b/examples/v2/incidents/UpdateIncidentMicrosoftTeamsConfiguration.py new file mode 100644 index 0000000000..9aa351ad73 --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentMicrosoftTeamsConfiguration.py @@ -0,0 +1,39 @@ +""" +Update an incident Microsoft Teams configuration 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_microsoft_teams_configuration_data_attributes_request import ( + IncidentMicrosoftTeamsConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_request import ( + IncidentMicrosoftTeamsConfigurationDataRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_request import ( + IncidentMicrosoftTeamsConfigurationRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_type import ( + IncidentMicrosoftTeamsConfigurationType, +) +from uuid import UUID + +body = IncidentMicrosoftTeamsConfigurationRequest( + data=IncidentMicrosoftTeamsConfigurationDataRequest( + attributes=IncidentMicrosoftTeamsConfigurationDataAttributesRequest( + manual_meeting_creation=False, + post_meeting_summary=True, + ), + type=IncidentMicrosoftTeamsConfigurationType.MICROSOFT_TEAMS_CONFIGURATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_incident_microsoft_teams_configuration"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.update_incident_microsoft_teams_configuration( + configuration_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body + ) + + print(response) diff --git a/examples/v2/incidents/UpdateIncidentStatusPageNotice.py b/examples/v2/incidents/UpdateIncidentStatusPageNotice.py new file mode 100644 index 0000000000..acc7edd081 --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentStatusPageNotice.py @@ -0,0 +1,39 @@ +""" +Update an incident status page notice 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_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, +) +from datadog_api_client.v2.model.incident_status_page_notice_update_data import IncidentStatusPageNoticeUpdateData +from datadog_api_client.v2.model.incident_status_page_notice_update_data_attributes import ( + IncidentStatusPageNoticeUpdateDataAttributes, +) +from datadog_api_client.v2.model.incident_status_page_notice_update_request import IncidentStatusPageNoticeUpdateRequest +from uuid import UUID + +body = IncidentStatusPageNoticeUpdateRequest( + data=IncidentStatusPageNoticeUpdateData( + attributes=IncidentStatusPageNoticeUpdateDataAttributes( + message="The issue has been resolved.", + status="resolved", + title="Service degradation resolved.", + ), + type=IncidentStatusPageNoticeIntegrationType.INCIDENT_INTEGRATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_incident_status_page_notice"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.update_incident_status_page_notice( + incident_id="incident_id", + statuspage_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + notice_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + body=body, + ) + + print(response) diff --git a/examples/v2/incidents/UpdateIncidentStatuspageIncident.py b/examples/v2/incidents/UpdateIncidentStatuspageIncident.py new file mode 100644 index 0000000000..5d2fe21fcb --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentStatuspageIncident.py @@ -0,0 +1,36 @@ +""" +Update an incident Statuspage incident 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_statuspage_incident_data_attributes_request import ( + IncidentStatuspageIncidentDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_statuspage_incident_data_request import IncidentStatuspageIncidentDataRequest +from datadog_api_client.v2.model.incident_statuspage_incident_request import IncidentStatuspageIncidentRequest +from datadog_api_client.v2.model.incident_statuspage_incident_type import IncidentStatuspageIncidentType + +body = IncidentStatuspageIncidentRequest( + data=IncidentStatuspageIncidentDataRequest( + attributes=IncidentStatuspageIncidentDataAttributesRequest( + body="We are investigating the issue.", + deliver_notifications=True, + impact="major", + name="Service Outage", + page_id="abc123", + status="investigating", + ), + type=IncidentStatuspageIncidentType.INCIDENT_INTEGRATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_incident_statuspage_incident"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.update_incident_statuspage_incident( + incident_id="incident_id", page_id="page_id", statuspage_incident_id="statuspage_incident_id", body=body + ) + + print(response) diff --git a/examples/v2/incidents/UpdateIncidentTimelineEntry.py b/examples/v2/incidents/UpdateIncidentTimelineEntry.py new file mode 100644 index 0000000000..6c5d577c1d --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentTimelineEntry.py @@ -0,0 +1,41 @@ +""" +Update an incident timeline entry 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_timeline_cell_type import IncidentTimelineCellType +from datadog_api_client.v2.model.incident_timeline_entry_content import IncidentTimelineEntryContent +from datadog_api_client.v2.model.incident_timeline_entry_data_attributes_request import ( + IncidentTimelineEntryDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_timeline_entry_data_request import IncidentTimelineEntryDataRequest +from datadog_api_client.v2.model.incident_timeline_entry_request import IncidentTimelineEntryRequest +from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType +from datetime import datetime +from dateutil.tz import tzutc +from uuid import UUID + +body = IncidentTimelineEntryRequest( + data=IncidentTimelineEntryDataRequest( + attributes=IncidentTimelineEntryDataAttributesRequest( + cell_type=IncidentTimelineCellType.MARKDOWN, + content=IncidentTimelineEntryContent( + message="Investigating the issue.", + ), + display_time=datetime(2024, 1, 1, 0, 0, tzinfo=tzutc()), + important=False, + ), + type=IncidentTimelineEntryType.INCIDENT_TIMELINE_CELLS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_incident_timeline_entry"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.update_incident_timeline_entry( + incident_id="incident_id", timeline_entry_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body + ) + + print(response) diff --git a/examples/v2/incidents/UpdateIncidentZoomConfiguration.py b/examples/v2/incidents/UpdateIncidentZoomConfiguration.py new file mode 100644 index 0000000000..12446cc793 --- /dev/null +++ b/examples/v2/incidents/UpdateIncidentZoomConfiguration.py @@ -0,0 +1,34 @@ +""" +Update an incident Zoom configuration 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_zoom_configuration_data_attributes_request import ( + IncidentZoomConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_zoom_configuration_data_request import IncidentZoomConfigurationDataRequest +from datadog_api_client.v2.model.incident_zoom_configuration_request import IncidentZoomConfigurationRequest +from datadog_api_client.v2.model.incident_zoom_configuration_type import IncidentZoomConfigurationType +from uuid import UUID + +body = IncidentZoomConfigurationRequest( + data=IncidentZoomConfigurationDataRequest( + attributes=IncidentZoomConfigurationDataAttributesRequest( + manual_meeting_creation=False, + meeting_chat_timeline_sync=False, + post_meeting_summary=True, + ), + type=IncidentZoomConfigurationType.ZOOM_CONFIGURATIONS, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_incident_zoom_configuration"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.update_incident_zoom_configuration( + configuration_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body + ) + + print(response) diff --git a/examples/v2/incidents/UpsertIncidentAutomationData.py b/examples/v2/incidents/UpsertIncidentAutomationData.py new file mode 100644 index 0000000000..c5dbf96576 --- /dev/null +++ b/examples/v2/incidents/UpsertIncidentAutomationData.py @@ -0,0 +1,29 @@ +""" +Upsert incident automation data 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_automation_data_attributes_request import ( + IncidentAutomationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_automation_data_data_request import IncidentAutomationDataDataRequest +from datadog_api_client.v2.model.incident_automation_data_request import IncidentAutomationDataRequest +from datadog_api_client.v2.model.incident_automation_data_type import IncidentAutomationDataType + +body = IncidentAutomationDataRequest( + data=IncidentAutomationDataDataRequest( + attributes=IncidentAutomationDataAttributesRequest( + value="completed", + ), + type=IncidentAutomationDataType.INCIDENTS_AUTOMATION_DATA, + ), +) + +configuration = Configuration() +configuration.unstable_operations["upsert_incident_automation_data"] = True +with ApiClient(configuration) as api_client: + api_instance = IncidentsApi(api_client) + response = api_instance.upsert_incident_automation_data(incident_id="incident_id", key="key", body=body) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index 7a46309686..4449395be4 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -380,59 +380,109 @@ def __init__( "v2.create_email_transport_webhook_intake": False, "v2.create_hamr_org_connection": False, "v2.get_hamr_org_connection": False, + "v2.batch_create_incident_rule_execution_states": False, + "v2.batch_update_incident_rule_execution_states": False, "v2.create_global_incident_handle": False, "v2.create_incident": False, "v2.create_incident_attachment": False, + "v2.create_incident_communication": False, + "v2.create_incident_google_meet_space": False, "v2.create_incident_integration": False, + "v2.create_incident_jira_issue": False, + "v2.create_incident_jira_template": False, + "v2.create_incident_microsoft_teams_configuration": False, + "v2.create_incident_ms_teams_online_meeting": 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_role_assignment": False, + "v2.create_incident_statuspage_incident": False, + "v2.create_incident_status_page_notice": False, + "v2.create_incident_timeline_entry": False, "v2.create_incident_todo": False, "v2.create_incident_type": False, "v2.create_incident_user_defined_field": False, + "v2.create_incident_zoom_configuration": False, + "v2.create_incident_zoom_meeting": False, + "v2.create_statuspage_email_subscription": False, "v2.delete_global_incident_handle": False, "v2.delete_incident": False, "v2.delete_incident_attachment": False, + "v2.delete_incident_communication": False, "v2.delete_incident_integration": False, + "v2.delete_incident_jira_template": False, "v2.delete_incident_notification_rule": False, "v2.delete_incident_notification_template": False, "v2.delete_incident_postmortem_template": False, + "v2.delete_incident_role_assignment": False, + "v2.delete_incident_timeline_entry": False, "v2.delete_incident_todo": False, "v2.delete_incident_type": False, "v2.delete_incident_user_defined_field": False, + "v2.export_incidents": False, "v2.get_global_incident_settings": False, "v2.get_incident": False, + "v2.get_incident_automation_data": False, + "v2.get_incident_case_source_link": False, + "v2.get_incident_communication": False, "v2.get_incident_integration": False, + "v2.get_incident_jira_template": False, "v2.get_incident_notification_rule": False, "v2.get_incident_notification_template": False, + "v2.get_incident_pagerduty_related_incidents": False, + "v2.get_incident_page_source_link": False, "v2.get_incident_postmortem_template": False, + "v2.get_incident_reserved_role": False, + "v2.get_incident_role_assignment": False, + "v2.get_incident_status_pages_suggestion": False, + "v2.get_incident_timeline_entry_thread": False, "v2.get_incident_todo": False, "v2.get_incident_type": False, "v2.get_incident_user_defined_field": False, + "v2.get_statuspage_subscription_preferences": False, "v2.import_incident": False, "v2.list_global_incident_handles": False, "v2.list_incident_attachments": False, + "v2.list_incident_communications": False, "v2.list_incident_integrations": False, + "v2.list_incident_jira_templates": False, "v2.list_incident_notification_rules": False, "v2.list_incident_notification_templates": False, + "v2.list_incident_pagerduty_services": False, "v2.list_incident_postmortem_templates": False, + "v2.list_incident_reserved_roles": False, + "v2.list_incident_rule_execution_states": False, "v2.list_incidents": False, + "v2.list_incident_template_variables": False, + "v2.list_incident_timeline_entries": False, "v2.list_incident_todos": False, "v2.list_incident_types": False, "v2.list_incident_user_defined_fields": False, + "v2.list_statuspage_email_subscriptions": False, + "v2.patch_incident_notification_rule": False, + "v2.render_incident_template": False, "v2.search_incidents": False, + "v2.search_incidents_v2": 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_communication": False, "v2.update_incident_integration": False, + "v2.update_incident_jira_template": False, + "v2.update_incident_microsoft_teams_configuration": False, "v2.update_incident_notification_rule": False, "v2.update_incident_notification_template": False, "v2.update_incident_postmortem_template": False, + "v2.update_incident_statuspage_incident": False, + "v2.update_incident_status_page_notice": False, + "v2.update_incident_timeline_entry": False, "v2.update_incident_todo": False, "v2.update_incident_type": False, "v2.update_incident_user_defined_field": False, + "v2.update_incident_zoom_configuration": False, + "v2.upsert_incident_automation_data": 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..4ddc4d4f83 100644 --- a/src/datadog_api_client/v2/api/incidents_api.py +++ b/src/datadog_api_client/v2/api/incidents_api.py @@ -11,6 +11,7 @@ from datadog_api_client.model_utils import ( set_attribute_from_path, get_attribute_from_path, + file_type, UnsetType, unset, UUID, @@ -25,6 +26,15 @@ 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_jira_templates_response import IncidentJiraTemplatesResponse +from datadog_api_client.v2.model.incident_jira_template_response import IncidentJiraTemplateResponse +from datadog_api_client.v2.model.incident_jira_template_request import IncidentJiraTemplateRequest +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_response import ( + IncidentMicrosoftTeamsConfigurationResponse, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_request import ( + IncidentMicrosoftTeamsConfigurationRequest, +) 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,6 +50,9 @@ 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_reserved_roles_response import IncidentReservedRolesResponse +from datadog_api_client.v2.model.incident_reserved_role_response import IncidentReservedRoleResponse +from datadog_api_client.v2.model.incident_template_variables_response import IncidentTemplateVariablesResponse 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 @@ -48,22 +61,45 @@ 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_zoom_configuration_response import IncidentZoomConfigurationResponse +from datadog_api_client.v2.model.incident_zoom_configuration_request import IncidentZoomConfigurationRequest 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 +from datadog_api_client.v2.model.incident_pagerduty_services_response import IncidentPagerdutyServicesResponse +from datadog_api_client.v2.model.incident_pagerduty_related_incidents_response import ( + IncidentPagerdutyRelatedIncidentsResponse, +) +from datadog_api_client.v2.model.incident_role_assignment_response import IncidentRoleAssignmentResponse +from datadog_api_client.v2.model.incident_role_assignment_request import IncidentRoleAssignmentRequest from datadog_api_client.v2.model.incident_search_response import IncidentSearchResponse 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_search_incidents_sort_order import IncidentSearchIncidentsSortOrder +from datadog_api_client.v2.model.incident_search_incidents_include_type import IncidentSearchIncidentsIncludeType +from datadog_api_client.v2.model.incident_search_incidents_export_request import IncidentSearchIncidentsExportRequest +from datadog_api_client.v2.model.incident_statuspage_incident_response import IncidentStatuspageIncidentResponse +from datadog_api_client.v2.model.incident_statuspage_incident_request import IncidentStatuspageIncidentRequest from datadog_api_client.v2.model.incident_update_request import IncidentUpdateRequest 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_automation_data_response import IncidentAutomationDataResponse +from datadog_api_client.v2.model.incident_automation_data_request import IncidentAutomationDataRequest +from datadog_api_client.v2.model.incident_case_link_response import IncidentCaseLinkResponse +from datadog_api_client.v2.model.incident_communications_response import IncidentCommunicationsResponse +from datadog_api_client.v2.model.incident_communication_response import IncidentCommunicationResponse +from datadog_api_client.v2.model.incident_communication_request import IncidentCommunicationRequest +from datadog_api_client.v2.model.incident_google_meet_integration_response import IncidentGoogleMeetIntegrationResponse 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_jira_issue_integration_response import IncidentJiraIssueIntegrationResponse +from datadog_api_client.v2.model.incident_jira_issue_request import IncidentJiraIssueRequest +from datadog_api_client.v2.model.incident_ms_teams_integration_response import IncidentMSTeamsIntegrationResponse from datadog_api_client.v2.model.incident_integration_metadata_list_response import ( IncidentIntegrationMetadataListResponse, ) @@ -78,6 +114,33 @@ 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_rendered_template_response import IncidentRenderedTemplateResponse +from datadog_api_client.v2.model.incident_render_template_request import IncidentRenderTemplateRequest +from datadog_api_client.v2.model.incident_rule_execution_states_response import IncidentRuleExecutionStatesResponse +from datadog_api_client.v2.model.incident_batch_create_rule_execution_states_request import ( + IncidentBatchCreateRuleExecutionStatesRequest, +) +from datadog_api_client.v2.model.incident_batch_update_rule_execution_states_request import ( + IncidentBatchUpdateRuleExecutionStatesRequest, +) +from datadog_api_client.v2.model.incident_status_pages_suggestion_response import IncidentStatusPagesSuggestionResponse +from datadog_api_client.v2.model.incident_status_page_notice_integration_response import ( + IncidentStatusPageNoticeIntegrationResponse, +) +from datadog_api_client.v2.model.incident_status_page_notice_create_request import IncidentStatusPageNoticeCreateRequest +from datadog_api_client.v2.model.incident_status_page_notice_update_request import IncidentStatusPageNoticeUpdateRequest +from datadog_api_client.v2.model.incident_timeline_entries_response import IncidentTimelineEntriesResponse +from datadog_api_client.v2.model.incident_timeline_entry_response import IncidentTimelineEntryResponse +from datadog_api_client.v2.model.incident_timeline_entry_request import IncidentTimelineEntryRequest +from datadog_api_client.v2.model.incident_timeline_thread_response import IncidentTimelineThreadResponse +from datadog_api_client.v2.model.incident_zoom_integration_response import IncidentZoomIntegrationResponse +from datadog_api_client.v2.model.incident_create_zoom_meeting_request import IncidentCreateZoomMeetingRequest +from datadog_api_client.v2.model.incident_statuspage_preferences_response import IncidentStatuspagePreferencesResponse +from datadog_api_client.v2.model.incident_statuspage_subscriptions_response import ( + IncidentStatuspageSubscriptionsResponse, +) +from datadog_api_client.v2.model.incident_statuspage_subscription_response import IncidentStatuspageSubscriptionResponse +from datadog_api_client.v2.model.incident_statuspage_subscription_request import IncidentStatuspageSubscriptionRequest class IncidentsApi: @@ -90,6 +153,58 @@ def __init__(self, api_client=None): api_client = ApiClient(Configuration()) self.api_client = api_client + self._batch_create_incident_rule_execution_states_endpoint = _Endpoint( + settings={ + "response_type": (IncidentRuleExecutionStatesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/rule-execution-states/batch", + "operation_id": "batch_create_incident_rule_execution_states", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentBatchCreateRuleExecutionStatesRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._batch_update_incident_rule_execution_states_endpoint = _Endpoint( + settings={ + "response_type": (IncidentRuleExecutionStatesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/rule-execution-states/batch", + "operation_id": "batch_update_incident_rule_execution_states", + "http_method": "PUT", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentBatchUpdateRuleExecutionStatesRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._create_global_incident_handle_endpoint = _Endpoint( settings={ "response_type": (IncidentHandleResponse,), @@ -166,6 +281,55 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._create_incident_communication_endpoint = _Endpoint( + settings={ + "response_type": (IncidentCommunicationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/communications", + "operation_id": "create_incident_communication", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentCommunicationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_google_meet_space_endpoint = _Endpoint( + settings={ + "response_type": (IncidentGoogleMeetIntegrationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/google-meet/space", + "operation_id": "create_incident_google_meet_space", + "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._create_incident_impact_endpoint = _Endpoint( settings={ "response_type": (IncidentImpactResponse,), @@ -224,6 +388,100 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._create_incident_jira_issue_endpoint = _Endpoint( + settings={ + "response_type": (IncidentJiraIssueIntegrationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/jira-issues", + "operation_id": "create_incident_jira_issue", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentJiraIssueRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_jira_template_endpoint = _Endpoint( + settings={ + "response_type": (IncidentJiraTemplateResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/jira-templates", + "operation_id": "create_incident_jira_template", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (IncidentJiraTemplateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_microsoft_teams_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentMicrosoftTeamsConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/microsoft-teams-configurations", + "operation_id": "create_incident_microsoft_teams_configuration", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentMicrosoftTeamsConfigurationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_ms_teams_online_meeting_endpoint = _Endpoint( + settings={ + "response_type": (IncidentMSTeamsIntegrationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/microsoft-teams-integration/online-meeting", + "operation_id": "create_incident_ms_teams_online_meeting", + "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._create_incident_notification_rule_endpoint = _Endpoint( settings={ "response_type": (IncidentNotificationRule,), @@ -310,25 +568,19 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._create_incident_todo_endpoint = _Endpoint( + self._create_incident_role_assignment_endpoint = _Endpoint( settings={ - "response_type": (IncidentTodoResponse,), + "response_type": (IncidentRoleAssignmentResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/{incident_id}/relationships/todos", - "operation_id": "create_incident_todo", + "endpoint_path": "/api/v2/incidents/role_assignments", + "operation_id": "create_incident_role_assignment", "http_method": "POST", "version": "v2", }, params_map={ - "incident_id": { - "required": True, - "openapi_types": (str,), - "attribute": "incident_id", - "location": "path", - }, "body": { "required": True, - "openapi_types": (IncidentTodoCreateRequest,), + "openapi_types": (IncidentRoleAssignmentRequest,), "location": "body", }, }, @@ -336,19 +588,25 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._create_incident_type_endpoint = _Endpoint( + self._create_incident_statuspage_incident_endpoint = _Endpoint( settings={ - "response_type": (IncidentTypeResponse,), + "response_type": (IncidentStatuspageIncidentResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/config/types", - "operation_id": "create_incident_type", + "endpoint_path": "/api/v2/incidents/statuspage/{incident_id}/statuspage-incidents", + "operation_id": "create_incident_statuspage_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": (IncidentTypeCreateRequest,), + "openapi_types": (IncidentStatuspageIncidentRequest,), "location": "body", }, }, @@ -356,24 +614,36 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._create_incident_user_defined_field_endpoint = _Endpoint( + self._create_incident_status_page_notice_endpoint = _Endpoint( settings={ - "response_type": (IncidentUserDefinedFieldResponse,), + "response_type": (IncidentStatusPageNoticeIntegrationResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/config/user-defined-fields", - "operation_id": "create_incident_user_defined_field", + "endpoint_path": "/api/v2/incidents/{incident_id}/statuspages/{statuspage_id}/notices", + "operation_id": "create_incident_status_page_notice", "http_method": "POST", "version": "v2", }, params_map={ - "include": { + "incident_id": { + "required": True, "openapi_types": (str,), - "attribute": "include", + "attribute": "incident_id", + "location": "path", + }, + "statuspage_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "statuspage_id", + "location": "path", + }, + "notify_subscribers": { + "openapi_types": (bool,), + "attribute": "notify_subscribers", "location": "query", }, "body": { "required": True, - "openapi_types": (IncidentUserDefinedFieldCreateRequest,), + "openapi_types": (IncidentStatusPageNoticeCreateRequest,), "location": "body", }, }, @@ -381,29 +651,13 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._delete_global_incident_handle_endpoint = _Endpoint( - settings={ - "response_type": None, - "auth": ["apiKeyAuth", "appKeyAuth"], - "endpoint_path": "/api/v2/incidents/config/global/incident-handles", - "operation_id": "delete_global_incident_handle", - "http_method": "DELETE", - "version": "v2", - }, - params_map={}, - headers_map={ - "accept": ["*/*"], - }, - api_client=api_client, - ) - - self._delete_incident_endpoint = _Endpoint( + self._create_incident_timeline_entry_endpoint = _Endpoint( settings={ - "response_type": None, + "response_type": (IncidentTimelineEntryResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/{incident_id}", - "operation_id": "delete_incident", - "http_method": "DELETE", + "endpoint_path": "/api/v2/incidents/{incident_id}/timeline", + "operation_id": "create_incident_timeline_entry", + "http_method": "POST", "version": "v2", }, params_map={ @@ -413,20 +667,23 @@ def __init__(self, api_client=None): "attribute": "incident_id", "location": "path", }, + "body": { + "required": True, + "openapi_types": (IncidentTimelineEntryRequest,), + "location": "body", + }, }, - headers_map={ - "accept": ["*/*"], - }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, api_client=api_client, ) - self._delete_incident_attachment_endpoint = _Endpoint( + self._create_incident_todo_endpoint = _Endpoint( settings={ - "response_type": None, + "response_type": (IncidentTodoResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/{incident_id}/attachments/{attachment_id}", - "operation_id": "delete_incident_attachment", - "http_method": "DELETE", + "endpoint_path": "/api/v2/incidents/{incident_id}/relationships/todos", + "operation_id": "create_incident_todo", + "http_method": "POST", "version": "v2", }, params_map={ @@ -436,20 +693,236 @@ def __init__(self, api_client=None): "attribute": "incident_id", "location": "path", }, - "attachment_id": { + "body": { "required": True, - "openapi_types": (str,), - "attribute": "attachment_id", - "location": "path", + "openapi_types": (IncidentTodoCreateRequest,), + "location": "body", }, }, - headers_map={ - "accept": ["*/*"], - }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, api_client=api_client, ) - self._delete_incident_impact_endpoint = _Endpoint( + self._create_incident_type_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTypeResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/types", + "operation_id": "create_incident_type", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (IncidentTypeCreateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_user_defined_field_endpoint = _Endpoint( + settings={ + "response_type": (IncidentUserDefinedFieldResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/user-defined-fields", + "operation_id": "create_incident_user_defined_field", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentUserDefinedFieldCreateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_zoom_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentZoomConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/zoom-configurations", + "operation_id": "create_incident_zoom_configuration", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentZoomConfigurationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_incident_zoom_meeting_endpoint = _Endpoint( + settings={ + "response_type": (IncidentZoomIntegrationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/zoom/meeting", + "operation_id": "create_incident_zoom_meeting", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentCreateZoomMeetingRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_statuspage_email_subscription_endpoint = _Endpoint( + settings={ + "response_type": (IncidentStatuspageSubscriptionResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/statuspages/{page_id}/subscriptions/email", + "operation_id": "create_statuspage_email_subscription", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (str,), + "attribute": "page_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentStatuspageSubscriptionRequest,), + "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, + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/incidents/config/global/incident-handles", + "operation_id": "delete_global_incident_handle", + "http_method": "DELETE", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_incident_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}", + "operation_id": "delete_incident", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_incident_attachment_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/attachments/{attachment_id}", + "operation_id": "delete_incident_attachment", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "attachment_id": { + "required": True, + "openapi_types": (str,), + "attribute": "attachment_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_incident_communication_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/communications/{communication_id}", + "operation_id": "delete_incident_communication", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "communication_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "communication_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_incident_impact_endpoint = _Endpoint( settings={ "response_type": None, "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], @@ -507,6 +980,29 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._delete_incident_jira_template_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/jira-templates/{template_id}", + "operation_id": "delete_incident_jira_template", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "template_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "template_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + self._delete_incident_notification_rule_endpoint = _Endpoint( settings={ "response_type": None, @@ -586,6 +1082,58 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._delete_incident_role_assignment_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/role_assignments/{role_assignment_id}", + "operation_id": "delete_incident_role_assignment", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "role_assignment_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "role_assignment_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_incident_timeline_entry_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/timeline/{timeline_entry_id}", + "operation_id": "delete_incident_timeline_entry", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "timeline_entry_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "timeline_entry_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + self._delete_incident_todo_endpoint = _Endpoint( settings={ "response_type": None, @@ -661,6 +1209,26 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._export_incidents_endpoint = _Endpoint( + settings={ + "response_type": (file_type,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/search-incidents/export", + "operation_id": "export_incidents", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (IncidentSearchIncidentsExportRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["text/csv", "application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._get_global_incident_settings_endpoint = _Endpoint( settings={ "response_type": (GlobalIncidentSettingsResponse,), @@ -706,6 +1274,92 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_incident_automation_data_endpoint = _Endpoint( + settings={ + "response_type": (IncidentAutomationDataResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/automation-data/{key}", + "operation_id": "get_incident_automation_data", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "key": { + "required": True, + "openapi_types": (str,), + "attribute": "key", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_incident_case_source_link_endpoint = _Endpoint( + settings={ + "response_type": (IncidentCaseLinkResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/cases/source-link", + "operation_id": "get_incident_case_source_link", + "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._get_incident_communication_endpoint = _Endpoint( + settings={ + "response_type": (IncidentCommunicationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/communications/{communication_id}", + "operation_id": "get_incident_communication", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "communication_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "communication_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._get_incident_integration_endpoint = _Endpoint( settings={ "response_type": (IncidentIntegrationMetadataResponse,), @@ -735,6 +1389,29 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_incident_jira_template_endpoint = _Endpoint( + settings={ + "response_type": (IncidentJiraTemplateResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/jira-templates/{template_id}", + "operation_id": "get_incident_jira_template", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "template_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "template_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._get_incident_notification_rule_endpoint = _Endpoint( settings={ "response_type": (IncidentNotificationRule,), @@ -791,6 +1468,52 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_incident_pagerduty_related_incidents_endpoint = _Endpoint( + settings={ + "response_type": (IncidentPagerdutyRelatedIncidentsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/pagerduty/{pagerduty_incident_id}/relationships/incidents", + "operation_id": "get_incident_pagerduty_related_incidents", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "pagerduty_incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "pagerduty_incident_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_incident_page_source_link_endpoint = _Endpoint( + settings={ + "response_type": (IncidentCaseLinkResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/pages/source-link", + "operation_id": "get_incident_page_source_link", + "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._get_incident_postmortem_template_endpoint = _Endpoint( settings={ "response_type": (PostmortemTemplateResponse,), @@ -814,6 +1537,104 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_incident_reserved_role_endpoint = _Endpoint( + settings={ + "response_type": (IncidentReservedRoleResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/reserved-roles/{role_id}", + "operation_id": "get_incident_reserved_role", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "role_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "role_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_incident_role_assignment_endpoint = _Endpoint( + settings={ + "response_type": (IncidentRoleAssignmentResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/role_assignments/{role_assignment_id}", + "operation_id": "get_incident_role_assignment", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "role_assignment_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "role_assignment_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_incident_status_pages_suggestion_endpoint = _Endpoint( + settings={ + "response_type": (IncidentStatusPagesSuggestionResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/statuspages-suggestion", + "operation_id": "get_incident_status_pages_suggestion", + "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._get_incident_timeline_entry_thread_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTimelineThreadResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/timeline/{timeline_entry_id}/thread", + "operation_id": "get_incident_timeline_entry_thread", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "timeline_entry_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "timeline_entry_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._get_incident_todo_endpoint = _Endpoint( settings={ "response_type": (IncidentTodoResponse,), @@ -894,6 +1715,22 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_statuspage_subscription_preferences_endpoint = _Endpoint( + settings={ + "response_type": (IncidentStatuspagePreferencesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/statuspages/subscription/preferences", + "operation_id": "get_statuspage_subscription_preferences", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._import_incident_endpoint = _Endpoint( settings={ "response_type": (IncidentImportResponse,), @@ -975,6 +1812,34 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_incident_communications_endpoint = _Endpoint( + settings={ + "response_type": (IncidentCommunicationsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/communications", + "operation_id": "list_incident_communications", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "filter_communication_type": { + "openapi_types": (str,), + "attribute": "filter[communication_type]", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._list_incident_impacts_endpoint = _Endpoint( settings={ "response_type": (IncidentImpactsResponse,), @@ -1027,6 +1892,38 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_incident_jira_templates_endpoint = _Endpoint( + settings={ + "response_type": (IncidentJiraTemplatesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/jira-templates", + "operation_id": "list_incident_jira_templates", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "is_default": { + "openapi_types": (bool,), + "attribute": "isDefault", + "location": "query", + }, + "incident_type_id": { + "openapi_types": (UUID,), + "attribute": "incidentTypeId", + "location": "query", + }, + "template_type": { + "openapi_types": (str,), + "attribute": "templateType", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._list_incident_notification_rules_endpoint = _Endpoint( settings={ "response_type": (IncidentNotificationRuleArray,), @@ -1076,6 +1973,28 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_incident_pagerduty_services_endpoint = _Endpoint( + settings={ + "response_type": (IncidentPagerdutyServicesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/pagerduty/services", + "operation_id": "list_incident_pagerduty_services", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "include_unresolved": { + "openapi_types": (bool,), + "attribute": "include_unresolved", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._list_incident_postmortem_templates_endpoint = _Endpoint( settings={ "response_type": (PostmortemTemplatesResponse,), @@ -1092,6 +2011,45 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_incident_reserved_roles_endpoint = _Endpoint( + settings={ + "response_type": (IncidentReservedRolesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/reserved-roles", + "operation_id": "list_incident_reserved_roles", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_incident_rule_execution_states_endpoint = _Endpoint( + settings={ + "response_type": (IncidentRuleExecutionStatesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/rule-execution-states", + "operation_id": "list_incident_rule_execution_states", + "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._list_incidents_endpoint = _Endpoint( settings={ "response_type": (IncidentsResponse,), @@ -1125,6 +2083,56 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_incident_template_variables_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTemplateVariablesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/template-variables", + "operation_id": "list_incident_template_variables", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "filter_incident_type": { + "openapi_types": (UUID,), + "attribute": "filter[incident-type]", + "location": "query", + }, + "include_follow_ups": { + "openapi_types": (bool,), + "attribute": "includeFollowUps", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_incident_timeline_entries_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTimelineEntriesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/timeline", + "operation_id": "list_incident_timeline_entries", + "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._list_incident_todos_endpoint = _Endpoint( settings={ "response_type": (IncidentTodoListResponse,), @@ -1148,68 +2156,191 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._list_incident_types_endpoint = _Endpoint( + self._list_incident_types_endpoint = _Endpoint( + settings={ + "response_type": (IncidentTypeListResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/types", + "operation_id": "list_incident_types", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "include_deleted": { + "openapi_types": (bool,), + "attribute": "include_deleted", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_incident_user_defined_fields_endpoint = _Endpoint( + settings={ + "response_type": (IncidentUserDefinedFieldListResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/user-defined-fields", + "operation_id": "list_incident_user_defined_fields", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_size": { + "validation": { + "inclusive_maximum": 1000, + "inclusive_minimum": 0, + }, + "openapi_types": (int,), + "attribute": "page[size]", + "location": "query", + }, + "page_number": { + "validation": { + "inclusive_minimum": 0, + }, + "openapi_types": (int,), + "attribute": "page[number]", + "location": "query", + }, + "include_deleted": { + "openapi_types": (bool,), + "attribute": "include-deleted", + "location": "query", + }, + "filter_incident_type": { + "openapi_types": (str,), + "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_statuspage_email_subscriptions_endpoint = _Endpoint( + settings={ + "response_type": (IncidentStatuspageSubscriptionsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/subscriptions/email", + "operation_id": "list_statuspage_email_subscriptions", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (str,), + "attribute": "page_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._patch_incident_notification_rule_endpoint = _Endpoint( + settings={ + "response_type": (IncidentNotificationRule,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/notification-rules/{id}", + "operation_id": "patch_incident_notification_rule", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PutIncidentNotificationRuleRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._render_incident_template_endpoint = _Endpoint( settings={ - "response_type": (IncidentTypeListResponse,), + "response_type": (IncidentRenderedTemplateResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/config/types", - "operation_id": "list_incident_types", - "http_method": "GET", + "endpoint_path": "/api/v2/incidents/{incident_id}/render-template", + "operation_id": "render_incident_template", + "http_method": "POST", "version": "v2", }, params_map={ - "include_deleted": { - "openapi_types": (bool,), - "attribute": "include_deleted", - "location": "query", + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentRenderTemplateRequest,), + "location": "body", }, }, - headers_map={ - "accept": ["application/json"], - }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, api_client=api_client, ) - self._list_incident_user_defined_fields_endpoint = _Endpoint( + self._search_incidents_endpoint = _Endpoint( settings={ - "response_type": (IncidentUserDefinedFieldListResponse,), + "response_type": (IncidentSearchResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/config/user-defined-fields", - "operation_id": "list_incident_user_defined_fields", + "endpoint_path": "/api/v2/incidents/search", + "operation_id": "search_incidents", "http_method": "GET", "version": "v2", }, params_map={ - "page_size": { - "validation": { - "inclusive_maximum": 1000, - "inclusive_minimum": 0, - }, - "openapi_types": (int,), - "attribute": "page[size]", + "include": { + "openapi_types": (IncidentRelatedObject,), + "attribute": "include", "location": "query", }, - "page_number": { - "validation": { - "inclusive_minimum": 0, - }, - "openapi_types": (int,), - "attribute": "page[number]", + "query": { + "required": True, + "openapi_types": (str,), + "attribute": "query", "location": "query", }, - "include_deleted": { - "openapi_types": (bool,), - "attribute": "include-deleted", + "sort": { + "openapi_types": (IncidentSearchSortOrder,), + "attribute": "sort", "location": "query", }, - "filter_incident_type": { - "openapi_types": (str,), - "attribute": "filter[incident-type]", + "page_size": { + "openapi_types": (int,), + "attribute": "page[size]", "location": "query", }, - "include": { - "openapi_types": (str,), - "attribute": "include", + "page_offset": { + "openapi_types": (int,), + "attribute": "page[offset]", "location": "query", }, }, @@ -1219,32 +2350,52 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._search_incidents_endpoint = _Endpoint( + self._search_incidents_v2_endpoint = _Endpoint( settings={ "response_type": (IncidentSearchResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/search", - "operation_id": "search_incidents", + "endpoint_path": "/api/v2/incidents/search-incidents", + "operation_id": "search_incidents_v2", "http_method": "GET", "version": "v2", }, params_map={ - "include": { - "openapi_types": (IncidentRelatedObject,), - "attribute": "include", - "location": "query", - }, "query": { - "required": True, "openapi_types": (str,), "attribute": "query", "location": "query", }, "sort": { - "openapi_types": (IncidentSearchSortOrder,), + "openapi_types": (IncidentSearchIncidentsSortOrder,), "attribute": "sort", "location": "query", }, + "with_facets": { + "openapi_types": (bool,), + "attribute": "with_facets", + "location": "query", + }, + "filter_with_deleted": { + "openapi_types": (bool,), + "attribute": "filter[with_deleted]", + "location": "query", + }, + "semantic_query": { + "openapi_types": (str,), + "attribute": "semantic_query", + "location": "query", + }, + "time_zone": { + "openapi_types": (str,), + "attribute": "timeZone", + "location": "query", + }, + "include": { + "openapi_types": ([IncidentSearchIncidentsIncludeType],), + "attribute": "include", + "location": "query", + "collection_format": "multi", + }, "page_size": { "openapi_types": (int,), "attribute": "page[size]", @@ -1376,6 +2527,38 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._update_incident_communication_endpoint = _Endpoint( + settings={ + "response_type": (IncidentCommunicationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/communications/{communication_id}", + "operation_id": "update_incident_communication", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "communication_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "communication_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentCommunicationRequest,), + "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,), @@ -1408,6 +2591,63 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._update_incident_jira_template_endpoint = _Endpoint( + settings={ + "response_type": (IncidentJiraTemplateResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/jira-templates/{template_id}", + "operation_id": "update_incident_jira_template", + "http_method": "PUT", + "version": "v2", + }, + params_map={ + "template_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "template_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (IncidentJiraTemplateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_microsoft_teams_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentMicrosoftTeamsConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/microsoft-teams-configurations/{configuration_id}", + "operation_id": "update_incident_microsoft_teams_configuration", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "configuration_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "configuration_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentMicrosoftTeamsConfigurationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._update_incident_notification_rule_endpoint = _Endpoint( settings={ "response_type": (IncidentNotificationRule,), @@ -1424,14 +2664,109 @@ def __init__(self, api_client=None): "attribute": "id", "location": "path", }, - "include": { + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PutIncidentNotificationRuleRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_notification_template_endpoint = _Endpoint( + settings={ + "response_type": (IncidentNotificationTemplate,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/notification-templates/{id}", + "operation_id": "update_incident_notification_template", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PatchIncidentNotificationTemplateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_postmortem_template_endpoint = _Endpoint( + settings={ + "response_type": (PostmortemTemplateResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/incidents/config/postmortem-templates/{template_id}", + "operation_id": "update_incident_postmortem_template", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "template_id": { + "required": True, + "openapi_types": (str,), + "attribute": "template_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (PostmortemTemplateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_incident_statuspage_incident_endpoint = _Endpoint( + settings={ + "response_type": (IncidentStatuspageIncidentResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/statuspage/{incident_id}/statuspage-incidents/pages/{page_id}/incidents/{statuspage_incident_id}", + "operation_id": "update_incident_statuspage_incident", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "page_id": { + "required": True, + "openapi_types": (str,), + "attribute": "page_id", + "location": "path", + }, + "statuspage_incident_id": { + "required": True, "openapi_types": (str,), - "attribute": "include", - "location": "query", + "attribute": "statuspage_incident_id", + "location": "path", }, "body": { "required": True, - "openapi_types": (PutIncidentNotificationRuleRequest,), + "openapi_types": (IncidentStatuspageIncidentRequest,), "location": "body", }, }, @@ -1439,30 +2774,42 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._update_incident_notification_template_endpoint = _Endpoint( + self._update_incident_status_page_notice_endpoint = _Endpoint( settings={ - "response_type": (IncidentNotificationTemplate,), + "response_type": (IncidentStatusPageNoticeIntegrationResponse,), "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/incidents/config/notification-templates/{id}", - "operation_id": "update_incident_notification_template", + "endpoint_path": "/api/v2/incidents/{incident_id}/statuspages/{statuspage_id}/notices/{notice_id}", + "operation_id": "update_incident_status_page_notice", "http_method": "PATCH", "version": "v2", }, params_map={ - "id": { + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "statuspage_id": { "required": True, "openapi_types": (UUID,), - "attribute": "id", + "attribute": "statuspage_id", "location": "path", }, - "include": { - "openapi_types": (str,), - "attribute": "include", + "notice_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "notice_id", + "location": "path", + }, + "notify_subscribers": { + "openapi_types": (bool,), + "attribute": "notify_subscribers", "location": "query", }, "body": { "required": True, - "openapi_types": (PatchIncidentNotificationTemplateRequest,), + "openapi_types": (IncidentStatusPageNoticeUpdateRequest,), "location": "body", }, }, @@ -1470,25 +2817,31 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._update_incident_postmortem_template_endpoint = _Endpoint( + self._update_incident_timeline_entry_endpoint = _Endpoint( settings={ - "response_type": (PostmortemTemplateResponse,), - "auth": ["apiKeyAuth", "appKeyAuth"], - "endpoint_path": "/api/v2/incidents/config/postmortem-templates/{template_id}", - "operation_id": "update_incident_postmortem_template", + "response_type": (IncidentTimelineEntryResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/timeline/{timeline_entry_id}", + "operation_id": "update_incident_timeline_entry", "http_method": "PATCH", "version": "v2", }, params_map={ - "template_id": { + "incident_id": { "required": True, "openapi_types": (str,), - "attribute": "template_id", + "attribute": "incident_id", + "location": "path", + }, + "timeline_entry_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "timeline_entry_id", "location": "path", }, "body": { "required": True, - "openapi_types": (PostmortemTemplateRequest,), + "openapi_types": (IncidentTimelineEntryRequest,), "location": "body", }, }, @@ -1585,6 +2938,116 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._update_incident_zoom_configuration_endpoint = _Endpoint( + settings={ + "response_type": (IncidentZoomConfigurationResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/config/zoom-configurations/{configuration_id}", + "operation_id": "update_incident_zoom_configuration", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "configuration_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "configuration_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentZoomConfigurationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._upsert_incident_automation_data_endpoint = _Endpoint( + settings={ + "response_type": (IncidentAutomationDataResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/incidents/{incident_id}/automation-data/{key}", + "operation_id": "upsert_incident_automation_data", + "http_method": "PUT", + "version": "v2", + }, + params_map={ + "incident_id": { + "required": True, + "openapi_types": (str,), + "attribute": "incident_id", + "location": "path", + }, + "key": { + "required": True, + "openapi_types": (str,), + "attribute": "key", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (IncidentAutomationDataRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + def batch_create_incident_rule_execution_states( + self, + incident_id: str, + body: IncidentBatchCreateRuleExecutionStatesRequest, + ) -> IncidentRuleExecutionStatesResponse: + """Batch create incident rule execution states. + + Batch create rule execution states for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :type body: IncidentBatchCreateRuleExecutionStatesRequest + :rtype: IncidentRuleExecutionStatesResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._batch_create_incident_rule_execution_states_endpoint.call_with_http_info(**kwargs) + + def batch_update_incident_rule_execution_states( + self, + incident_id: str, + body: IncidentBatchUpdateRuleExecutionStatesRequest, + ) -> IncidentRuleExecutionStatesResponse: + """Batch update incident rule execution states. + + Batch update rule execution states for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :type body: IncidentBatchUpdateRuleExecutionStatesRequest + :rtype: IncidentRuleExecutionStatesResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._batch_update_incident_rule_execution_states_endpoint.call_with_http_info(**kwargs) + def create_global_incident_handle( self, body: IncidentHandleRequest, @@ -1653,6 +3116,44 @@ def create_incident_attachment( return self._create_incident_attachment_endpoint.call_with_http_info(**kwargs) + def create_incident_communication( + self, + incident_id: str, + body: IncidentCommunicationRequest, + ) -> IncidentCommunicationResponse: + """Create an incident communication. + + Create a new communication for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :type body: IncidentCommunicationRequest + :rtype: IncidentCommunicationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_incident_communication_endpoint.call_with_http_info(**kwargs) + + def create_incident_google_meet_space( + self, + incident_id: str, + ) -> IncidentGoogleMeetIntegrationResponse: + """Create an incident Google Meet space. + + Create a Google Meet space for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentGoogleMeetIntegrationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._create_incident_google_meet_space_endpoint.call_with_http_info(**kwargs) + def create_incident_impact( self, incident_id: str, @@ -1704,6 +3205,83 @@ def create_incident_integration( return self._create_incident_integration_endpoint.call_with_http_info(**kwargs) + def create_incident_jira_issue( + self, + incident_id: str, + body: IncidentJiraIssueRequest, + ) -> IncidentJiraIssueIntegrationResponse: + """Create an incident Jira issue. + + Create a Jira issue linked to a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :type body: IncidentJiraIssueRequest + :rtype: IncidentJiraIssueIntegrationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_incident_jira_issue_endpoint.call_with_http_info(**kwargs) + + def create_incident_jira_template( + self, + body: IncidentJiraTemplateRequest, + ) -> IncidentJiraTemplateResponse: + """Create an incident Jira template. + + Create a new incident Jira template for the organization. + + :type body: IncidentJiraTemplateRequest + :rtype: IncidentJiraTemplateResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_incident_jira_template_endpoint.call_with_http_info(**kwargs) + + def create_incident_microsoft_teams_configuration( + self, + body: IncidentMicrosoftTeamsConfigurationRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentMicrosoftTeamsConfigurationResponse: + """Create an incident Microsoft Teams configuration. + + Create a Microsoft Teams configuration for incidents. + + :type body: IncidentMicrosoftTeamsConfigurationRequest + :param include: Specifies which related objects to include in the response. + :type include: str, optional + :rtype: IncidentMicrosoftTeamsConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_incident_microsoft_teams_configuration_endpoint.call_with_http_info(**kwargs) + + def create_incident_ms_teams_online_meeting( + self, + incident_id: str, + ) -> IncidentMSTeamsIntegrationResponse: + """Create an incident Microsoft Teams online meeting. + + Create a Microsoft Teams online meeting for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentMSTeamsIntegrationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._create_incident_ms_teams_online_meeting_endpoint.call_with_http_info(**kwargs) + def create_incident_notification_rule( self, body: CreateIncidentNotificationRuleRequest, @@ -1722,60 +3300,151 @@ def create_incident_notification_rule( def create_incident_notification_template( self, - body: CreateIncidentNotificationTemplateRequest, - ) -> IncidentNotificationTemplate: - """Create incident notification template. + body: CreateIncidentNotificationTemplateRequest, + ) -> IncidentNotificationTemplate: + """Create incident notification template. + + Creates a new notification template. + + :type body: CreateIncidentNotificationTemplateRequest + :rtype: IncidentNotificationTemplate + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_incident_notification_template_endpoint.call_with_http_info(**kwargs) + + def create_incident_postmortem_attachment( + self, + incident_id: str, + body: PostmortemAttachmentRequest, + ) -> Attachment: + """Create postmortem attachment. + + Create a postmortem attachment for an incident. + + The endpoint accepts markdown for notebooks created in Confluence or Google Docs. + Postmortems created from notebooks need to be formatted using frontend notebook cells, + in addition to markdown format. + + :param incident_id: The ID of the incident + :type incident_id: str + :type body: PostmortemAttachmentRequest + :rtype: Attachment + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_incident_postmortem_attachment_endpoint.call_with_http_info(**kwargs) + + def create_incident_postmortem_template( + self, + body: PostmortemTemplateRequest, + ) -> PostmortemTemplateResponse: + """Create postmortem template. + + Create a new postmortem template for incidents. + + :type body: PostmortemTemplateRequest + :rtype: PostmortemTemplateResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + + def create_incident_role_assignment( + self, + body: IncidentRoleAssignmentRequest, + ) -> IncidentRoleAssignmentResponse: + """Create an incident role assignment. + + Create a new role assignment for an incident. + + :type body: IncidentRoleAssignmentRequest + :rtype: IncidentRoleAssignmentResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_incident_role_assignment_endpoint.call_with_http_info(**kwargs) + + def create_incident_statuspage_incident( + self, + incident_id: str, + body: IncidentStatuspageIncidentRequest, + ) -> IncidentStatuspageIncidentResponse: + """Create an incident Statuspage incident. - Creates a new notification template. + Create a Statuspage incident linked to a Datadog incident. - :type body: CreateIncidentNotificationTemplateRequest - :rtype: IncidentNotificationTemplate + :param incident_id: The UUID of the incident. + :type incident_id: str + :type body: IncidentStatuspageIncidentRequest + :rtype: IncidentStatuspageIncidentResponse """ kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + kwargs["body"] = body - return self._create_incident_notification_template_endpoint.call_with_http_info(**kwargs) + return self._create_incident_statuspage_incident_endpoint.call_with_http_info(**kwargs) - def create_incident_postmortem_attachment( + def create_incident_status_page_notice( self, incident_id: str, - body: PostmortemAttachmentRequest, - ) -> Attachment: - """Create postmortem attachment. - - Create a postmortem attachment for an incident. + statuspage_id: UUID, + body: IncidentStatusPageNoticeCreateRequest, + *, + notify_subscribers: Union[bool, UnsetType] = unset, + ) -> IncidentStatusPageNoticeIntegrationResponse: + """Publish an incident status page notice. - The endpoint accepts markdown for notebooks created in Confluence or Google Docs. - Postmortems created from notebooks need to be formatted using frontend notebook cells, - in addition to markdown format. + Publish a status page notice for a given incident. - :param incident_id: The ID of the incident + :param incident_id: The UUID of the incident. :type incident_id: str - :type body: PostmortemAttachmentRequest - :rtype: Attachment + :param statuspage_id: The ID of the status page. + :type statuspage_id: UUID + :type body: IncidentStatusPageNoticeCreateRequest + :param notify_subscribers: Whether to notify subscribers about this notice. + :type notify_subscribers: bool, optional + :rtype: IncidentStatusPageNoticeIntegrationResponse """ kwargs: Dict[str, Any] = {} kwargs["incident_id"] = incident_id + kwargs["statuspage_id"] = statuspage_id + + if notify_subscribers is not unset: + kwargs["notify_subscribers"] = notify_subscribers + kwargs["body"] = body - return self._create_incident_postmortem_attachment_endpoint.call_with_http_info(**kwargs) + return self._create_incident_status_page_notice_endpoint.call_with_http_info(**kwargs) - def create_incident_postmortem_template( + def create_incident_timeline_entry( self, - body: PostmortemTemplateRequest, - ) -> PostmortemTemplateResponse: - """Create postmortem template. + incident_id: str, + body: IncidentTimelineEntryRequest, + ) -> IncidentTimelineEntryResponse: + """Create an incident timeline entry. - Create a new postmortem template for incidents. + Create a new timeline entry for a given incident. - :type body: PostmortemTemplateRequest - :rtype: PostmortemTemplateResponse + :param incident_id: The UUID of the incident. + :type incident_id: str + :type body: IncidentTimelineEntryRequest + :rtype: IncidentTimelineEntryResponse """ kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + kwargs["body"] = body - return self._create_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + return self._create_incident_timeline_entry_endpoint.call_with_http_info(**kwargs) def create_incident_todo( self, @@ -1840,6 +3509,71 @@ def create_incident_user_defined_field( return self._create_incident_user_defined_field_endpoint.call_with_http_info(**kwargs) + def create_incident_zoom_configuration( + self, + body: IncidentZoomConfigurationRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentZoomConfigurationResponse: + """Create an incident Zoom configuration. + + Create a Zoom configuration for incidents. + + :type body: IncidentZoomConfigurationRequest + :param include: Specifies which related objects to include in the response. + :type include: str, optional + :rtype: IncidentZoomConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_incident_zoom_configuration_endpoint.call_with_http_info(**kwargs) + + def create_incident_zoom_meeting( + self, + incident_id: str, + body: IncidentCreateZoomMeetingRequest, + ) -> IncidentZoomIntegrationResponse: + """Create an incident Zoom meeting. + + Create a Zoom meeting for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :type body: IncidentCreateZoomMeetingRequest + :rtype: IncidentZoomIntegrationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._create_incident_zoom_meeting_endpoint.call_with_http_info(**kwargs) + + def create_statuspage_email_subscription( + self, + page_id: str, + body: IncidentStatuspageSubscriptionRequest, + ) -> IncidentStatuspageSubscriptionResponse: + """Create a status page email subscription. + + Create an email subscription for a status page. + + :param page_id: The ID of the status page. + :type page_id: str + :type body: IncidentStatuspageSubscriptionRequest + :rtype: IncidentStatuspageSubscriptionResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["body"] = body + + return self._create_statuspage_email_subscription_endpoint.call_with_http_info(**kwargs) + def delete_global_incident_handle( self, ) -> None: @@ -1889,6 +3623,28 @@ def delete_incident_attachment( return self._delete_incident_attachment_endpoint.call_with_http_info(**kwargs) + def delete_incident_communication( + self, + incident_id: str, + communication_id: UUID, + ) -> None: + """Delete an incident communication. + + Delete a communication for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param communication_id: The ID of the communication. + :type communication_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["communication_id"] = communication_id + + return self._delete_incident_communication_endpoint.call_with_http_info(**kwargs) + def delete_incident_impact( self, incident_id: str, @@ -1933,6 +3689,23 @@ def delete_incident_integration( return self._delete_incident_integration_endpoint.call_with_http_info(**kwargs) + def delete_incident_jira_template( + self, + template_id: UUID, + ) -> None: + """Delete an incident Jira template. + + Delete an incident Jira template by its identifier. + + :param template_id: The ID of the Jira template. + :type template_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["template_id"] = template_id + + return self._delete_incident_jira_template_endpoint.call_with_http_info(**kwargs) + def delete_incident_notification_rule( self, id: UUID, @@ -1998,6 +3771,45 @@ def delete_incident_postmortem_template( return self._delete_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + def delete_incident_role_assignment( + self, + role_assignment_id: UUID, + ) -> None: + """Delete an incident role assignment. + + Delete a role assignment by its identifier. + + :param role_assignment_id: The ID of the role assignment. + :type role_assignment_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["role_assignment_id"] = role_assignment_id + + return self._delete_incident_role_assignment_endpoint.call_with_http_info(**kwargs) + + def delete_incident_timeline_entry( + self, + incident_id: str, + timeline_entry_id: UUID, + ) -> None: + """Delete an incident timeline entry. + + Delete a timeline entry for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param timeline_entry_id: The ID of the timeline entry. + :type timeline_entry_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["timeline_entry_id"] = timeline_entry_id + + return self._delete_incident_timeline_entry_endpoint.call_with_http_info(**kwargs) + def delete_incident_todo( self, incident_id: str, @@ -2054,6 +3866,22 @@ def delete_incident_user_defined_field( return self._delete_incident_user_defined_field_endpoint.call_with_http_info(**kwargs) + def export_incidents( + self, + body: IncidentSearchIncidentsExportRequest, + ) -> file_type: + """Export incidents. + + Export incidents matching a search query as a CSV file. + + :type body: IncidentSearchIncidentsExportRequest + :rtype: file_type + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._export_incidents_endpoint.call_with_http_info(**kwargs) + def get_global_incident_settings( self, ) -> GlobalIncidentSettingsResponse: @@ -2090,6 +3918,74 @@ def get_incident( return self._get_incident_endpoint.call_with_http_info(**kwargs) + def get_incident_automation_data( + self, + incident_id: str, + key: str, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentAutomationDataResponse: + """Get incident automation data. + + Get automation data for a given incident and key. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param key: The automation data key. + :type key: str + :param include: Specifies which related objects to include in the response. + :type include: str, optional + :rtype: IncidentAutomationDataResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["key"] = key + + if include is not unset: + kwargs["include"] = include + + return self._get_incident_automation_data_endpoint.call_with_http_info(**kwargs) + + def get_incident_case_source_link( + self, + incident_id: str, + ) -> IncidentCaseLinkResponse: + """Get incident case source link. + + Get the source link for a case associated with an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentCaseLinkResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._get_incident_case_source_link_endpoint.call_with_http_info(**kwargs) + + def get_incident_communication( + self, + incident_id: str, + communication_id: UUID, + ) -> IncidentCommunicationResponse: + """Get an incident communication. + + Get the details of a communication for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param communication_id: The ID of the communication. + :type communication_id: UUID + :rtype: IncidentCommunicationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["communication_id"] = communication_id + + return self._get_incident_communication_endpoint.call_with_http_info(**kwargs) + def get_incident_integration( self, incident_id: str, @@ -2112,6 +4008,23 @@ def get_incident_integration( return self._get_incident_integration_endpoint.call_with_http_info(**kwargs) + def get_incident_jira_template( + self, + template_id: UUID, + ) -> IncidentJiraTemplateResponse: + """Get an incident Jira template. + + Get the details of an incident Jira template by its identifier. + + :param template_id: The ID of the Jira template. + :type template_id: UUID + :rtype: IncidentJiraTemplateResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["template_id"] = template_id + + return self._get_incident_jira_template_endpoint.call_with_http_info(**kwargs) + def get_incident_notification_rule( self, id: UUID, @@ -2160,6 +4073,40 @@ def get_incident_notification_template( return self._get_incident_notification_template_endpoint.call_with_http_info(**kwargs) + def get_incident_pagerduty_related_incidents( + self, + pagerduty_incident_id: str, + ) -> IncidentPagerdutyRelatedIncidentsResponse: + """Get PagerDuty related incidents. + + Get the list of Datadog incidents attached to a PagerDuty incident. + + :param pagerduty_incident_id: The PagerDuty incident identifier. + :type pagerduty_incident_id: str + :rtype: IncidentPagerdutyRelatedIncidentsResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["pagerduty_incident_id"] = pagerduty_incident_id + + return self._get_incident_pagerduty_related_incidents_endpoint.call_with_http_info(**kwargs) + + def get_incident_page_source_link( + self, + incident_id: str, + ) -> IncidentCaseLinkResponse: + """Get incident page source link. + + Get the source link for a page associated with an incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentCaseLinkResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._get_incident_page_source_link_endpoint.call_with_http_info(**kwargs) + def get_incident_postmortem_template( self, template_id: str, @@ -2177,6 +4124,79 @@ def get_incident_postmortem_template( return self._get_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + def get_incident_reserved_role( + self, + role_id: UUID, + ) -> IncidentReservedRoleResponse: + """Get an incident reserved role. + + Get the details of a reserved role by its identifier. + + :param role_id: The ID of the reserved role. + :type role_id: UUID + :rtype: IncidentReservedRoleResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["role_id"] = role_id + + return self._get_incident_reserved_role_endpoint.call_with_http_info(**kwargs) + + def get_incident_role_assignment( + self, + role_assignment_id: UUID, + ) -> IncidentRoleAssignmentResponse: + """Get an incident role assignment. + + Get the details of a role assignment by its identifier. + + :param role_assignment_id: The ID of the role assignment. + :type role_assignment_id: UUID + :rtype: IncidentRoleAssignmentResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["role_assignment_id"] = role_assignment_id + + return self._get_incident_role_assignment_endpoint.call_with_http_info(**kwargs) + + def get_incident_status_pages_suggestion( + self, + incident_id: str, + ) -> IncidentStatusPagesSuggestionResponse: + """Get incident status pages suggestion. + + Get an AI-generated suggestion for a status page notice for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentStatusPagesSuggestionResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._get_incident_status_pages_suggestion_endpoint.call_with_http_info(**kwargs) + + def get_incident_timeline_entry_thread( + self, + incident_id: str, + timeline_entry_id: UUID, + ) -> IncidentTimelineThreadResponse: + """Get incident timeline entry thread. + + Get the thread entries for a given timeline entry. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param timeline_entry_id: The ID of the timeline entry. + :type timeline_entry_id: UUID + :rtype: IncidentTimelineThreadResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["timeline_entry_id"] = timeline_entry_id + + return self._get_incident_timeline_entry_thread_endpoint.call_with_http_info(**kwargs) + def get_incident_todo( self, incident_id: str, @@ -2240,6 +4260,18 @@ def get_incident_user_defined_field( return self._get_incident_user_defined_field_endpoint.call_with_http_info(**kwargs) + def get_statuspage_subscription_preferences( + self, + ) -> IncidentStatuspagePreferencesResponse: + """Get status page subscription preferences. + + Get the subscription preferences for the current user. + + :rtype: IncidentStatuspagePreferencesResponse + """ + kwargs: Dict[str, Any] = {} + return self._get_statuspage_subscription_preferences_endpoint.call_with_http_info(**kwargs) + def import_incident( self, body: IncidentImportRequest, @@ -2313,7 +4345,31 @@ def list_incident_attachments( if include is not unset: kwargs["include"] = include - return self._list_incident_attachments_endpoint.call_with_http_info(**kwargs) + return self._list_incident_attachments_endpoint.call_with_http_info(**kwargs) + + def list_incident_communications( + self, + incident_id: str, + *, + filter_communication_type: Union[str, UnsetType] = unset, + ) -> IncidentCommunicationsResponse: + """List incident communications. + + List all communications for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param filter_communication_type: Filter by communication type. + :type filter_communication_type: str, optional + :rtype: IncidentCommunicationsResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + if filter_communication_type is not unset: + kwargs["filter_communication_type"] = filter_communication_type + + return self._list_incident_communications_endpoint.call_with_http_info(**kwargs) def list_incident_impacts( self, @@ -2356,6 +4412,37 @@ def list_incident_integrations( return self._list_incident_integrations_endpoint.call_with_http_info(**kwargs) + def list_incident_jira_templates( + self, + *, + is_default: Union[bool, UnsetType] = unset, + incident_type_id: Union[UUID, UnsetType] = unset, + template_type: Union[str, UnsetType] = unset, + ) -> IncidentJiraTemplatesResponse: + """List incident Jira templates. + + List all incident Jira templates for the organization. + + :param is_default: Filter templates by default status. + :type is_default: bool, optional + :param incident_type_id: Filter templates by incident type identifier. + :type incident_type_id: UUID, optional + :param template_type: Filter templates by type. + :type template_type: str, optional + :rtype: IncidentJiraTemplatesResponse + """ + kwargs: Dict[str, Any] = {} + if is_default is not unset: + kwargs["is_default"] = is_default + + if incident_type_id is not unset: + kwargs["incident_type_id"] = incident_type_id + + if template_type is not unset: + kwargs["template_type"] = template_type + + return self._list_incident_jira_templates_endpoint.call_with_http_info(**kwargs) + def list_incident_notification_rules( self, *, @@ -2400,6 +4487,25 @@ def list_incident_notification_templates( return self._list_incident_notification_templates_endpoint.call_with_http_info(**kwargs) + def list_incident_pagerduty_services( + self, + *, + include_unresolved: Union[bool, UnsetType] = unset, + ) -> IncidentPagerdutyServicesResponse: + """List PagerDuty services. + + List all PagerDuty services configured for the organization. + + :param include_unresolved: Whether to include unresolved PagerDuty services. + :type include_unresolved: bool, optional + :rtype: IncidentPagerdutyServicesResponse + """ + kwargs: Dict[str, Any] = {} + if include_unresolved is not unset: + kwargs["include_unresolved"] = include_unresolved + + return self._list_incident_pagerduty_services_endpoint.call_with_http_info(**kwargs) + def list_incident_postmortem_templates( self, ) -> PostmortemTemplatesResponse: @@ -2412,6 +4518,35 @@ def list_incident_postmortem_templates( kwargs: Dict[str, Any] = {} return self._list_incident_postmortem_templates_endpoint.call_with_http_info(**kwargs) + def list_incident_reserved_roles( + self, + ) -> IncidentReservedRolesResponse: + """List incident reserved roles. + + List all reserved roles for incidents. + + :rtype: IncidentReservedRolesResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_incident_reserved_roles_endpoint.call_with_http_info(**kwargs) + + def list_incident_rule_execution_states( + self, + incident_id: str, + ) -> IncidentRuleExecutionStatesResponse: + """List incident rule execution states. + + List all rule execution states for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentRuleExecutionStatesResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._list_incident_rule_execution_states_endpoint.call_with_http_info(**kwargs) + def list_incidents( self, *, @@ -2486,6 +4621,48 @@ def list_incidents_with_pagination( } return endpoint.call_with_http_info_paginated(pagination) + def list_incident_template_variables( + self, + *, + filter_incident_type: Union[UUID, UnsetType] = unset, + include_follow_ups: Union[bool, UnsetType] = unset, + ) -> IncidentTemplateVariablesResponse: + """List incident template variables. + + List all available template variables for incident templates. + + :param filter_incident_type: Filter template variables by incident type. + :type filter_incident_type: UUID, optional + :param include_follow_ups: Whether to include follow-up template variables. + :type include_follow_ups: bool, optional + :rtype: IncidentTemplateVariablesResponse + """ + kwargs: Dict[str, Any] = {} + if filter_incident_type is not unset: + kwargs["filter_incident_type"] = filter_incident_type + + if include_follow_ups is not unset: + kwargs["include_follow_ups"] = include_follow_ups + + return self._list_incident_template_variables_endpoint.call_with_http_info(**kwargs) + + def list_incident_timeline_entries( + self, + incident_id: str, + ) -> IncidentTimelineEntriesResponse: + """List incident timeline entries. + + Get the timeline for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :rtype: IncidentTimelineEntriesResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + return self._list_incident_timeline_entries_endpoint.call_with_http_info(**kwargs) + def list_incident_todos( self, incident_id: str, @@ -2565,6 +4742,72 @@ def list_incident_user_defined_fields( return self._list_incident_user_defined_fields_endpoint.call_with_http_info(**kwargs) + def list_statuspage_email_subscriptions( + self, + page_id: str, + ) -> IncidentStatuspageSubscriptionsResponse: + """List status page email subscriptions. + + List all email subscriptions for a status page. + + :param page_id: The ID of the status page. + :type page_id: str + :rtype: IncidentStatuspageSubscriptionsResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + return self._list_statuspage_email_subscriptions_endpoint.call_with_http_info(**kwargs) + + def patch_incident_notification_rule( + self, + id: UUID, + body: PutIncidentNotificationRuleRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentNotificationRule: + """Patch an incident notification rule. + + Partially updates an existing notification rule. + + :param id: The ID of the notification rule. + :type id: UUID + :type body: PutIncidentNotificationRuleRequest + :param include: Comma-separated list of resources to include. Supported values: ``created_by_user`` , ``last_modified_by_user`` , ``incident_type`` , ``notification_template`` + :type include: str, optional + :rtype: IncidentNotificationRule + """ + kwargs: Dict[str, Any] = {} + kwargs["id"] = id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._patch_incident_notification_rule_endpoint.call_with_http_info(**kwargs) + + def render_incident_template( + self, + incident_id: str, + body: IncidentRenderTemplateRequest, + ) -> IncidentRenderedTemplateResponse: + """Render an incident template. + + Render a template with incident-specific data. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :type body: IncidentRenderTemplateRequest + :rtype: IncidentRenderedTemplateResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["body"] = body + + return self._render_incident_template_endpoint.call_with_http_info(**kwargs) + def search_incidents( self, query: str, @@ -2665,6 +4908,73 @@ def search_incidents_with_pagination( } return endpoint.call_with_http_info_paginated(pagination) + def search_incidents_v2( + self, + *, + query: Union[str, UnsetType] = unset, + sort: Union[IncidentSearchIncidentsSortOrder, UnsetType] = unset, + with_facets: Union[bool, UnsetType] = unset, + filter_with_deleted: Union[bool, UnsetType] = unset, + semantic_query: Union[str, UnsetType] = unset, + time_zone: Union[str, UnsetType] = unset, + include: Union[List[IncidentSearchIncidentsIncludeType], UnsetType] = unset, + page_size: Union[int, UnsetType] = unset, + page_offset: Union[int, UnsetType] = unset, + ) -> IncidentSearchResponse: + """Search incidents. + + Search for incidents using advanced filtering and pagination. + + :param query: Specifies which incidents should be returned by the search. + :type query: str, optional + :param sort: Specifies the order of returned incidents. + :type sort: IncidentSearchIncidentsSortOrder, optional + :param with_facets: Whether to include facet data in the response. + :type with_facets: bool, optional + :param filter_with_deleted: Whether to include deleted incidents in the response. + :type filter_with_deleted: bool, optional + :param semantic_query: A semantic search query. + :type semantic_query: str, optional + :param time_zone: The timezone for date-based operations. + :type time_zone: str, optional + :param include: Specifies which types of related objects to include. + :type include: [IncidentSearchIncidentsIncludeType], optional + :param page_size: Size for a given page. The maximum allowed value is 100. + :type page_size: int, optional + :param page_offset: Specific offset to use as the beginning of the returned page. + :type page_offset: int, optional + :rtype: IncidentSearchResponse + """ + kwargs: Dict[str, Any] = {} + if query is not unset: + kwargs["query"] = query + + if sort is not unset: + kwargs["sort"] = sort + + if with_facets is not unset: + kwargs["with_facets"] = with_facets + + if filter_with_deleted is not unset: + kwargs["filter_with_deleted"] = filter_with_deleted + + if semantic_query is not unset: + kwargs["semantic_query"] = semantic_query + + if time_zone is not unset: + kwargs["time_zone"] = time_zone + + if include is not unset: + kwargs["include"] = include + + if page_size is not unset: + kwargs["page_size"] = page_size + + if page_offset is not unset: + kwargs["page_offset"] = page_offset + + return self._search_incidents_v2_endpoint.call_with_http_info(**kwargs) + def update_global_incident_handle( self, body: IncidentHandleRequest, @@ -2764,6 +5074,32 @@ def update_incident_attachment( return self._update_incident_attachment_endpoint.call_with_http_info(**kwargs) + def update_incident_communication( + self, + incident_id: str, + communication_id: UUID, + body: IncidentCommunicationRequest, + ) -> IncidentCommunicationResponse: + """Update an incident communication. + + Update a communication for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param communication_id: The ID of the communication. + :type communication_id: UUID + :type body: IncidentCommunicationRequest + :rtype: IncidentCommunicationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["communication_id"] = communication_id + + kwargs["body"] = body + + return self._update_incident_communication_endpoint.call_with_http_info(**kwargs) + def update_incident_integration( self, incident_id: str, @@ -2791,6 +5127,55 @@ def update_incident_integration( return self._update_incident_integration_endpoint.call_with_http_info(**kwargs) + def update_incident_jira_template( + self, + template_id: UUID, + body: IncidentJiraTemplateRequest, + ) -> IncidentJiraTemplateResponse: + """Update an incident Jira template. + + Update an existing incident Jira template. + + :param template_id: The ID of the Jira template. + :type template_id: UUID + :type body: IncidentJiraTemplateRequest + :rtype: IncidentJiraTemplateResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["template_id"] = template_id + + kwargs["body"] = body + + return self._update_incident_jira_template_endpoint.call_with_http_info(**kwargs) + + def update_incident_microsoft_teams_configuration( + self, + configuration_id: UUID, + body: IncidentMicrosoftTeamsConfigurationRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentMicrosoftTeamsConfigurationResponse: + """Update an incident Microsoft Teams configuration. + + Update a Microsoft Teams configuration for incidents. + + :param configuration_id: The ID of the Microsoft Teams configuration. + :type configuration_id: UUID + :type body: IncidentMicrosoftTeamsConfigurationRequest + :param include: Specifies which related objects to include in the response. + :type include: str, optional + :rtype: IncidentMicrosoftTeamsConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["configuration_id"] = configuration_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_incident_microsoft_teams_configuration_endpoint.call_with_http_info(**kwargs) + def update_incident_notification_rule( self, id: UUID, @@ -2868,6 +5253,101 @@ def update_incident_postmortem_template( return self._update_incident_postmortem_template_endpoint.call_with_http_info(**kwargs) + def update_incident_statuspage_incident( + self, + incident_id: str, + page_id: str, + statuspage_incident_id: str, + body: IncidentStatuspageIncidentRequest, + ) -> IncidentStatuspageIncidentResponse: + """Update an incident Statuspage incident. + + Update a Statuspage incident linked to a Datadog incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param page_id: The ID of the Statuspage page. + :type page_id: str + :param statuspage_incident_id: The ID of the Statuspage incident. + :type statuspage_incident_id: str + :type body: IncidentStatuspageIncidentRequest + :rtype: IncidentStatuspageIncidentResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["page_id"] = page_id + + kwargs["statuspage_incident_id"] = statuspage_incident_id + + kwargs["body"] = body + + return self._update_incident_statuspage_incident_endpoint.call_with_http_info(**kwargs) + + def update_incident_status_page_notice( + self, + incident_id: str, + statuspage_id: UUID, + notice_id: UUID, + body: IncidentStatusPageNoticeUpdateRequest, + *, + notify_subscribers: Union[bool, UnsetType] = unset, + ) -> IncidentStatusPageNoticeIntegrationResponse: + """Update an incident status page notice. + + Update a status page notice for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param statuspage_id: The ID of the status page. + :type statuspage_id: UUID + :param notice_id: The ID of the status page notice. + :type notice_id: UUID + :type body: IncidentStatusPageNoticeUpdateRequest + :param notify_subscribers: Whether to notify subscribers about this notice. + :type notify_subscribers: bool, optional + :rtype: IncidentStatusPageNoticeIntegrationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["statuspage_id"] = statuspage_id + + kwargs["notice_id"] = notice_id + + if notify_subscribers is not unset: + kwargs["notify_subscribers"] = notify_subscribers + + kwargs["body"] = body + + return self._update_incident_status_page_notice_endpoint.call_with_http_info(**kwargs) + + def update_incident_timeline_entry( + self, + incident_id: str, + timeline_entry_id: UUID, + body: IncidentTimelineEntryRequest, + ) -> IncidentTimelineEntryResponse: + """Update an incident timeline entry. + + Update a timeline entry for a given incident. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param timeline_entry_id: The ID of the timeline entry. + :type timeline_entry_id: UUID + :type body: IncidentTimelineEntryRequest + :rtype: IncidentTimelineEntryResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["timeline_entry_id"] = timeline_entry_id + + kwargs["body"] = body + + return self._update_incident_timeline_entry_endpoint.call_with_http_info(**kwargs) + def update_incident_todo( self, incident_id: str, @@ -2945,3 +5425,64 @@ 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_zoom_configuration( + self, + configuration_id: UUID, + body: IncidentZoomConfigurationRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentZoomConfigurationResponse: + """Update an incident Zoom configuration. + + Update a Zoom configuration for incidents. + + :param configuration_id: The ID of the Zoom configuration. + :type configuration_id: UUID + :type body: IncidentZoomConfigurationRequest + :param include: Specifies which related objects to include in the response. + :type include: str, optional + :rtype: IncidentZoomConfigurationResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["configuration_id"] = configuration_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_incident_zoom_configuration_endpoint.call_with_http_info(**kwargs) + + def upsert_incident_automation_data( + self, + incident_id: str, + key: str, + body: IncidentAutomationDataRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> IncidentAutomationDataResponse: + """Upsert incident automation data. + + Create or update automation data for a given incident and key. + + :param incident_id: The UUID of the incident. + :type incident_id: str + :param key: The automation data key. + :type key: str + :type body: IncidentAutomationDataRequest + :param include: Specifies which related objects to include in the response. + :type include: str, optional + :rtype: IncidentAutomationDataResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["incident_id"] = incident_id + + kwargs["key"] = key + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._upsert_incident_automation_data_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/model/incident_automation_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_automation_data_attributes_request.py new file mode 100644 index 0000000000..d5dc806691 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_automation_data_attributes_request.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 IncidentAutomationDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + attribute_map = { + "value": "value", + } + + def __init__(self_, value: str, **kwargs): + """ + Attributes for upserting automation data. + + :param value: The automation data value. + :type value: str + """ + super().__init__(kwargs) + + self_.value = value diff --git a/src/datadog_api_client/v2/model/incident_automation_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_automation_data_attributes_response.py new file mode 100644 index 0000000000..50efe5f7e1 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_automation_data_attributes_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 datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + UUID, +) + + +class IncidentAutomationDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created_at": (datetime,), + "incident_id": (UUID,), + "key": (str,), + "updated_at": (datetime,), + "value": (str,), + } + + attribute_map = { + "created_at": "created_at", + "incident_id": "incident_id", + "key": "key", + "updated_at": "updated_at", + "value": "value", + } + + def __init__(self_, created_at: datetime, incident_id: UUID, key: str, updated_at: datetime, value: str, **kwargs): + """ + Attributes of incident automation data. + + :param created_at: Timestamp when the data was created. + :type created_at: datetime + + :param incident_id: The incident identifier. + :type incident_id: UUID + + :param key: The automation data key. + :type key: str + + :param updated_at: Timestamp when the data was last updated. + :type updated_at: datetime + + :param value: The automation data value. + :type value: str + """ + super().__init__(kwargs) + + self_.created_at = created_at + self_.incident_id = incident_id + self_.key = key + self_.updated_at = updated_at + self_.value = value diff --git a/src/datadog_api_client/v2/model/incident_automation_data_data_request.py b/src/datadog_api_client/v2/model/incident_automation_data_data_request.py new file mode 100644 index 0000000000..42778c06e0 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_automation_data_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_automation_data_attributes_request import ( + IncidentAutomationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_automation_data_type import IncidentAutomationDataType + + +class IncidentAutomationDataDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_automation_data_attributes_request import ( + IncidentAutomationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_automation_data_type import IncidentAutomationDataType + + return { + "attributes": (IncidentAutomationDataAttributesRequest,), + "type": (IncidentAutomationDataType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: IncidentAutomationDataAttributesRequest, type: IncidentAutomationDataType, **kwargs + ): + """ + Automation data for a request. + + :param attributes: Attributes for upserting automation data. + :type attributes: IncidentAutomationDataAttributesRequest + + :param type: Incident automation data resource type. + :type type: IncidentAutomationDataType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_automation_data_data_response.py b/src/datadog_api_client/v2/model/incident_automation_data_data_response.py new file mode 100644 index 0000000000..cdb67fd60b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_automation_data_data_response.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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_automation_data_attributes_response import ( + IncidentAutomationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_automation_data_type import IncidentAutomationDataType + + +class IncidentAutomationDataDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_automation_data_attributes_response import ( + IncidentAutomationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_automation_data_type import IncidentAutomationDataType + + return { + "attributes": (IncidentAutomationDataAttributesResponse,), + "id": (str,), + "type": (IncidentAutomationDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, attributes: IncidentAutomationDataAttributesResponse, id: str, type: IncidentAutomationDataType, **kwargs + ): + """ + Automation data in a response. + + :param attributes: Attributes of incident automation data. + :type attributes: IncidentAutomationDataAttributesResponse + + :param id: The automation data identifier. + :type id: str + + :param type: Incident automation data resource type. + :type type: IncidentAutomationDataType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_automation_data_request.py b/src/datadog_api_client/v2/model/incident_automation_data_request.py new file mode 100644 index 0000000000..f175b81855 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_automation_data_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_automation_data_data_request import IncidentAutomationDataDataRequest + + +class IncidentAutomationDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_automation_data_data_request import IncidentAutomationDataDataRequest + + return { + "data": (IncidentAutomationDataDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentAutomationDataDataRequest, **kwargs): + """ + Request to upsert automation data. + + :param data: Automation data for a request. + :type data: IncidentAutomationDataDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_automation_data_response.py b/src/datadog_api_client/v2/model/incident_automation_data_response.py new file mode 100644 index 0000000000..908988a27f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_automation_data_response.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_automation_data_data_response import IncidentAutomationDataDataResponse + + +class IncidentAutomationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_automation_data_data_response import ( + IncidentAutomationDataDataResponse, + ) + + return { + "data": (IncidentAutomationDataDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentAutomationDataDataResponse, **kwargs): + """ + Response with automation data. + + :param data: Automation data in a response. + :type data: IncidentAutomationDataDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_automation_data_type.py b/src/datadog_api_client/v2/model/incident_automation_data_type.py new file mode 100644 index 0000000000..27e381962a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_automation_data_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 IncidentAutomationDataType(ModelSimple): + """ + Incident automation data resource type. + + :param value: If omitted defaults to "incidents_automation_data". Must be one of ["incidents_automation_data"]. + :type value: str + """ + + allowed_values = { + "incidents_automation_data", + } + INCIDENTS_AUTOMATION_DATA: ClassVar["IncidentAutomationDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentAutomationDataType.INCIDENTS_AUTOMATION_DATA = IncidentAutomationDataType("incidents_automation_data") diff --git a/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_data.py b/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_data.py new file mode 100644 index 0000000000..f6b95ac930 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_data.py @@ -0,0 +1,57 @@ +# 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_batch_create_rule_execution_states_data_attributes import ( + IncidentBatchCreateRuleExecutionStatesDataAttributes, + ) + from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType + + +class IncidentBatchCreateRuleExecutionStatesData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_batch_create_rule_execution_states_data_attributes import ( + IncidentBatchCreateRuleExecutionStatesDataAttributes, + ) + from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType + + return { + "attributes": (IncidentBatchCreateRuleExecutionStatesDataAttributes,), + "type": (IncidentRuleExecutionStateType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentBatchCreateRuleExecutionStatesDataAttributes, + type: IncidentRuleExecutionStateType, + **kwargs, + ): + """ + Data for batch creating rule execution states. + + :param attributes: Attributes for batch creating rule execution states. + :type attributes: IncidentBatchCreateRuleExecutionStatesDataAttributes + + :param type: Incident rule execution state resource type. + :type type: IncidentRuleExecutionStateType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_data_attributes.py b/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_data_attributes.py new file mode 100644 index 0000000000..f6d275f3de --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_data_attributes.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_execution_state_rule import IncidentRuleExecutionStateRule + + +class IncidentBatchCreateRuleExecutionStatesDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_execution_state_rule import IncidentRuleExecutionStateRule + + return { + "rules": ([IncidentRuleExecutionStateRule],), + } + + attribute_map = { + "rules": "rules", + } + + def __init__(self_, rules: List[IncidentRuleExecutionStateRule], **kwargs): + """ + Attributes for batch creating rule execution states. + + :param rules: List of rules to create execution states for. + :type rules: [IncidentRuleExecutionStateRule] + """ + super().__init__(kwargs) + + self_.rules = rules diff --git a/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_request.py b/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_request.py new file mode 100644 index 0000000000..635697dd33 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_batch_create_rule_execution_states_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_batch_create_rule_execution_states_data import ( + IncidentBatchCreateRuleExecutionStatesData, + ) + + +class IncidentBatchCreateRuleExecutionStatesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_batch_create_rule_execution_states_data import ( + IncidentBatchCreateRuleExecutionStatesData, + ) + + return { + "data": (IncidentBatchCreateRuleExecutionStatesData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentBatchCreateRuleExecutionStatesData, **kwargs): + """ + Request to batch create rule execution states. + + :param data: Data for batch creating rule execution states. + :type data: IncidentBatchCreateRuleExecutionStatesData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_data.py b/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_data.py new file mode 100644 index 0000000000..188f90f82a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_data.py @@ -0,0 +1,57 @@ +# 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_batch_update_rule_execution_states_data_attributes import ( + IncidentBatchUpdateRuleExecutionStatesDataAttributes, + ) + from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType + + +class IncidentBatchUpdateRuleExecutionStatesData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_batch_update_rule_execution_states_data_attributes import ( + IncidentBatchUpdateRuleExecutionStatesDataAttributes, + ) + from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType + + return { + "attributes": (IncidentBatchUpdateRuleExecutionStatesDataAttributes,), + "type": (IncidentRuleExecutionStateType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentBatchUpdateRuleExecutionStatesDataAttributes, + type: IncidentRuleExecutionStateType, + **kwargs, + ): + """ + Data for batch updating rule execution states. + + :param attributes: Attributes for batch updating rule execution states. + :type attributes: IncidentBatchUpdateRuleExecutionStatesDataAttributes + + :param type: Incident rule execution state resource type. + :type type: IncidentRuleExecutionStateType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_data_attributes.py b/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_data_attributes.py new file mode 100644 index 0000000000..65251273a0 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_data_attributes.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_execution_state_rule import IncidentRuleExecutionStateRule + + +class IncidentBatchUpdateRuleExecutionStatesDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_execution_state_rule import IncidentRuleExecutionStateRule + + return { + "rules": ([IncidentRuleExecutionStateRule],), + } + + attribute_map = { + "rules": "rules", + } + + def __init__(self_, rules: List[IncidentRuleExecutionStateRule], **kwargs): + """ + Attributes for batch updating rule execution states. + + :param rules: List of rules to update execution states for. + :type rules: [IncidentRuleExecutionStateRule] + """ + super().__init__(kwargs) + + self_.rules = rules diff --git a/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_request.py b/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_request.py new file mode 100644 index 0000000000..007f493430 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_batch_update_rule_execution_states_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_batch_update_rule_execution_states_data import ( + IncidentBatchUpdateRuleExecutionStatesData, + ) + + +class IncidentBatchUpdateRuleExecutionStatesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_batch_update_rule_execution_states_data import ( + IncidentBatchUpdateRuleExecutionStatesData, + ) + + return { + "data": (IncidentBatchUpdateRuleExecutionStatesData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentBatchUpdateRuleExecutionStatesData, **kwargs): + """ + Request to batch update rule execution states. + + :param data: Data for batch updating rule execution states. + :type data: IncidentBatchUpdateRuleExecutionStatesData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_case_link_data.py b/src/datadog_api_client/v2/model/incident_case_link_data.py new file mode 100644 index 0000000000..280cb05fde --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_case_link_data.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_case_link_data_attributes import IncidentCaseLinkDataAttributes + from datadog_api_client.v2.model.incident_case_link_type import IncidentCaseLinkType + + +class IncidentCaseLinkData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_case_link_data_attributes import IncidentCaseLinkDataAttributes + from datadog_api_client.v2.model.incident_case_link_type import IncidentCaseLinkType + + return { + "attributes": (IncidentCaseLinkDataAttributes,), + "id": (str,), + "type": (IncidentCaseLinkType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__(self_, attributes: IncidentCaseLinkDataAttributes, id: str, type: IncidentCaseLinkType, **kwargs): + """ + Case link data. + + :param attributes: Attributes of a case link. + :type attributes: IncidentCaseLinkDataAttributes + + :param id: The case link identifier. + :type id: str + + :param type: Case link resource type. + :type type: IncidentCaseLinkType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_case_link_data_attributes.py b/src/datadog_api_client/v2/model/incident_case_link_data_attributes.py new file mode 100644 index 0000000000..3503213209 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_case_link_data_attributes.py @@ -0,0 +1,45 @@ +# 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 IncidentCaseLinkDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "entity_id": (str,), + "is_page": (bool,), + "relationship": (str,), + } + + attribute_map = { + "entity_id": "entity_id", + "is_page": "is_page", + "relationship": "relationship", + } + + def __init__(self_, entity_id: str, is_page: bool, relationship: str, **kwargs): + """ + Attributes of a case link. + + :param entity_id: The entity identifier. + :type entity_id: str + + :param is_page: Whether this is a page link. + :type is_page: bool + + :param relationship: The relationship type. + :type relationship: str + """ + super().__init__(kwargs) + + self_.entity_id = entity_id + self_.is_page = is_page + self_.relationship = relationship diff --git a/src/datadog_api_client/v2/model/incident_case_link_response.py b/src/datadog_api_client/v2/model/incident_case_link_response.py new file mode 100644 index 0000000000..60774404b9 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_case_link_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_case_link_data import IncidentCaseLinkData + + +class IncidentCaseLinkResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_case_link_data import IncidentCaseLinkData + + return { + "data": (IncidentCaseLinkData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentCaseLinkData, **kwargs): + """ + Response with a case link. + + :param data: Case link data. + :type data: IncidentCaseLinkData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_case_link_type.py b/src/datadog_api_client/v2/model/incident_case_link_type.py new file mode 100644 index 0000000000..4dc2cd6987 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_case_link_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 IncidentCaseLinkType(ModelSimple): + """ + Case link resource type. + + :param value: If omitted defaults to "case_link". Must be one of ["case_link"]. + :type value: str + """ + + allowed_values = { + "case_link", + } + CASE_LINK: ClassVar["IncidentCaseLinkType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentCaseLinkType.CASE_LINK = IncidentCaseLinkType("case_link") diff --git a/src/datadog_api_client/v2/model/incident_communication_content.py b/src/datadog_api_client/v2/model/incident_communication_content.py new file mode 100644 index 0000000000..c9f654f78f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_content.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 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_communication_content_handle import IncidentCommunicationContentHandle + + +class IncidentCommunicationContent(ModelNormal): + validations = { + "status": { + "inclusive_maximum": 2147483647, + }, + } + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_communication_content_handle import IncidentCommunicationContentHandle + + return { + "grouping_key": (str,), + "handles": ([IncidentCommunicationContentHandle],), + "message": (str,), + "status": (int,), + "subject": (str,), + } + + attribute_map = { + "grouping_key": "grouping_key", + "handles": "handles", + "message": "message", + "status": "status", + "subject": "subject", + } + + def __init__( + self_, + handles: List[IncidentCommunicationContentHandle], + message: str, + grouping_key: Union[str, UnsetType] = unset, + status: Union[int, UnsetType] = unset, + subject: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + The content of a communication. + + :param grouping_key: A key used for grouping communications. + :type grouping_key: str, optional + + :param handles: The list of handles the communication is sent to. + :type handles: [IncidentCommunicationContentHandle] + + :param message: The message body of the communication. + :type message: str + + :param status: The status code of the communication. + :type status: int, optional + + :param subject: The subject line of the communication. + :type subject: str, optional + """ + if grouping_key is not unset: + kwargs["grouping_key"] = grouping_key + if status is not unset: + kwargs["status"] = status + if subject is not unset: + kwargs["subject"] = subject + super().__init__(kwargs) + + self_.handles = handles + self_.message = message diff --git a/src/datadog_api_client/v2/model/incident_communication_content_handle.py b/src/datadog_api_client/v2/model/incident_communication_content_handle.py new file mode 100644 index 0000000000..2ec6ed280b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_content_handle.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 Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentCommunicationContentHandle(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created_at": (str,), + "display_name": (str,), + "handle": (str,), + } + + attribute_map = { + "created_at": "created_at", + "display_name": "display_name", + "handle": "handle", + } + + def __init__( + self_, + handle: str, + created_at: Union[str, UnsetType] = unset, + display_name: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + A handle used for sending a communication. + + :param created_at: Timestamp when the handle was added. + :type created_at: str, optional + + :param display_name: The display name for the handle. + :type display_name: str, optional + + :param handle: The notification handle. + :type handle: str + """ + if created_at is not unset: + kwargs["created_at"] = created_at + if display_name is not unset: + kwargs["display_name"] = display_name + super().__init__(kwargs) + + self_.handle = handle diff --git a/src/datadog_api_client/v2/model/incident_communication_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_communication_data_attributes_request.py new file mode 100644 index 0000000000..2fde7e7ca4 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_communication_kind import IncidentCommunicationKind + from datadog_api_client.v2.model.incident_communication_content import IncidentCommunicationContent + + +class IncidentCommunicationDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_communication_kind import IncidentCommunicationKind + from datadog_api_client.v2.model.incident_communication_content import IncidentCommunicationContent + + return { + "communication_type": (IncidentCommunicationKind,), + "content": (IncidentCommunicationContent,), + } + + attribute_map = { + "communication_type": "communication_type", + "content": "content", + } + + def __init__(self_, communication_type: IncidentCommunicationKind, content: IncidentCommunicationContent, **kwargs): + """ + Attributes for creating or updating a communication. + + :param communication_type: The kind of communication. + :type communication_type: IncidentCommunicationKind + + :param content: The content of a communication. + :type content: IncidentCommunicationContent + """ + super().__init__(kwargs) + + self_.communication_type = communication_type + self_.content = content diff --git a/src/datadog_api_client/v2/model/incident_communication_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_communication_data_attributes_response.py new file mode 100644 index 0000000000..3232e93975 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_data_attributes_response.py @@ -0,0 +1,76 @@ +# 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_communication_kind import IncidentCommunicationKind + from datadog_api_client.v2.model.incident_communication_content import IncidentCommunicationContent + + +class IncidentCommunicationDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_communication_kind import IncidentCommunicationKind + from datadog_api_client.v2.model.incident_communication_content import IncidentCommunicationContent + + return { + "communication_type": (IncidentCommunicationKind,), + "content": (IncidentCommunicationContent,), + "created": (datetime,), + "incident_id": (UUID,), + "modified": (datetime,), + } + + attribute_map = { + "communication_type": "communication_type", + "content": "content", + "created": "created", + "incident_id": "incident_id", + "modified": "modified", + } + + def __init__( + self_, + communication_type: IncidentCommunicationKind, + content: IncidentCommunicationContent, + created: datetime, + incident_id: UUID, + modified: datetime, + **kwargs, + ): + """ + Attributes of an incident communication response. + + :param communication_type: The kind of communication. + :type communication_type: IncidentCommunicationKind + + :param content: The content of a communication. + :type content: IncidentCommunicationContent + + :param created: Timestamp when the communication was created. + :type created: datetime + + :param incident_id: The incident identifier. + :type incident_id: UUID + + :param modified: Timestamp when the communication was last modified. + :type modified: datetime + """ + super().__init__(kwargs) + + self_.communication_type = communication_type + self_.content = content + self_.created = created + self_.incident_id = incident_id + self_.modified = modified diff --git a/src/datadog_api_client/v2/model/incident_communication_data_request.py b/src/datadog_api_client/v2/model/incident_communication_data_request.py new file mode 100644 index 0000000000..51b1fc77aa --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_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_communication_data_attributes_request import ( + IncidentCommunicationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_communication_type import IncidentCommunicationType + + +class IncidentCommunicationDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_communication_data_attributes_request import ( + IncidentCommunicationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_communication_type import IncidentCommunicationType + + return { + "attributes": (IncidentCommunicationDataAttributesRequest,), + "type": (IncidentCommunicationType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: IncidentCommunicationDataAttributesRequest, type: IncidentCommunicationType, **kwargs + ): + """ + Incident communication data for a request. + + :param attributes: Attributes for creating or updating a communication. + :type attributes: IncidentCommunicationDataAttributesRequest + + :param type: Incident communication resource type. + :type type: IncidentCommunicationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_communication_data_response.py b/src/datadog_api_client/v2/model/incident_communication_data_response.py new file mode 100644 index 0000000000..f35d19da72 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_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_communication_data_attributes_response import ( + IncidentCommunicationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_communication_type import IncidentCommunicationType + + +class IncidentCommunicationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_communication_data_attributes_response import ( + IncidentCommunicationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_communication_type import IncidentCommunicationType + + return { + "attributes": (IncidentCommunicationDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentCommunicationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentCommunicationDataAttributesResponse, + id: UUID, + type: IncidentCommunicationType, + **kwargs, + ): + """ + Incident communication data in a response. + + :param attributes: Attributes of an incident communication response. + :type attributes: IncidentCommunicationDataAttributesResponse + + :param id: The communication identifier. + :type id: UUID + + :param type: Incident communication resource type. + :type type: IncidentCommunicationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_communication_kind.py b/src/datadog_api_client/v2/model/incident_communication_kind.py new file mode 100644 index 0000000000..8a0c4972ac --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_kind.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 IncidentCommunicationKind(ModelSimple): + """ + The kind of communication. + + :param value: Must be one of ["manual", "automated"]. + :type value: str + """ + + allowed_values = { + "manual", + "automated", + } + MANUAL: ClassVar["IncidentCommunicationKind"] + AUTOMATED: ClassVar["IncidentCommunicationKind"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentCommunicationKind.MANUAL = IncidentCommunicationKind("manual") +IncidentCommunicationKind.AUTOMATED = IncidentCommunicationKind("automated") diff --git a/src/datadog_api_client/v2/model/incident_communication_request.py b/src/datadog_api_client/v2/model/incident_communication_request.py new file mode 100644 index 0000000000..13eb49a548 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_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_communication_data_request import IncidentCommunicationDataRequest + + +class IncidentCommunicationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_communication_data_request import IncidentCommunicationDataRequest + + return { + "data": (IncidentCommunicationDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentCommunicationDataRequest, **kwargs): + """ + Request to create or update a communication. + + :param data: Incident communication data for a request. + :type data: IncidentCommunicationDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_communication_response.py b/src/datadog_api_client/v2/model/incident_communication_response.py new file mode 100644 index 0000000000..0827d63b59 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_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_communication_data_response import IncidentCommunicationDataResponse + + +class IncidentCommunicationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_communication_data_response import IncidentCommunicationDataResponse + + return { + "data": (IncidentCommunicationDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentCommunicationDataResponse, **kwargs): + """ + Response with a single communication. + + :param data: Incident communication data in a response. + :type data: IncidentCommunicationDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_communication_type.py b/src/datadog_api_client/v2/model/incident_communication_type.py new file mode 100644 index 0000000000..a56b31dec2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communication_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 IncidentCommunicationType(ModelSimple): + """ + Incident communication resource type. + + :param value: If omitted defaults to "communication". Must be one of ["communication"]. + :type value: str + """ + + allowed_values = { + "communication", + } + COMMUNICATION: ClassVar["IncidentCommunicationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentCommunicationType.COMMUNICATION = IncidentCommunicationType("communication") diff --git a/src/datadog_api_client/v2/model/incident_communications_response.py b/src/datadog_api_client/v2/model/incident_communications_response.py new file mode 100644 index 0000000000..9ddd14c6f2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_communications_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_communication_data_response import IncidentCommunicationDataResponse + + +class IncidentCommunicationsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_communication_data_response import IncidentCommunicationDataResponse + + return { + "data": ([IncidentCommunicationDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentCommunicationDataResponse], **kwargs): + """ + Response with a list of communications. + + :param data: List of communications. + :type data: [IncidentCommunicationDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_create_zoom_meeting_data.py b/src/datadog_api_client/v2/model/incident_create_zoom_meeting_data.py new file mode 100644 index 0000000000..d68cb934f6 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_zoom_meeting_data.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_create_zoom_meeting_data_attributes import ( + IncidentCreateZoomMeetingDataAttributes, + ) + from datadog_api_client.v2.model.incident_zoom_integration_type import IncidentZoomIntegrationType + + +class IncidentCreateZoomMeetingData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_create_zoom_meeting_data_attributes import ( + IncidentCreateZoomMeetingDataAttributes, + ) + from datadog_api_client.v2.model.incident_zoom_integration_type import IncidentZoomIntegrationType + + return { + "attributes": (IncidentCreateZoomMeetingDataAttributes,), + "type": (IncidentZoomIntegrationType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: IncidentCreateZoomMeetingDataAttributes, type: IncidentZoomIntegrationType, **kwargs + ): + """ + Data for creating a Zoom meeting. + + :param attributes: Attributes for creating a Zoom meeting. + :type attributes: IncidentCreateZoomMeetingDataAttributes + + :param type: Incident integration resource type. + :type type: IncidentZoomIntegrationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_create_zoom_meeting_data_attributes.py b/src/datadog_api_client/v2/model/incident_create_zoom_meeting_data_attributes.py new file mode 100644 index 0000000000..c9cd587d53 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_zoom_meeting_data_attributes.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 IncidentCreateZoomMeetingDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "topic": (str,), + } + + attribute_map = { + "topic": "topic", + } + + def __init__(self_, topic: str, **kwargs): + """ + Attributes for creating a Zoom meeting. + + :param topic: The topic of the Zoom meeting. + :type topic: str + """ + super().__init__(kwargs) + + self_.topic = topic diff --git a/src/datadog_api_client/v2/model/incident_create_zoom_meeting_request.py b/src/datadog_api_client/v2/model/incident_create_zoom_meeting_request.py new file mode 100644 index 0000000000..dc3211ae57 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_create_zoom_meeting_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_create_zoom_meeting_data import IncidentCreateZoomMeetingData + + +class IncidentCreateZoomMeetingRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_create_zoom_meeting_data import IncidentCreateZoomMeetingData + + return { + "data": (IncidentCreateZoomMeetingData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentCreateZoomMeetingData, **kwargs): + """ + Request to create a Zoom meeting for an incident. + + :param data: Data for creating a Zoom meeting. + :type data: IncidentCreateZoomMeetingData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_google_meet_integration_data_attributes.py b/src/datadog_api_client/v2/model/incident_google_meet_integration_data_attributes.py new file mode 100644 index 0000000000..fa07a57cbb --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_integration_data_attributes.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 typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_google_meet_space import IncidentGoogleMeetSpace + + +class IncidentGoogleMeetIntegrationDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_space import IncidentGoogleMeetSpace + + return { + "created": (datetime,), + "integration_type": (str,), + "modified": (datetime,), + "spaces": ([IncidentGoogleMeetSpace],), + "status": (str,), + } + + attribute_map = { + "created": "created", + "integration_type": "integration_type", + "modified": "modified", + "spaces": "spaces", + "status": "status", + } + + def __init__( + self_, + created: datetime, + integration_type: str, + modified: datetime, + spaces: List[IncidentGoogleMeetSpace], + status: str, + **kwargs, + ): + """ + Attributes of a Google Meet integration metadata. + + :param created: Timestamp when the integration was created. + :type created: datetime + + :param integration_type: The type of integration. + :type integration_type: str + + :param modified: Timestamp when the integration was last modified. + :type modified: datetime + + :param spaces: List of Google Meet spaces. + :type spaces: [IncidentGoogleMeetSpace] + + :param status: The status of the integration. + :type status: str + """ + super().__init__(kwargs) + + self_.created = created + self_.integration_type = integration_type + self_.modified = modified + self_.spaces = spaces + self_.status = status diff --git a/src/datadog_api_client/v2/model/incident_google_meet_integration_data_response.py b/src/datadog_api_client/v2/model/incident_google_meet_integration_data_response.py new file mode 100644 index 0000000000..f2b1b48eef --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_integration_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_google_meet_integration_data_attributes import ( + IncidentGoogleMeetIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_google_meet_integration_type import IncidentGoogleMeetIntegrationType + + +class IncidentGoogleMeetIntegrationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_integration_data_attributes import ( + IncidentGoogleMeetIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_google_meet_integration_type import IncidentGoogleMeetIntegrationType + + return { + "attributes": (IncidentGoogleMeetIntegrationDataAttributes,), + "id": (UUID,), + "type": (IncidentGoogleMeetIntegrationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentGoogleMeetIntegrationDataAttributes, + id: UUID, + type: IncidentGoogleMeetIntegrationType, + **kwargs, + ): + """ + Google Meet integration data in a response. + + :param attributes: Attributes of a Google Meet integration metadata. + :type attributes: IncidentGoogleMeetIntegrationDataAttributes + + :param id: The integration identifier. + :type id: UUID + + :param type: Incident integration resource type. + :type type: IncidentGoogleMeetIntegrationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_google_meet_integration_response.py b/src/datadog_api_client/v2/model/incident_google_meet_integration_response.py new file mode 100644 index 0000000000..41753ce9b2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_integration_response.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_integration_data_response import ( + IncidentGoogleMeetIntegrationDataResponse, + ) + + +class IncidentGoogleMeetIntegrationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_google_meet_integration_data_response import ( + IncidentGoogleMeetIntegrationDataResponse, + ) + + return { + "data": (IncidentGoogleMeetIntegrationDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentGoogleMeetIntegrationDataResponse, **kwargs): + """ + Response with Google Meet integration metadata. + + :param data: Google Meet integration data in a response. + :type data: IncidentGoogleMeetIntegrationDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_google_meet_integration_type.py b/src/datadog_api_client/v2/model/incident_google_meet_integration_type.py new file mode 100644 index 0000000000..acd0abb436 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_integration_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 IncidentGoogleMeetIntegrationType(ModelSimple): + """ + Incident integration resource type. + + :param value: If omitted defaults to "incident_integrations". Must be one of ["incident_integrations"]. + :type value: str + """ + + allowed_values = { + "incident_integrations", + } + INCIDENT_INTEGRATIONS: ClassVar["IncidentGoogleMeetIntegrationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentGoogleMeetIntegrationType.INCIDENT_INTEGRATIONS = IncidentGoogleMeetIntegrationType("incident_integrations") diff --git a/src/datadog_api_client/v2/model/incident_google_meet_space.py b/src/datadog_api_client/v2/model/incident_google_meet_space.py new file mode 100644 index 0000000000..410d90f24c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_google_meet_space.py @@ -0,0 +1,45 @@ +# 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 IncidentGoogleMeetSpace(ModelNormal): + @cached_property + def openapi_types(_): + return { + "join_url": (str,), + "meeting_code": (str,), + "name": (str,), + } + + attribute_map = { + "join_url": "join_url", + "meeting_code": "meeting_code", + "name": "name", + } + + def __init__(self_, join_url: str, meeting_code: str, name: str, **kwargs): + """ + A Google Meet space associated with an incident. + + :param join_url: The URL to join the Google Meet space. + :type join_url: str + + :param meeting_code: The meeting code for the space. + :type meeting_code: str + + :param name: The name of the Google Meet space. + :type name: str + """ + super().__init__(kwargs) + + self_.join_url = join_url + self_.meeting_code = meeting_code + self_.name = name diff --git a/src/datadog_api_client/v2/model/incident_jira_issue_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_jira_issue_data_attributes_request.py new file mode 100644 index 0000000000..6c06df98f5 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_issue_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 + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +class IncidentJiraIssueDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "account_id": (str,), + "issue_type_id": (str,), + "project_id": (str,), + "template_id": (UUID,), + } + + attribute_map = { + "account_id": "account_id", + "issue_type_id": "issue_type_id", + "project_id": "project_id", + "template_id": "template_id", + } + + def __init__( + self_, + account_id: str, + issue_type_id: str, + project_id: str, + template_id: Union[UUID, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating a Jira issue from an incident. + + :param account_id: The Jira account identifier. + :type account_id: str + + :param issue_type_id: The Jira issue type identifier. + :type issue_type_id: str + + :param project_id: The Jira project identifier. + :type project_id: str + + :param template_id: The identifier of the Jira template to use. + :type template_id: UUID, optional + """ + if template_id is not unset: + kwargs["template_id"] = template_id + super().__init__(kwargs) + + self_.account_id = account_id + self_.issue_type_id = issue_type_id + self_.project_id = project_id diff --git a/src/datadog_api_client/v2/model/incident_jira_issue_data_request.py b/src/datadog_api_client/v2/model/incident_jira_issue_data_request.py new file mode 100644 index 0000000000..af9d8f2ff7 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_issue_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_jira_issue_data_attributes_request import ( + IncidentJiraIssueDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_jira_issue_type import IncidentJiraIssueType + + +class IncidentJiraIssueDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_issue_data_attributes_request import ( + IncidentJiraIssueDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_jira_issue_type import IncidentJiraIssueType + + return { + "attributes": (IncidentJiraIssueDataAttributesRequest,), + "type": (IncidentJiraIssueType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__(self_, attributes: IncidentJiraIssueDataAttributesRequest, type: IncidentJiraIssueType, **kwargs): + """ + Jira issue data for a request. + + :param attributes: Attributes for creating a Jira issue from an incident. + :type attributes: IncidentJiraIssueDataAttributesRequest + + :param type: Incident Jira issue resource type. + :type type: IncidentJiraIssueType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_jira_issue_integration_data_attributes.py b/src/datadog_api_client/v2/model/incident_jira_issue_integration_data_attributes.py new file mode 100644 index 0000000000..d4ac1ed8ef --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_issue_integration_data_attributes.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 datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +class IncidentJiraIssueIntegrationDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created": (datetime,), + "integration_type": (str,), + "modified": (datetime,), + "status": (str,), + } + + attribute_map = { + "created": "created", + "integration_type": "integration_type", + "modified": "modified", + "status": "status", + } + + def __init__(self_, created: datetime, integration_type: str, modified: datetime, status: str, **kwargs): + """ + Attributes of a Jira issue integration. + + :param created: Timestamp when the integration was created. + :type created: datetime + + :param integration_type: The type of integration. + :type integration_type: str + + :param modified: Timestamp when the integration was last modified. + :type modified: datetime + + :param status: The status of the integration. + :type status: str + """ + super().__init__(kwargs) + + self_.created = created + self_.integration_type = integration_type + self_.modified = modified + self_.status = status diff --git a/src/datadog_api_client/v2/model/incident_jira_issue_integration_data_response.py b/src/datadog_api_client/v2/model/incident_jira_issue_integration_data_response.py new file mode 100644 index 0000000000..14b362b71b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_issue_integration_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_jira_issue_integration_data_attributes import ( + IncidentJiraIssueIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_jira_issue_integration_type import IncidentJiraIssueIntegrationType + + +class IncidentJiraIssueIntegrationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_issue_integration_data_attributes import ( + IncidentJiraIssueIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_jira_issue_integration_type import IncidentJiraIssueIntegrationType + + return { + "attributes": (IncidentJiraIssueIntegrationDataAttributes,), + "id": (UUID,), + "type": (IncidentJiraIssueIntegrationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentJiraIssueIntegrationDataAttributes, + id: UUID, + type: IncidentJiraIssueIntegrationType, + **kwargs, + ): + """ + Jira issue integration data in a response. + + :param attributes: Attributes of a Jira issue integration. + :type attributes: IncidentJiraIssueIntegrationDataAttributes + + :param id: The integration identifier. + :type id: UUID + + :param type: Incident integration resource type. + :type type: IncidentJiraIssueIntegrationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_jira_issue_integration_response.py b/src/datadog_api_client/v2/model/incident_jira_issue_integration_response.py new file mode 100644 index 0000000000..1684c9cb9a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_issue_integration_response.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_jira_issue_integration_data_response import ( + IncidentJiraIssueIntegrationDataResponse, + ) + + +class IncidentJiraIssueIntegrationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_issue_integration_data_response import ( + IncidentJiraIssueIntegrationDataResponse, + ) + + return { + "data": (IncidentJiraIssueIntegrationDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentJiraIssueIntegrationDataResponse, **kwargs): + """ + Response with Jira issue integration metadata. + + :param data: Jira issue integration data in a response. + :type data: IncidentJiraIssueIntegrationDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_jira_issue_integration_type.py b/src/datadog_api_client/v2/model/incident_jira_issue_integration_type.py new file mode 100644 index 0000000000..ffbf8f90e2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_issue_integration_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 IncidentJiraIssueIntegrationType(ModelSimple): + """ + Incident integration resource type. + + :param value: If omitted defaults to "incident_integrations". Must be one of ["incident_integrations"]. + :type value: str + """ + + allowed_values = { + "incident_integrations", + } + INCIDENT_INTEGRATIONS: ClassVar["IncidentJiraIssueIntegrationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentJiraIssueIntegrationType.INCIDENT_INTEGRATIONS = IncidentJiraIssueIntegrationType("incident_integrations") diff --git a/src/datadog_api_client/v2/model/incident_jira_issue_request.py b/src/datadog_api_client/v2/model/incident_jira_issue_request.py new file mode 100644 index 0000000000..a6e821e686 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_issue_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_jira_issue_data_request import IncidentJiraIssueDataRequest + + +class IncidentJiraIssueRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_issue_data_request import IncidentJiraIssueDataRequest + + return { + "data": (IncidentJiraIssueDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentJiraIssueDataRequest, **kwargs): + """ + Request to create a Jira issue from an incident. + + :param data: Jira issue data for a request. + :type data: IncidentJiraIssueDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_jira_issue_type.py b/src/datadog_api_client/v2/model/incident_jira_issue_type.py new file mode 100644 index 0000000000..5b6b3bfa9c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_issue_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 IncidentJiraIssueType(ModelSimple): + """ + Incident Jira issue resource type. + + :param value: If omitted defaults to "incident_jira_issues". Must be one of ["incident_jira_issues"]. + :type value: str + """ + + allowed_values = { + "incident_jira_issues", + } + INCIDENT_JIRA_ISSUES: ClassVar["IncidentJiraIssueType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentJiraIssueType.INCIDENT_JIRA_ISSUES = IncidentJiraIssueType("incident_jira_issues") diff --git a/src/datadog_api_client/v2/model/incident_jira_template_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_jira_template_data_attributes_request.py new file mode 100644 index 0000000000..6d9f91da71 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_data_attributes_request.py @@ -0,0 +1,184 @@ +# 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, List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + date, + datetime, + none_type, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_jira_template_field_configuration import ( + IncidentJiraTemplateFieldConfiguration, + ) + + +class IncidentJiraTemplateDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_field_configuration import ( + IncidentJiraTemplateFieldConfiguration, + ) + + return { + "account_id": (str,), + "field_configurations": ([IncidentJiraTemplateFieldConfiguration],), + "fields": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "is_default": (bool,), + "issue_id": (str,), + "mappings": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "meta": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "name": (str,), + "project_id": (str,), + "project_key": (str,), + "sync_enabled": (bool,), + "type": (str,), + } + + attribute_map = { + "account_id": "account_id", + "field_configurations": "field_configurations", + "fields": "fields", + "is_default": "is_default", + "issue_id": "issue_id", + "mappings": "mappings", + "meta": "meta", + "name": "name", + "project_id": "project_id", + "project_key": "project_key", + "sync_enabled": "sync_enabled", + "type": "type", + } + + def __init__( + self_, + account_id: str, + issue_id: str, + project_id: str, + project_key: str, + field_configurations: Union[List[IncidentJiraTemplateFieldConfiguration], UnsetType] = unset, + fields: Union[Dict[str, Any], UnsetType] = unset, + is_default: Union[bool, UnsetType] = unset, + mappings: Union[Dict[str, Any], UnsetType] = unset, + meta: Union[Dict[str, Any], UnsetType] = unset, + name: Union[str, UnsetType] = unset, + sync_enabled: Union[bool, UnsetType] = unset, + type: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating or updating an incident Jira template. + + :param account_id: The Jira account identifier. + :type account_id: str + + :param field_configurations: Field configuration mappings. + :type field_configurations: [IncidentJiraTemplateFieldConfiguration], optional + + :param fields: The Jira fields configuration. + :type fields: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, optional + + :param is_default: Whether this is the default template. + :type is_default: bool, optional + + :param issue_id: The Jira issue type identifier. + :type issue_id: str + + :param mappings: The field mappings configuration. + :type mappings: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, optional + + :param meta: Additional metadata for the template. + :type meta: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, optional + + :param name: The name of the template. + :type name: str, optional + + :param project_id: The Jira project identifier. + :type project_id: str + + :param project_key: The Jira project key. + :type project_key: str + + :param sync_enabled: Whether synchronization is enabled. + :type sync_enabled: bool, optional + + :param type: The type of the template. + :type type: str, optional + """ + if field_configurations is not unset: + kwargs["field_configurations"] = field_configurations + if fields is not unset: + kwargs["fields"] = fields + if is_default is not unset: + kwargs["is_default"] = is_default + if mappings is not unset: + kwargs["mappings"] = mappings + if meta is not unset: + kwargs["meta"] = meta + if name is not unset: + kwargs["name"] = name + if sync_enabled is not unset: + kwargs["sync_enabled"] = sync_enabled + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) + + self_.account_id = account_id + self_.issue_id = issue_id + self_.project_id = project_id + self_.project_key = project_key diff --git a/src/datadog_api_client/v2/model/incident_jira_template_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_jira_template_data_attributes_response.py new file mode 100644 index 0000000000..e932dd6ac9 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_data_attributes_response.py @@ -0,0 +1,208 @@ +# 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, List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + date, + datetime, + none_type, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_jira_template_field_configuration import ( + IncidentJiraTemplateFieldConfiguration, + ) + + +class IncidentJiraTemplateDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_field_configuration import ( + IncidentJiraTemplateFieldConfiguration, + ) + + return { + "account_id": (str,), + "created": (datetime,), + "created_by_uuid": (UUID,), + "field_configurations": ([IncidentJiraTemplateFieldConfiguration],), + "fields": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "is_default": (bool,), + "issue_id": (str,), + "last_modified_by_uuid": (UUID,), + "mappings": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "meta": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "modified": (datetime,), + "name": (str,), + "project_id": (str,), + "project_key": (str,), + "sync_enabled": (bool,), + "type": (str,), + } + + attribute_map = { + "account_id": "account_id", + "created": "created", + "created_by_uuid": "created_by_uuid", + "field_configurations": "field_configurations", + "fields": "fields", + "is_default": "is_default", + "issue_id": "issue_id", + "last_modified_by_uuid": "last_modified_by_uuid", + "mappings": "mappings", + "meta": "meta", + "modified": "modified", + "name": "name", + "project_id": "project_id", + "project_key": "project_key", + "sync_enabled": "sync_enabled", + "type": "type", + } + + def __init__( + self_, + account_id: str, + created: datetime, + created_by_uuid: UUID, + is_default: bool, + issue_id: str, + last_modified_by_uuid: UUID, + modified: datetime, + name: str, + project_id: str, + project_key: str, + sync_enabled: bool, + type: str, + field_configurations: Union[List[IncidentJiraTemplateFieldConfiguration], UnsetType] = unset, + fields: Union[Dict[str, Any], UnsetType] = unset, + mappings: Union[Dict[str, Any], UnsetType] = unset, + meta: Union[Dict[str, Any], UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an incident Jira template. + + :param account_id: The Jira account identifier. + :type account_id: str + + :param created: Timestamp when the template was created. + :type created: datetime + + :param created_by_uuid: UUID of the user who created the template. + :type created_by_uuid: UUID + + :param field_configurations: Field configuration mappings. + :type field_configurations: [IncidentJiraTemplateFieldConfiguration], optional + + :param fields: The Jira fields configuration. + :type fields: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, optional + + :param is_default: Whether this is the default template. + :type is_default: bool + + :param issue_id: The Jira issue type identifier. + :type issue_id: str + + :param last_modified_by_uuid: UUID of the user who last modified the template. + :type last_modified_by_uuid: UUID + + :param mappings: The field mappings configuration. + :type mappings: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, optional + + :param meta: Additional metadata for the template. + :type meta: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, optional + + :param modified: Timestamp when the template was last modified. + :type modified: datetime + + :param name: The name of the template. + :type name: str + + :param project_id: The Jira project identifier. + :type project_id: str + + :param project_key: The Jira project key. + :type project_key: str + + :param sync_enabled: Whether synchronization is enabled. + :type sync_enabled: bool + + :param type: The type of the template. + :type type: str + """ + if field_configurations is not unset: + kwargs["field_configurations"] = field_configurations + if fields is not unset: + kwargs["fields"] = fields + if mappings is not unset: + kwargs["mappings"] = mappings + if meta is not unset: + kwargs["meta"] = meta + super().__init__(kwargs) + + self_.account_id = account_id + self_.created = created + self_.created_by_uuid = created_by_uuid + self_.is_default = is_default + self_.issue_id = issue_id + self_.last_modified_by_uuid = last_modified_by_uuid + self_.modified = modified + self_.name = name + self_.project_id = project_id + self_.project_key = project_key + self_.sync_enabled = sync_enabled + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_jira_template_data_request.py b/src/datadog_api_client/v2/model/incident_jira_template_data_request.py new file mode 100644 index 0000000000..2c2f54b24c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_data_request.py @@ -0,0 +1,69 @@ +# 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_jira_template_data_attributes_request import ( + IncidentJiraTemplateDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_jira_template_relationships import IncidentJiraTemplateRelationships + from datadog_api_client.v2.model.incident_jira_template_type import IncidentJiraTemplateType + + +class IncidentJiraTemplateDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_data_attributes_request import ( + IncidentJiraTemplateDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_jira_template_relationships import IncidentJiraTemplateRelationships + from datadog_api_client.v2.model.incident_jira_template_type import IncidentJiraTemplateType + + return { + "attributes": (IncidentJiraTemplateDataAttributesRequest,), + "relationships": (IncidentJiraTemplateRelationships,), + "type": (IncidentJiraTemplateType,), + } + + attribute_map = { + "attributes": "attributes", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentJiraTemplateDataAttributesRequest, + type: IncidentJiraTemplateType, + relationships: Union[IncidentJiraTemplateRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Incident Jira template data for a create or update request. + + :param attributes: Attributes for creating or updating an incident Jira template. + :type attributes: IncidentJiraTemplateDataAttributesRequest + + :param relationships: Relationships for an incident Jira template. + :type relationships: IncidentJiraTemplateRelationships, optional + + :param type: Incident Jira template resource type. + :type type: IncidentJiraTemplateType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_jira_template_data_response.py b/src/datadog_api_client/v2/model/incident_jira_template_data_response.py new file mode 100644 index 0000000000..c059570e7c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_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_jira_template_data_attributes_response import ( + IncidentJiraTemplateDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_jira_template_relationships import IncidentJiraTemplateRelationships + from datadog_api_client.v2.model.incident_jira_template_type import IncidentJiraTemplateType + + +class IncidentJiraTemplateDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_data_attributes_response import ( + IncidentJiraTemplateDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_jira_template_relationships import IncidentJiraTemplateRelationships + from datadog_api_client.v2.model.incident_jira_template_type import IncidentJiraTemplateType + + return { + "attributes": (IncidentJiraTemplateDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentJiraTemplateRelationships,), + "type": (IncidentJiraTemplateType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentJiraTemplateDataAttributesResponse, + id: UUID, + type: IncidentJiraTemplateType, + relationships: Union[IncidentJiraTemplateRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Incident Jira template data in a response. + + :param attributes: Attributes of an incident Jira template. + :type attributes: IncidentJiraTemplateDataAttributesResponse + + :param id: The template identifier. + :type id: UUID + + :param relationships: Relationships for an incident Jira template. + :type relationships: IncidentJiraTemplateRelationships, optional + + :param type: Incident Jira template resource type. + :type type: IncidentJiraTemplateType + """ + 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_jira_template_field_configuration.py b/src/datadog_api_client/v2/model/incident_jira_template_field_configuration.py new file mode 100644 index 0000000000..feeb48d0ff --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_field_configuration.py @@ -0,0 +1,94 @@ +# 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 IncidentJiraTemplateFieldConfiguration(ModelNormal): + @cached_property + def openapi_types(_): + return { + "custom_outbound_value": ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ), + "incident_field": (str, none_type), + "jira_field_key": (str,), + "jira_field_type": (str, none_type), + "sync_direction": (str,), + "value_mapping": ({str: (str,)},), + } + + attribute_map = { + "custom_outbound_value": "custom_outbound_value", + "incident_field": "incident_field", + "jira_field_key": "jira_field_key", + "jira_field_type": "jira_field_type", + "sync_direction": "sync_direction", + "value_mapping": "value_mapping", + } + + def __init__( + self_, + jira_field_key: str, + sync_direction: str, + custom_outbound_value: Union[Any, UnsetType] = unset, + incident_field: Union[str, none_type, UnsetType] = unset, + jira_field_type: Union[str, none_type, UnsetType] = unset, + value_mapping: Union[Dict[str, str], UnsetType] = unset, + **kwargs, + ): + """ + Configuration for a Jira field mapping. + + :param custom_outbound_value: Custom value for outbound synchronization. + :type custom_outbound_value: bool, date, datetime, dict, float, int, list, str, UUID, none_type, optional + + :param incident_field: The incident field to map to. + :type incident_field: str, none_type, optional + + :param jira_field_key: The Jira field key. + :type jira_field_key: str + + :param jira_field_type: The type of the Jira field. + :type jira_field_type: str, none_type, optional + + :param sync_direction: The direction of synchronization. + :type sync_direction: str + + :param value_mapping: Mapping of values between incident and Jira fields. + :type value_mapping: {str: (str,)}, optional + """ + if custom_outbound_value is not unset: + kwargs["custom_outbound_value"] = custom_outbound_value + if incident_field is not unset: + kwargs["incident_field"] = incident_field + if jira_field_type is not unset: + kwargs["jira_field_type"] = jira_field_type + if value_mapping is not unset: + kwargs["value_mapping"] = value_mapping + super().__init__(kwargs) + + self_.jira_field_key = jira_field_key + self_.sync_direction = sync_direction diff --git a/src/datadog_api_client/v2/model/incident_jira_template_incident_type_relationship.py b/src/datadog_api_client/v2/model/incident_jira_template_incident_type_relationship.py new file mode 100644 index 0000000000..17ff2b665d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_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_jira_template_incident_type_relationship_data import ( + IncidentJiraTemplateIncidentTypeRelationshipData, + ) + + +class IncidentJiraTemplateIncidentTypeRelationship(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship_data import ( + IncidentJiraTemplateIncidentTypeRelationshipData, + ) + + return { + "data": (IncidentJiraTemplateIncidentTypeRelationshipData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentJiraTemplateIncidentTypeRelationshipData, **kwargs): + """ + Relationship to an incident type. + + :param data: Incident type relationship data. + :type data: IncidentJiraTemplateIncidentTypeRelationshipData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_jira_template_incident_type_relationship_data.py b/src/datadog_api_client/v2/model/incident_jira_template_incident_type_relationship_data.py new file mode 100644 index 0000000000..692c2db2b2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_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 IncidentJiraTemplateIncidentTypeRelationshipData(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): + """ + Incident type relationship data. + + :param id: The incident type identifier. + :type id: UUID + + :param type: The incident type resource type. + :type type: str + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_jira_template_relationships.py b/src/datadog_api_client/v2/model/incident_jira_template_relationships.py new file mode 100644 index 0000000000..1d187fa7a1 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_relationships.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, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship import ( + IncidentJiraTemplateIncidentTypeRelationship, + ) + + +class IncidentJiraTemplateRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship import ( + IncidentJiraTemplateIncidentTypeRelationship, + ) + + return { + "incident_type": (IncidentJiraTemplateIncidentTypeRelationship,), + } + + attribute_map = { + "incident_type": "incident_type", + } + + def __init__( + self_, incident_type: Union[IncidentJiraTemplateIncidentTypeRelationship, UnsetType] = unset, **kwargs + ): + """ + Relationships for an incident Jira template. + + :param incident_type: Relationship to an incident type. + :type incident_type: IncidentJiraTemplateIncidentTypeRelationship, 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_jira_template_request.py b/src/datadog_api_client/v2/model/incident_jira_template_request.py new file mode 100644 index 0000000000..ce439ea228 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_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_jira_template_data_request import IncidentJiraTemplateDataRequest + + +class IncidentJiraTemplateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_data_request import IncidentJiraTemplateDataRequest + + return { + "data": (IncidentJiraTemplateDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentJiraTemplateDataRequest, **kwargs): + """ + Create or update request for an incident Jira template. + + :param data: Incident Jira template data for a create or update request. + :type data: IncidentJiraTemplateDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_jira_template_response.py b/src/datadog_api_client/v2/model/incident_jira_template_response.py new file mode 100644 index 0000000000..6105582cba --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_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_jira_template_data_response import IncidentJiraTemplateDataResponse + + +class IncidentJiraTemplateResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_data_response import IncidentJiraTemplateDataResponse + + return { + "data": (IncidentJiraTemplateDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentJiraTemplateDataResponse, **kwargs): + """ + Response with a single incident Jira template. + + :param data: Incident Jira template data in a response. + :type data: IncidentJiraTemplateDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_jira_template_type.py b/src/datadog_api_client/v2/model/incident_jira_template_type.py new file mode 100644 index 0000000000..7496191afc --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_template_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 IncidentJiraTemplateType(ModelSimple): + """ + Incident Jira template resource type. + + :param value: If omitted defaults to "incidents_jira_templates". Must be one of ["incidents_jira_templates"]. + :type value: str + """ + + allowed_values = { + "incidents_jira_templates", + } + INCIDENTS_JIRA_TEMPLATES: ClassVar["IncidentJiraTemplateType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentJiraTemplateType.INCIDENTS_JIRA_TEMPLATES = IncidentJiraTemplateType("incidents_jira_templates") diff --git a/src/datadog_api_client/v2/model/incident_jira_templates_response.py b/src/datadog_api_client/v2/model/incident_jira_templates_response.py new file mode 100644 index 0000000000..5cc0e0eda5 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_jira_templates_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_jira_template_data_response import IncidentJiraTemplateDataResponse + + +class IncidentJiraTemplatesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_jira_template_data_response import IncidentJiraTemplateDataResponse + + return { + "data": ([IncidentJiraTemplateDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentJiraTemplateDataResponse], **kwargs): + """ + Response with a list of incident Jira templates. + + :param data: List of incident Jira templates. + :type data: [IncidentJiraTemplateDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_attributes_request.py new file mode 100644 index 0000000000..e4eb322337 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_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 IncidentMicrosoftTeamsConfigurationDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "manual_meeting_creation": (bool,), + "post_meeting_summary": (bool,), + } + + attribute_map = { + "manual_meeting_creation": "manual_meeting_creation", + "post_meeting_summary": "post_meeting_summary", + } + + def __init__( + self_, + manual_meeting_creation: Union[bool, UnsetType] = unset, + post_meeting_summary: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating or updating a Microsoft Teams configuration. + + :param manual_meeting_creation: Whether manual meeting creation is enabled. + :type manual_meeting_creation: bool, optional + + :param post_meeting_summary: Whether post-meeting summary is enabled. + :type post_meeting_summary: bool, optional + """ + if manual_meeting_creation is not unset: + kwargs["manual_meeting_creation"] = manual_meeting_creation + if post_meeting_summary is not unset: + kwargs["post_meeting_summary"] = post_meeting_summary + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_attributes_response.py new file mode 100644 index 0000000000..f1f0391475 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_attributes_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 datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +class IncidentMicrosoftTeamsConfigurationDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created_at": (datetime,), + "manual_meeting_creation": (bool,), + "modified_at": (datetime,), + "post_meeting_summary": (bool,), + } + + attribute_map = { + "created_at": "created_at", + "manual_meeting_creation": "manual_meeting_creation", + "modified_at": "modified_at", + "post_meeting_summary": "post_meeting_summary", + } + + def __init__( + self_, + created_at: datetime, + manual_meeting_creation: bool, + modified_at: datetime, + post_meeting_summary: bool, + **kwargs, + ): + """ + Attributes of a Microsoft Teams configuration. + + :param created_at: Timestamp when the configuration was created. + :type created_at: datetime + + :param manual_meeting_creation: Whether manual meeting creation is enabled. + :type manual_meeting_creation: bool + + :param modified_at: Timestamp when the configuration was last modified. + :type modified_at: datetime + + :param post_meeting_summary: Whether post-meeting summary is enabled. + :type post_meeting_summary: bool + """ + super().__init__(kwargs) + + self_.created_at = created_at + self_.manual_meeting_creation = manual_meeting_creation + self_.modified_at = modified_at + self_.post_meeting_summary = post_meeting_summary diff --git a/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_request.py b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_request.py new file mode 100644 index 0000000000..ccb74fca6b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_request.py @@ -0,0 +1,61 @@ +# 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_microsoft_teams_configuration_data_attributes_request import ( + IncidentMicrosoftTeamsConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_microsoft_teams_configuration_type import ( + IncidentMicrosoftTeamsConfigurationType, + ) + + +class IncidentMicrosoftTeamsConfigurationDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_attributes_request import ( + IncidentMicrosoftTeamsConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_microsoft_teams_configuration_type import ( + IncidentMicrosoftTeamsConfigurationType, + ) + + return { + "attributes": (IncidentMicrosoftTeamsConfigurationDataAttributesRequest,), + "type": (IncidentMicrosoftTeamsConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentMicrosoftTeamsConfigurationDataAttributesRequest, + type: IncidentMicrosoftTeamsConfigurationType, + **kwargs, + ): + """ + Microsoft Teams configuration data for a request. + + :param attributes: Attributes for creating or updating a Microsoft Teams configuration. + :type attributes: IncidentMicrosoftTeamsConfigurationDataAttributesRequest + + :param type: Microsoft Teams configuration resource type. + :type type: IncidentMicrosoftTeamsConfigurationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_response.py b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_response.py new file mode 100644 index 0000000000..c987bbba8d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_data_response.py @@ -0,0 +1,69 @@ +# 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_microsoft_teams_configuration_data_attributes_response import ( + IncidentMicrosoftTeamsConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_microsoft_teams_configuration_type import ( + IncidentMicrosoftTeamsConfigurationType, + ) + + +class IncidentMicrosoftTeamsConfigurationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_attributes_response import ( + IncidentMicrosoftTeamsConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_microsoft_teams_configuration_type import ( + IncidentMicrosoftTeamsConfigurationType, + ) + + return { + "attributes": (IncidentMicrosoftTeamsConfigurationDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentMicrosoftTeamsConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentMicrosoftTeamsConfigurationDataAttributesResponse, + id: UUID, + type: IncidentMicrosoftTeamsConfigurationType, + **kwargs, + ): + """ + Microsoft Teams configuration data in a response. + + :param attributes: Attributes of a Microsoft Teams configuration. + :type attributes: IncidentMicrosoftTeamsConfigurationDataAttributesResponse + + :param id: The configuration identifier. + :type id: UUID + + :param type: Microsoft Teams configuration resource type. + :type type: IncidentMicrosoftTeamsConfigurationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_request.py b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_request.py new file mode 100644 index 0000000000..8cb5619ea6 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_microsoft_teams_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_microsoft_teams_configuration_data_request import ( + IncidentMicrosoftTeamsConfigurationDataRequest, + ) + + +class IncidentMicrosoftTeamsConfigurationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_request import ( + IncidentMicrosoftTeamsConfigurationDataRequest, + ) + + return { + "data": (IncidentMicrosoftTeamsConfigurationDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentMicrosoftTeamsConfigurationDataRequest, **kwargs): + """ + Request to create or update a Microsoft Teams configuration. + + :param data: Microsoft Teams configuration data for a request. + :type data: IncidentMicrosoftTeamsConfigurationDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_response.py b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_response.py new file mode 100644 index 0000000000..3cdb28e62e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_response.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_microsoft_teams_configuration_data_response import ( + IncidentMicrosoftTeamsConfigurationDataResponse, + ) + + +class IncidentMicrosoftTeamsConfigurationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_response import ( + IncidentMicrosoftTeamsConfigurationDataResponse, + ) + + return { + "data": (IncidentMicrosoftTeamsConfigurationDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentMicrosoftTeamsConfigurationDataResponse, **kwargs): + """ + Response with a Microsoft Teams configuration. + + :param data: Microsoft Teams configuration data in a response. + :type data: IncidentMicrosoftTeamsConfigurationDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_type.py b/src/datadog_api_client/v2/model/incident_microsoft_teams_configuration_type.py new file mode 100644 index 0000000000..016b897fec --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_microsoft_teams_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 IncidentMicrosoftTeamsConfigurationType(ModelSimple): + """ + Microsoft Teams configuration resource type. + + :param value: If omitted defaults to "microsoft_teams_configurations". Must be one of ["microsoft_teams_configurations"]. + :type value: str + """ + + allowed_values = { + "microsoft_teams_configurations", + } + MICROSOFT_TEAMS_CONFIGURATIONS: ClassVar["IncidentMicrosoftTeamsConfigurationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentMicrosoftTeamsConfigurationType.MICROSOFT_TEAMS_CONFIGURATIONS = IncidentMicrosoftTeamsConfigurationType( + "microsoft_teams_configurations" +) diff --git a/src/datadog_api_client/v2/model/incident_microsoft_teams_integration_type.py b/src/datadog_api_client/v2/model/incident_microsoft_teams_integration_type.py new file mode 100644 index 0000000000..590a78238e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_microsoft_teams_integration_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 IncidentMicrosoftTeamsIntegrationType(ModelSimple): + """ + Incident integration resource type. + + :param value: If omitted defaults to "incident_integrations". Must be one of ["incident_integrations"]. + :type value: str + """ + + allowed_values = { + "incident_integrations", + } + INCIDENT_INTEGRATIONS: ClassVar["IncidentMicrosoftTeamsIntegrationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentMicrosoftTeamsIntegrationType.INCIDENT_INTEGRATIONS = IncidentMicrosoftTeamsIntegrationType( + "incident_integrations" +) diff --git a/src/datadog_api_client/v2/model/incident_ms_teams_channel.py b/src/datadog_api_client/v2/model/incident_ms_teams_channel.py new file mode 100644 index 0000000000..87f2bf7b00 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_ms_teams_channel.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 + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentMSTeamsChannel(ModelNormal): + @cached_property + def openapi_types(_): + return { + "ms_channel_id": (str,), + "ms_channel_name": (str,), + "ms_team_id": (str,), + "ms_tenant_id": (str,), + "redirect_url": (str,), + "team_name": (str,), + } + + attribute_map = { + "ms_channel_id": "ms_channel_id", + "ms_channel_name": "ms_channel_name", + "ms_team_id": "ms_team_id", + "ms_tenant_id": "ms_tenant_id", + "redirect_url": "redirect_url", + "team_name": "team_name", + } + + def __init__( + self_, + ms_channel_id: str, + ms_channel_name: str, + ms_team_id: Union[str, UnsetType] = unset, + ms_tenant_id: Union[str, UnsetType] = unset, + redirect_url: Union[str, UnsetType] = unset, + team_name: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + A Microsoft Teams channel associated with an incident. + + :param ms_channel_id: The Teams channel identifier. + :type ms_channel_id: str + + :param ms_channel_name: The name of the Teams channel. + :type ms_channel_name: str + + :param ms_team_id: The Teams team identifier. + :type ms_team_id: str, optional + + :param ms_tenant_id: The Teams tenant identifier. + :type ms_tenant_id: str, optional + + :param redirect_url: The redirect URL for the channel. + :type redirect_url: str, optional + + :param team_name: The name of the Teams team. + :type team_name: str, optional + """ + if ms_team_id is not unset: + kwargs["ms_team_id"] = ms_team_id + if ms_tenant_id is not unset: + kwargs["ms_tenant_id"] = ms_tenant_id + if redirect_url is not unset: + kwargs["redirect_url"] = redirect_url + if team_name is not unset: + kwargs["team_name"] = team_name + super().__init__(kwargs) + + self_.ms_channel_id = ms_channel_id + self_.ms_channel_name = ms_channel_name diff --git a/src/datadog_api_client/v2/model/incident_ms_teams_integration_data_attributes.py b/src/datadog_api_client/v2/model/incident_ms_teams_integration_data_attributes.py new file mode 100644 index 0000000000..175ee616c1 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_ms_teams_integration_data_attributes.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 typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_ms_teams_channel import IncidentMSTeamsChannel + + +class IncidentMSTeamsIntegrationDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_ms_teams_channel import IncidentMSTeamsChannel + + return { + "created": (datetime,), + "integration_type": (str,), + "modified": (datetime,), + "status": (str,), + "teams": ([IncidentMSTeamsChannel],), + } + + attribute_map = { + "created": "created", + "integration_type": "integration_type", + "modified": "modified", + "status": "status", + "teams": "teams", + } + + def __init__( + self_, + created: datetime, + integration_type: str, + modified: datetime, + status: str, + teams: List[IncidentMSTeamsChannel], + **kwargs, + ): + """ + Attributes of a Microsoft Teams integration metadata. + + :param created: Timestamp when the integration was created. + :type created: datetime + + :param integration_type: The type of integration. + :type integration_type: str + + :param modified: Timestamp when the integration was last modified. + :type modified: datetime + + :param status: The status of the integration. + :type status: str + + :param teams: List of Microsoft Teams channels. + :type teams: [IncidentMSTeamsChannel] + """ + super().__init__(kwargs) + + self_.created = created + self_.integration_type = integration_type + self_.modified = modified + self_.status = status + self_.teams = teams diff --git a/src/datadog_api_client/v2/model/incident_ms_teams_integration_data_response.py b/src/datadog_api_client/v2/model/incident_ms_teams_integration_data_response.py new file mode 100644 index 0000000000..aa8037e202 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_ms_teams_integration_data_response.py @@ -0,0 +1,69 @@ +# 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_ms_teams_integration_data_attributes import ( + IncidentMSTeamsIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_microsoft_teams_integration_type import ( + IncidentMicrosoftTeamsIntegrationType, + ) + + +class IncidentMSTeamsIntegrationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_ms_teams_integration_data_attributes import ( + IncidentMSTeamsIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_microsoft_teams_integration_type import ( + IncidentMicrosoftTeamsIntegrationType, + ) + + return { + "attributes": (IncidentMSTeamsIntegrationDataAttributes,), + "id": (UUID,), + "type": (IncidentMicrosoftTeamsIntegrationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentMSTeamsIntegrationDataAttributes, + id: UUID, + type: IncidentMicrosoftTeamsIntegrationType, + **kwargs, + ): + """ + Microsoft Teams integration data in a response. + + :param attributes: Attributes of a Microsoft Teams integration metadata. + :type attributes: IncidentMSTeamsIntegrationDataAttributes + + :param id: The integration identifier. + :type id: UUID + + :param type: Incident integration resource type. + :type type: IncidentMicrosoftTeamsIntegrationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_ms_teams_integration_response.py b/src/datadog_api_client/v2/model/incident_ms_teams_integration_response.py new file mode 100644 index 0000000000..5c3536a139 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_ms_teams_integration_response.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_ms_teams_integration_data_response import ( + IncidentMSTeamsIntegrationDataResponse, + ) + + +class IncidentMSTeamsIntegrationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_ms_teams_integration_data_response import ( + IncidentMSTeamsIntegrationDataResponse, + ) + + return { + "data": (IncidentMSTeamsIntegrationDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentMSTeamsIntegrationDataResponse, **kwargs): + """ + Response with Microsoft Teams integration metadata. + + :param data: Microsoft Teams integration data in a response. + :type data: IncidentMSTeamsIntegrationDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_pagerduty_incident_data_response.py b/src/datadog_api_client/v2/model/incident_pagerduty_incident_data_response.py new file mode 100644 index 0000000000..818e2e2560 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_pagerduty_incident_data_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 datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +class IncidentPagerdutyIncidentDataResponse(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): + """ + Incident data related to a PagerDuty incident. + + :param id: The Datadog incident identifier. + :type id: UUID + + :param type: The incident resource type. + :type type: str + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_pagerduty_related_incidents_response.py b/src/datadog_api_client/v2/model/incident_pagerduty_related_incidents_response.py new file mode 100644 index 0000000000..a64ef7ed36 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_pagerduty_related_incidents_response.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 List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_pagerduty_incident_data_response import ( + IncidentPagerdutyIncidentDataResponse, + ) + + +class IncidentPagerdutyRelatedIncidentsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_pagerduty_incident_data_response import ( + IncidentPagerdutyIncidentDataResponse, + ) + + return { + "data": ([IncidentPagerdutyIncidentDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentPagerdutyIncidentDataResponse], **kwargs): + """ + Response with a list of Datadog incidents related to a PagerDuty incident. + + :param data: List of related Datadog incidents. + :type data: [IncidentPagerdutyIncidentDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_pagerduty_service_data.py b/src/datadog_api_client/v2/model/incident_pagerduty_service_data.py new file mode 100644 index 0000000000..6e40e1d65f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_pagerduty_service_data.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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_pagerduty_service_data_attributes import ( + IncidentPagerdutyServiceDataAttributes, + ) + from datadog_api_client.v2.model.incident_pagerduty_service_type import IncidentPagerdutyServiceType + + +class IncidentPagerdutyServiceData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_pagerduty_service_data_attributes import ( + IncidentPagerdutyServiceDataAttributes, + ) + from datadog_api_client.v2.model.incident_pagerduty_service_type import IncidentPagerdutyServiceType + + return { + "attributes": (IncidentPagerdutyServiceDataAttributes,), + "id": (str,), + "type": (IncidentPagerdutyServiceType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, attributes: IncidentPagerdutyServiceDataAttributes, id: str, type: IncidentPagerdutyServiceType, **kwargs + ): + """ + PagerDuty service data. + + :param attributes: Attributes of a PagerDuty service. + :type attributes: IncidentPagerdutyServiceDataAttributes + + :param id: The PagerDuty service identifier. + :type id: str + + :param type: PagerDuty service resource type. + :type type: IncidentPagerdutyServiceType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_pagerduty_service_data_attributes.py b/src/datadog_api_client/v2/model/incident_pagerduty_service_data_attributes.py new file mode 100644 index 0000000000..a9273d0906 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_pagerduty_service_data_attributes.py @@ -0,0 +1,51 @@ +# 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 IncidentPagerdutyServiceDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "handle": (str,), + "name": (str,), + "service_id": (str,), + "webhooks_enabled": (bool,), + } + + attribute_map = { + "handle": "handle", + "name": "name", + "service_id": "service_id", + "webhooks_enabled": "webhooks_enabled", + } + + def __init__(self_, handle: str, name: str, service_id: str, webhooks_enabled: bool, **kwargs): + """ + Attributes of a PagerDuty service. + + :param handle: The handle for the PagerDuty service. + :type handle: str + + :param name: The name of the PagerDuty service. + :type name: str + + :param service_id: The PagerDuty service identifier. + :type service_id: str + + :param webhooks_enabled: Whether webhooks are enabled for this service. + :type webhooks_enabled: bool + """ + super().__init__(kwargs) + + self_.handle = handle + self_.name = name + self_.service_id = service_id + self_.webhooks_enabled = webhooks_enabled diff --git a/src/datadog_api_client/v2/model/incident_pagerduty_service_type.py b/src/datadog_api_client/v2/model/incident_pagerduty_service_type.py new file mode 100644 index 0000000000..d51402189e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_pagerduty_service_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 IncidentPagerdutyServiceType(ModelSimple): + """ + PagerDuty service resource type. + + :param value: If omitted defaults to "pagerduty_service". Must be one of ["pagerduty_service"]. + :type value: str + """ + + allowed_values = { + "pagerduty_service", + } + PAGERDUTY_SERVICE: ClassVar["IncidentPagerdutyServiceType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentPagerdutyServiceType.PAGERDUTY_SERVICE = IncidentPagerdutyServiceType("pagerduty_service") diff --git a/src/datadog_api_client/v2/model/incident_pagerduty_services_response.py b/src/datadog_api_client/v2/model/incident_pagerduty_services_response.py new file mode 100644 index 0000000000..7e3d154f3f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_pagerduty_services_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_pagerduty_service_data import IncidentPagerdutyServiceData + + +class IncidentPagerdutyServicesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_pagerduty_service_data import IncidentPagerdutyServiceData + + return { + "data": ([IncidentPagerdutyServiceData],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentPagerdutyServiceData], **kwargs): + """ + Response with a list of PagerDuty services. + + :param data: List of PagerDuty services. + :type data: [IncidentPagerdutyServiceData] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_render_template_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_render_template_data_attributes_request.py new file mode 100644 index 0000000000..4b7450fb86 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_render_template_data_attributes_request.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 typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +class IncidentRenderTemplateDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "content": (str,), + "datetime_format": (str,), + "timezone": (str,), + "validate_links": (bool, none_type), + "validate_variables": (bool, none_type), + } + + attribute_map = { + "content": "content", + "datetime_format": "datetime_format", + "timezone": "timezone", + "validate_links": "validate_links", + "validate_variables": "validate_variables", + } + + def __init__( + self_, + content: str, + datetime_format: Union[str, UnsetType] = unset, + timezone: Union[str, UnsetType] = unset, + validate_links: Union[bool, none_type, UnsetType] = unset, + validate_variables: Union[bool, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for rendering a template. + + :param content: The template content to render. + :type content: str + + :param datetime_format: The date-time format to use for rendering. + :type datetime_format: str, optional + + :param timezone: The timezone to use for rendering. + :type timezone: str, optional + + :param validate_links: Whether to validate links in the rendered template. + :type validate_links: bool, none_type, optional + + :param validate_variables: Whether to validate variables in the template. + :type validate_variables: bool, none_type, optional + """ + if datetime_format is not unset: + kwargs["datetime_format"] = datetime_format + if timezone is not unset: + kwargs["timezone"] = timezone + if validate_links is not unset: + kwargs["validate_links"] = validate_links + if validate_variables is not unset: + kwargs["validate_variables"] = validate_variables + super().__init__(kwargs) + + self_.content = content diff --git a/src/datadog_api_client/v2/model/incident_render_template_data_request.py b/src/datadog_api_client/v2/model/incident_render_template_data_request.py new file mode 100644 index 0000000000..61d06e4311 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_render_template_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_render_template_data_attributes_request import ( + IncidentRenderTemplateDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_rendered_template_type import IncidentRenderedTemplateType + + +class IncidentRenderTemplateDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_render_template_data_attributes_request import ( + IncidentRenderTemplateDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_rendered_template_type import IncidentRenderedTemplateType + + return { + "attributes": (IncidentRenderTemplateDataAttributesRequest,), + "type": (IncidentRenderedTemplateType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: IncidentRenderTemplateDataAttributesRequest, type: IncidentRenderedTemplateType, **kwargs + ): + """ + Data for rendering a template. + + :param attributes: Attributes for rendering a template. + :type attributes: IncidentRenderTemplateDataAttributesRequest + + :param type: Rendered template resource type. + :type type: IncidentRenderedTemplateType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_render_template_request.py b/src/datadog_api_client/v2/model/incident_render_template_request.py new file mode 100644 index 0000000000..b4d568ea77 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_render_template_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_render_template_data_request import IncidentRenderTemplateDataRequest + + +class IncidentRenderTemplateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_render_template_data_request import IncidentRenderTemplateDataRequest + + return { + "data": (IncidentRenderTemplateDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentRenderTemplateDataRequest, **kwargs): + """ + Request to render a template. + + :param data: Data for rendering a template. + :type data: IncidentRenderTemplateDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_rendered_template_data.py b/src/datadog_api_client/v2/model/incident_rendered_template_data.py new file mode 100644 index 0000000000..dbbba29188 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rendered_template_data.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_rendered_template_data_attributes import ( + IncidentRenderedTemplateDataAttributes, + ) + from datadog_api_client.v2.model.incident_rendered_template_type import IncidentRenderedTemplateType + + +class IncidentRenderedTemplateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rendered_template_data_attributes import ( + IncidentRenderedTemplateDataAttributes, + ) + from datadog_api_client.v2.model.incident_rendered_template_type import IncidentRenderedTemplateType + + return { + "attributes": (IncidentRenderedTemplateDataAttributes,), + "id": (UUID,), + "type": (IncidentRenderedTemplateType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentRenderedTemplateDataAttributes, + id: UUID, + type: IncidentRenderedTemplateType, + **kwargs, + ): + """ + Rendered template data. + + :param attributes: Attributes of a rendered template. + :type attributes: IncidentRenderedTemplateDataAttributes + + :param id: The rendered template identifier. + :type id: UUID + + :param type: Rendered template resource type. + :type type: IncidentRenderedTemplateType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_rendered_template_data_attributes.py b/src/datadog_api_client/v2/model/incident_rendered_template_data_attributes.py new file mode 100644 index 0000000000..bb9931ca52 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rendered_template_data_attributes.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 IncidentRenderedTemplateDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "rendered_content": (str,), + } + + attribute_map = { + "rendered_content": "rendered_content", + } + + def __init__(self_, rendered_content: str, **kwargs): + """ + Attributes of a rendered template. + + :param rendered_content: The rendered template content. + :type rendered_content: str + """ + super().__init__(kwargs) + + self_.rendered_content = rendered_content diff --git a/src/datadog_api_client/v2/model/incident_rendered_template_response.py b/src/datadog_api_client/v2/model/incident_rendered_template_response.py new file mode 100644 index 0000000000..4e2879fa04 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rendered_template_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_rendered_template_data import IncidentRenderedTemplateData + + +class IncidentRenderedTemplateResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rendered_template_data import IncidentRenderedTemplateData + + return { + "data": (IncidentRenderedTemplateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentRenderedTemplateData, **kwargs): + """ + Response with a rendered template. + + :param data: Rendered template data. + :type data: IncidentRenderedTemplateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_rendered_template_type.py b/src/datadog_api_client/v2/model/incident_rendered_template_type.py new file mode 100644 index 0000000000..486320c561 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rendered_template_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 IncidentRenderedTemplateType(ModelSimple): + """ + Rendered template resource type. + + :param value: If omitted defaults to "rendered_templates". Must be one of ["rendered_templates"]. + :type value: str + """ + + allowed_values = { + "rendered_templates", + } + RENDERED_TEMPLATES: ClassVar["IncidentRenderedTemplateType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentRenderedTemplateType.RENDERED_TEMPLATES = IncidentRenderedTemplateType("rendered_templates") diff --git a/src/datadog_api_client/v2/model/incident_reserved_role_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_reserved_role_data_attributes_response.py new file mode 100644 index 0000000000..964aa43e06 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_reserved_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_reserved_role_policy import IncidentReservedRolePolicy + + +class IncidentReservedRoleDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_reserved_role_policy import IncidentReservedRolePolicy + + return { + "created": (datetime,), + "description": (str, none_type), + "modified": (datetime,), + "name": (str,), + "policy": (IncidentReservedRolePolicy,), + } + + attribute_map = { + "created": "created", + "description": "description", + "modified": "modified", + "name": "name", + "policy": "policy", + } + + def __init__( + self_, + created: datetime, + modified: datetime, + name: str, + policy: IncidentReservedRolePolicy, + description: Union[str, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a reserved role. + + :param created: Timestamp when the role was created. + :type created: datetime + + :param description: A description of the reserved 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 reserved role. + :type name: str + + :param policy: Policy for a reserved role. + :type policy: IncidentReservedRolePolicy + """ + 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_reserved_role_data_response.py b/src/datadog_api_client/v2/model/incident_reserved_role_data_response.py new file mode 100644 index 0000000000..32746ed741 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_reserved_role_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_reserved_role_data_attributes_response import ( + IncidentReservedRoleDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_reserved_role_type import IncidentReservedRoleType + + +class IncidentReservedRoleDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_reserved_role_data_attributes_response import ( + IncidentReservedRoleDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_reserved_role_type import IncidentReservedRoleType + + return { + "attributes": (IncidentReservedRoleDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentReservedRoleType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentReservedRoleDataAttributesResponse, + id: UUID, + type: IncidentReservedRoleType, + **kwargs, + ): + """ + Reserved role data in a response. + + :param attributes: Attributes of a reserved role. + :type attributes: IncidentReservedRoleDataAttributesResponse + + :param id: The reserved role identifier. + :type id: UUID + + :param type: Incident reserved role resource type. + :type type: IncidentReservedRoleType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_reserved_role_policy.py b/src/datadog_api_client/v2/model/incident_reserved_role_policy.py new file mode 100644 index 0000000000..536d9971b1 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_reserved_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 IncidentReservedRolePolicy(ModelNormal): + @cached_property + def openapi_types(_): + return { + "is_single": (bool,), + } + + attribute_map = { + "is_single": "is_single", + } + + def __init__(self_, is_single: bool, **kwargs): + """ + Policy for a reserved role. + + :param is_single: Whether this role can only be assigned to a single responder. + :type is_single: bool + """ + super().__init__(kwargs) + + self_.is_single = is_single diff --git a/src/datadog_api_client/v2/model/incident_reserved_role_response.py b/src/datadog_api_client/v2/model/incident_reserved_role_response.py new file mode 100644 index 0000000000..0c50c59c55 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_reserved_role_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_reserved_role_data_response import IncidentReservedRoleDataResponse + + +class IncidentReservedRoleResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_reserved_role_data_response import IncidentReservedRoleDataResponse + + return { + "data": (IncidentReservedRoleDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentReservedRoleDataResponse, **kwargs): + """ + Response with a single reserved role. + + :param data: Reserved role data in a response. + :type data: IncidentReservedRoleDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_reserved_role_type.py b/src/datadog_api_client/v2/model/incident_reserved_role_type.py new file mode 100644 index 0000000000..469283dd8b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_reserved_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 IncidentReservedRoleType(ModelSimple): + """ + Incident reserved role resource type. + + :param value: If omitted defaults to "incident_reserved_roles". Must be one of ["incident_reserved_roles"]. + :type value: str + """ + + allowed_values = { + "incident_reserved_roles", + } + INCIDENT_RESERVED_ROLES: ClassVar["IncidentReservedRoleType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentReservedRoleType.INCIDENT_RESERVED_ROLES = IncidentReservedRoleType("incident_reserved_roles") diff --git a/src/datadog_api_client/v2/model/incident_reserved_roles_response.py b/src/datadog_api_client/v2/model/incident_reserved_roles_response.py new file mode 100644 index 0000000000..985cb67c9b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_reserved_roles_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_reserved_role_data_response import IncidentReservedRoleDataResponse + + +class IncidentReservedRolesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_reserved_role_data_response import IncidentReservedRoleDataResponse + + return { + "data": ([IncidentReservedRoleDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentReservedRoleDataResponse], **kwargs): + """ + Response with a list of reserved roles. + + :param data: List of reserved roles. + :type data: [IncidentReservedRoleDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_role_assignment_data_attributes_request.py new file mode 100644 index 0000000000..e4dc501179 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_data_attributes_request.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 typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +class IncidentRoleAssignmentDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "role": (str, none_type), + } + + attribute_map = { + "role": "role", + } + + def __init__(self_, role: Union[str, none_type, UnsetType] = unset, **kwargs): + """ + Attributes for creating a role assignment. + + :param role: The name of the role to assign. + :type role: str, none_type, optional + """ + if role is not unset: + kwargs["role"] = role + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_role_assignment_data_attributes_response.py new file mode 100644 index 0000000000..5cc094126d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_data_attributes_response.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 datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +class IncidentRoleAssignmentDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created": (datetime,), + "modified": (datetime,), + "responder_type": (str,), + "role": (str,), + } + + attribute_map = { + "created": "created", + "modified": "modified", + "responder_type": "responder_type", + "role": "role", + } + + def __init__(self_, created: datetime, modified: datetime, responder_type: str, role: str, **kwargs): + """ + Attributes of an incident role assignment. + + :param created: Timestamp when the role assignment was created. + :type created: datetime + + :param modified: Timestamp when the role assignment was last modified. + :type modified: datetime + + :param responder_type: The type of the responder. + :type responder_type: str + + :param role: The name of the assigned role. + :type role: str + """ + super().__init__(kwargs) + + self_.created = created + self_.modified = modified + self_.responder_type = responder_type + self_.role = role diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_data_request.py b/src/datadog_api_client/v2/model/incident_role_assignment_data_request.py new file mode 100644 index 0000000000..770348231e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_data_request.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 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_role_assignment_data_attributes_request import ( + IncidentRoleAssignmentDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_role_assignment_relationships_request import ( + IncidentRoleAssignmentRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_role_assignment_type import IncidentRoleAssignmentType + + +class IncidentRoleAssignmentDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_role_assignment_data_attributes_request import ( + IncidentRoleAssignmentDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_role_assignment_relationships_request import ( + IncidentRoleAssignmentRelationshipsRequest, + ) + from datadog_api_client.v2.model.incident_role_assignment_type import IncidentRoleAssignmentType + + return { + "attributes": (IncidentRoleAssignmentDataAttributesRequest,), + "relationships": (IncidentRoleAssignmentRelationshipsRequest,), + "type": (IncidentRoleAssignmentType,), + } + + attribute_map = { + "attributes": "attributes", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + relationships: IncidentRoleAssignmentRelationshipsRequest, + type: IncidentRoleAssignmentType, + attributes: Union[IncidentRoleAssignmentDataAttributesRequest, UnsetType] = unset, + **kwargs, + ): + """ + Role assignment data for a request. + + :param attributes: Attributes for creating a role assignment. + :type attributes: IncidentRoleAssignmentDataAttributesRequest, optional + + :param relationships: Relationships for creating a role assignment. + :type relationships: IncidentRoleAssignmentRelationshipsRequest + + :param type: Incident role assignment resource type. + :type type: IncidentRoleAssignmentType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.relationships = relationships + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_data_response.py b/src/datadog_api_client/v2/model/incident_role_assignment_data_response.py new file mode 100644 index 0000000000..455201c32d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_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_role_assignment_data_attributes_response import ( + IncidentRoleAssignmentDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_role_assignment_relationships_response import ( + IncidentRoleAssignmentRelationshipsResponse, + ) + from datadog_api_client.v2.model.incident_role_assignment_type import IncidentRoleAssignmentType + + +class IncidentRoleAssignmentDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_role_assignment_data_attributes_response import ( + IncidentRoleAssignmentDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_role_assignment_relationships_response import ( + IncidentRoleAssignmentRelationshipsResponse, + ) + from datadog_api_client.v2.model.incident_role_assignment_type import IncidentRoleAssignmentType + + return { + "attributes": (IncidentRoleAssignmentDataAttributesResponse,), + "id": (UUID,), + "relationships": (IncidentRoleAssignmentRelationshipsResponse,), + "type": (IncidentRoleAssignmentType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentRoleAssignmentDataAttributesResponse, + id: UUID, + type: IncidentRoleAssignmentType, + relationships: Union[IncidentRoleAssignmentRelationshipsResponse, UnsetType] = unset, + **kwargs, + ): + """ + Role assignment data in a response. + + :param attributes: Attributes of an incident role assignment. + :type attributes: IncidentRoleAssignmentDataAttributesResponse + + :param id: The role assignment identifier. + :type id: UUID + + :param relationships: Relationships of a role assignment. + :type relationships: IncidentRoleAssignmentRelationshipsResponse, optional + + :param type: Incident role assignment resource type. + :type type: IncidentRoleAssignmentType + """ + 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_role_assignment_relationships_request.py b/src/datadog_api_client/v2/model/incident_role_assignment_relationships_request.py new file mode 100644 index 0000000000..4ffb035d18 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_relationships_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 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_role_assignment_role_relationship import ( + IncidentRoleAssignmentRoleRelationship, + ) + from datadog_api_client.v2.model.incident_role_assignment_responder_relationship import ( + IncidentRoleAssignmentResponderRelationship, + ) + + +class IncidentRoleAssignmentRelationshipsRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_role_assignment_role_relationship import ( + IncidentRoleAssignmentRoleRelationship, + ) + from datadog_api_client.v2.model.incident_role_assignment_responder_relationship import ( + IncidentRoleAssignmentResponderRelationship, + ) + + return { + "reserved_role": (IncidentRoleAssignmentRoleRelationship,), + "responder": (IncidentRoleAssignmentResponderRelationship,), + "user_defined_role": (IncidentRoleAssignmentRoleRelationship,), + } + + attribute_map = { + "reserved_role": "reserved_role", + "responder": "responder", + "user_defined_role": "user_defined_role", + } + + def __init__( + self_, + responder: IncidentRoleAssignmentResponderRelationship, + reserved_role: Union[IncidentRoleAssignmentRoleRelationship, UnsetType] = unset, + user_defined_role: Union[IncidentRoleAssignmentRoleRelationship, UnsetType] = unset, + **kwargs, + ): + """ + Relationships for creating a role assignment. + + :param reserved_role: Relationship to a role. + :type reserved_role: IncidentRoleAssignmentRoleRelationship, optional + + :param responder: Relationship to a responder. + :type responder: IncidentRoleAssignmentResponderRelationship + + :param user_defined_role: Relationship to a role. + :type user_defined_role: IncidentRoleAssignmentRoleRelationship, optional + """ + if reserved_role is not unset: + kwargs["reserved_role"] = reserved_role + if user_defined_role is not unset: + kwargs["user_defined_role"] = user_defined_role + super().__init__(kwargs) + + self_.responder = responder diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_relationships_response.py b/src/datadog_api_client/v2/model/incident_role_assignment_relationships_response.py new file mode 100644 index 0000000000..04154b5e5e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_relationships_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, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_role_assignment_responder_relationship import ( + IncidentRoleAssignmentResponderRelationship, + ) + from datadog_api_client.v2.model.incident_role_assignment_role_relationship import ( + IncidentRoleAssignmentRoleRelationship, + ) + + +class IncidentRoleAssignmentRelationshipsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_role_assignment_responder_relationship import ( + IncidentRoleAssignmentResponderRelationship, + ) + from datadog_api_client.v2.model.incident_role_assignment_role_relationship import ( + IncidentRoleAssignmentRoleRelationship, + ) + + return { + "created_by_user": (IncidentRoleAssignmentResponderRelationship,), + "last_modified_by_user": (IncidentRoleAssignmentResponderRelationship,), + "reserved_role": (IncidentRoleAssignmentRoleRelationship,), + "responder": (IncidentRoleAssignmentResponderRelationship,), + "user_defined_role": (IncidentRoleAssignmentRoleRelationship,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + "reserved_role": "reserved_role", + "responder": "responder", + "user_defined_role": "user_defined_role", + } + + def __init__( + self_, + responder: IncidentRoleAssignmentResponderRelationship, + created_by_user: Union[IncidentRoleAssignmentResponderRelationship, UnsetType] = unset, + last_modified_by_user: Union[IncidentRoleAssignmentResponderRelationship, UnsetType] = unset, + reserved_role: Union[IncidentRoleAssignmentRoleRelationship, UnsetType] = unset, + user_defined_role: Union[IncidentRoleAssignmentRoleRelationship, UnsetType] = unset, + **kwargs, + ): + """ + Relationships of a role assignment. + + :param created_by_user: Relationship to a responder. + :type created_by_user: IncidentRoleAssignmentResponderRelationship, optional + + :param last_modified_by_user: Relationship to a responder. + :type last_modified_by_user: IncidentRoleAssignmentResponderRelationship, optional + + :param reserved_role: Relationship to a role. + :type reserved_role: IncidentRoleAssignmentRoleRelationship, optional + + :param responder: Relationship to a responder. + :type responder: IncidentRoleAssignmentResponderRelationship + + :param user_defined_role: Relationship to a role. + :type user_defined_role: IncidentRoleAssignmentRoleRelationship, 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 + if reserved_role is not unset: + kwargs["reserved_role"] = reserved_role + if user_defined_role is not unset: + kwargs["user_defined_role"] = user_defined_role + super().__init__(kwargs) + + self_.responder = responder diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_request.py b/src/datadog_api_client/v2/model/incident_role_assignment_request.py new file mode 100644 index 0000000000..71511f66c3 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_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_role_assignment_data_request import IncidentRoleAssignmentDataRequest + + +class IncidentRoleAssignmentRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_role_assignment_data_request import IncidentRoleAssignmentDataRequest + + return { + "data": (IncidentRoleAssignmentDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentRoleAssignmentDataRequest, **kwargs): + """ + Request to create a role assignment. + + :param data: Role assignment data for a request. + :type data: IncidentRoleAssignmentDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_responder_relationship.py b/src/datadog_api_client/v2/model/incident_role_assignment_responder_relationship.py new file mode 100644 index 0000000000..7513a09394 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_responder_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_role_assignment_responder_relationship_data import ( + IncidentRoleAssignmentResponderRelationshipData, + ) + + +class IncidentRoleAssignmentResponderRelationship(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_role_assignment_responder_relationship_data import ( + IncidentRoleAssignmentResponderRelationshipData, + ) + + return { + "data": (IncidentRoleAssignmentResponderRelationshipData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentRoleAssignmentResponderRelationshipData, **kwargs): + """ + Relationship to a responder. + + :param data: Responder relationship data. + :type data: IncidentRoleAssignmentResponderRelationshipData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_responder_relationship_data.py b/src/datadog_api_client/v2/model/incident_role_assignment_responder_relationship_data.py new file mode 100644 index 0000000000..b9632cd64b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_responder_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 IncidentRoleAssignmentResponderRelationshipData(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): + """ + Responder relationship data. + + :param id: The responder identifier. + :type id: UUID + + :param type: The responder resource type. + :type type: str + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_response.py b/src/datadog_api_client/v2/model/incident_role_assignment_response.py new file mode 100644 index 0000000000..afa0502f93 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_response.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_role_assignment_data_response import IncidentRoleAssignmentDataResponse + + +class IncidentRoleAssignmentResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_role_assignment_data_response import ( + IncidentRoleAssignmentDataResponse, + ) + + return { + "data": (IncidentRoleAssignmentDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentRoleAssignmentDataResponse, **kwargs): + """ + Response with a single role assignment. + + :param data: Role assignment data in a response. + :type data: IncidentRoleAssignmentDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_role_relationship.py b/src/datadog_api_client/v2/model/incident_role_assignment_role_relationship.py new file mode 100644 index 0000000000..516a5728aa --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_role_relationship.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 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_role_assignment_role_relationship_data import ( + IncidentRoleAssignmentRoleRelationshipData, + ) + + +class IncidentRoleAssignmentRoleRelationship(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_role_assignment_role_relationship_data import ( + IncidentRoleAssignmentRoleRelationshipData, + ) + + return { + "data": (IncidentRoleAssignmentRoleRelationshipData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[IncidentRoleAssignmentRoleRelationshipData, UnsetType] = unset, **kwargs): + """ + Relationship to a role. + + :param data: Role relationship data. + :type data: IncidentRoleAssignmentRoleRelationshipData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_role_relationship_data.py b/src/datadog_api_client/v2/model/incident_role_assignment_role_relationship_data.py new file mode 100644 index 0000000000..0acc3c913f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_role_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 IncidentRoleAssignmentRoleRelationshipData(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): + """ + Role relationship data. + + :param id: The role identifier. + :type id: UUID + + :param type: The role resource type. + :type type: str + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_role_assignment_type.py b/src/datadog_api_client/v2/model/incident_role_assignment_type.py new file mode 100644 index 0000000000..a6d71c8e06 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_role_assignment_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 IncidentRoleAssignmentType(ModelSimple): + """ + Incident role assignment resource type. + + :param value: If omitted defaults to "incident_role_assignments". Must be one of ["incident_role_assignments"]. + :type value: str + """ + + allowed_values = { + "incident_role_assignments", + } + INCIDENT_ROLE_ASSIGNMENTS: ClassVar["IncidentRoleAssignmentType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentRoleAssignmentType.INCIDENT_ROLE_ASSIGNMENTS = IncidentRoleAssignmentType("incident_role_assignments") diff --git a/src/datadog_api_client/v2/model/incident_rule_execution_state_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_rule_execution_state_data_attributes_response.py new file mode 100644 index 0000000000..5c7bd8c835 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_execution_state_data_attributes_response.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 Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + none_type, + unset, + UnsetType, + UUID, +) + + +class IncidentRuleExecutionStateDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created": (datetime,), + "incident_uuid": (UUID,), + "last_executed_at": (datetime, none_type), + "modified": (datetime,), + "rule_uuid": (UUID,), + } + + attribute_map = { + "created": "created", + "incident_uuid": "incident_uuid", + "last_executed_at": "last_executed_at", + "modified": "modified", + "rule_uuid": "rule_uuid", + } + + def __init__( + self_, + created: datetime, + incident_uuid: UUID, + modified: datetime, + rule_uuid: UUID, + last_executed_at: Union[datetime, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of an incident rule execution state. + + :param created: Timestamp when the state was created. + :type created: datetime + + :param incident_uuid: The incident identifier. + :type incident_uuid: UUID + + :param last_executed_at: Timestamp of the last rule execution. + :type last_executed_at: datetime, none_type, optional + + :param modified: Timestamp when the state was last modified. + :type modified: datetime + + :param rule_uuid: The rule identifier. + :type rule_uuid: UUID + """ + if last_executed_at is not unset: + kwargs["last_executed_at"] = last_executed_at + super().__init__(kwargs) + + self_.created = created + self_.incident_uuid = incident_uuid + self_.modified = modified + self_.rule_uuid = rule_uuid diff --git a/src/datadog_api_client/v2/model/incident_rule_execution_state_data_response.py b/src/datadog_api_client/v2/model/incident_rule_execution_state_data_response.py new file mode 100644 index 0000000000..cd2500943f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_execution_state_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_rule_execution_state_data_attributes_response import ( + IncidentRuleExecutionStateDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType + + +class IncidentRuleExecutionStateDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_execution_state_data_attributes_response import ( + IncidentRuleExecutionStateDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType + + return { + "attributes": (IncidentRuleExecutionStateDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentRuleExecutionStateType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentRuleExecutionStateDataAttributesResponse, + id: UUID, + type: IncidentRuleExecutionStateType, + **kwargs, + ): + """ + Rule execution state data in a response. + + :param attributes: Attributes of an incident rule execution state. + :type attributes: IncidentRuleExecutionStateDataAttributesResponse + + :param id: The rule execution state identifier. + :type id: UUID + + :param type: Incident rule execution state resource type. + :type type: IncidentRuleExecutionStateType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_rule_execution_state_rule.py b/src/datadog_api_client/v2/model/incident_rule_execution_state_rule.py new file mode 100644 index 0000000000..10fe4729c8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_execution_state_rule.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 Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + none_type, + unset, + UnsetType, + UUID, +) + + +class IncidentRuleExecutionStateRule(ModelNormal): + @cached_property + def openapi_types(_): + return { + "last_executed_at": (datetime, none_type), + "rule_uuid": (UUID,), + } + + attribute_map = { + "last_executed_at": "last_executed_at", + "rule_uuid": "rule_uuid", + } + + def __init__(self_, rule_uuid: UUID, last_executed_at: Union[datetime, none_type, UnsetType] = unset, **kwargs): + """ + A rule in a batch request. + + :param last_executed_at: Timestamp of the last rule execution. + :type last_executed_at: datetime, none_type, optional + + :param rule_uuid: The rule identifier. + :type rule_uuid: UUID + """ + if last_executed_at is not unset: + kwargs["last_executed_at"] = last_executed_at + super().__init__(kwargs) + + self_.rule_uuid = rule_uuid diff --git a/src/datadog_api_client/v2/model/incident_rule_execution_state_type.py b/src/datadog_api_client/v2/model/incident_rule_execution_state_type.py new file mode 100644 index 0000000000..ef9bbb4f54 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_execution_state_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 IncidentRuleExecutionStateType(ModelSimple): + """ + Incident rule execution state resource type. + + :param value: If omitted defaults to "incident_rule_execution_states". Must be one of ["incident_rule_execution_states"]. + :type value: str + """ + + allowed_values = { + "incident_rule_execution_states", + } + INCIDENT_RULE_EXECUTION_STATES: ClassVar["IncidentRuleExecutionStateType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentRuleExecutionStateType.INCIDENT_RULE_EXECUTION_STATES = IncidentRuleExecutionStateType( + "incident_rule_execution_states" +) diff --git a/src/datadog_api_client/v2/model/incident_rule_execution_states_response.py b/src/datadog_api_client/v2/model/incident_rule_execution_states_response.py new file mode 100644 index 0000000000..9b00b51b1d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_rule_execution_states_response.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 List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_rule_execution_state_data_response import ( + IncidentRuleExecutionStateDataResponse, + ) + + +class IncidentRuleExecutionStatesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_rule_execution_state_data_response import ( + IncidentRuleExecutionStateDataResponse, + ) + + return { + "data": ([IncidentRuleExecutionStateDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentRuleExecutionStateDataResponse], **kwargs): + """ + Response with a list of rule execution states. + + :param data: List of rule execution states. + :type data: [IncidentRuleExecutionStateDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_search_incidents_export_request.py b/src/datadog_api_client/v2/model/incident_search_incidents_export_request.py new file mode 100644 index 0000000000..4016966c92 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_search_incidents_export_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 List + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class IncidentSearchIncidentsExportRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "fields": ([str],), + "query": (str,), + } + + attribute_map = { + "fields": "fields", + "query": "query", + } + + def __init__(self_, fields: List[str], query: str, **kwargs): + """ + Request to export incidents as CSV. + + :param fields: The list of fields to include in the export. + :type fields: [str] + + :param query: The search query to filter incidents for export. + :type query: str + """ + super().__init__(kwargs) + + self_.fields = fields + self_.query = query diff --git a/src/datadog_api_client/v2/model/incident_search_incidents_include_type.py b/src/datadog_api_client/v2/model/incident_search_incidents_include_type.py new file mode 100644 index 0000000000..53bb331081 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_search_incidents_include_type.py @@ -0,0 +1,50 @@ +# 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 IncidentSearchIncidentsIncludeType(ModelSimple): + """ + Types of related objects to include. + + :param value: Must be one of ["incident_type", "impacts", "users", "responders", "integrations", "attachments"]. + :type value: str + """ + + allowed_values = { + "incident_type", + "impacts", + "users", + "responders", + "integrations", + "attachments", + } + INCIDENT_TYPE: ClassVar["IncidentSearchIncidentsIncludeType"] + IMPACTS: ClassVar["IncidentSearchIncidentsIncludeType"] + USERS: ClassVar["IncidentSearchIncidentsIncludeType"] + RESPONDERS: ClassVar["IncidentSearchIncidentsIncludeType"] + INTEGRATIONS: ClassVar["IncidentSearchIncidentsIncludeType"] + ATTACHMENTS: ClassVar["IncidentSearchIncidentsIncludeType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentSearchIncidentsIncludeType.INCIDENT_TYPE = IncidentSearchIncidentsIncludeType("incident_type") +IncidentSearchIncidentsIncludeType.IMPACTS = IncidentSearchIncidentsIncludeType("impacts") +IncidentSearchIncidentsIncludeType.USERS = IncidentSearchIncidentsIncludeType("users") +IncidentSearchIncidentsIncludeType.RESPONDERS = IncidentSearchIncidentsIncludeType("responders") +IncidentSearchIncidentsIncludeType.INTEGRATIONS = IncidentSearchIncidentsIncludeType("integrations") +IncidentSearchIncidentsIncludeType.ATTACHMENTS = IncidentSearchIncidentsIncludeType("attachments") diff --git a/src/datadog_api_client/v2/model/incident_search_incidents_sort_order.py b/src/datadog_api_client/v2/model/incident_search_incidents_sort_order.py new file mode 100644 index 0000000000..d48c7cf0ac --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_search_incidents_sort_order.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 IncidentSearchIncidentsSortOrder(ModelSimple): + """ + The ways searched incidents can be sorted. + + :param value: Must be one of ["created", "-created", "modified", "-modified"]. + :type value: str + """ + + allowed_values = { + "created", + "-created", + "modified", + "-modified", + } + CREATED_ASCENDING: ClassVar["IncidentSearchIncidentsSortOrder"] + CREATED_DESCENDING: ClassVar["IncidentSearchIncidentsSortOrder"] + MODIFIED_ASCENDING: ClassVar["IncidentSearchIncidentsSortOrder"] + MODIFIED_DESCENDING: ClassVar["IncidentSearchIncidentsSortOrder"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentSearchIncidentsSortOrder.CREATED_ASCENDING = IncidentSearchIncidentsSortOrder("created") +IncidentSearchIncidentsSortOrder.CREATED_DESCENDING = IncidentSearchIncidentsSortOrder("-created") +IncidentSearchIncidentsSortOrder.MODIFIED_ASCENDING = IncidentSearchIncidentsSortOrder("modified") +IncidentSearchIncidentsSortOrder.MODIFIED_DESCENDING = IncidentSearchIncidentsSortOrder("-modified") diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_create_data.py b/src/datadog_api_client/v2/model/incident_status_page_notice_create_data.py new file mode 100644 index 0000000000..3c49799dc6 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_create_data.py @@ -0,0 +1,61 @@ +# 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_status_page_notice_create_data_attributes import ( + IncidentStatusPageNoticeCreateDataAttributes, + ) + from datadog_api_client.v2.model.incident_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, + ) + + +class IncidentStatusPageNoticeCreateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_status_page_notice_create_data_attributes import ( + IncidentStatusPageNoticeCreateDataAttributes, + ) + from datadog_api_client.v2.model.incident_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, + ) + + return { + "attributes": (IncidentStatusPageNoticeCreateDataAttributes,), + "type": (IncidentStatusPageNoticeIntegrationType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatusPageNoticeCreateDataAttributes, + type: IncidentStatusPageNoticeIntegrationType, + **kwargs, + ): + """ + Data for publishing a status page notice. + + :param attributes: Attributes for publishing a status page notice. + :type attributes: IncidentStatusPageNoticeCreateDataAttributes + + :param type: Incident integration resource type. + :type type: IncidentStatusPageNoticeIntegrationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_create_data_attributes.py b/src/datadog_api_client/v2/model/incident_status_page_notice_create_data_attributes.py new file mode 100644 index 0000000000..78fa2bc09f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_create_data_attributes.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 Dict, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentStatusPageNoticeCreateDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "components": ({str: (str,)},), + "message": (str,), + "status": (str,), + "title": (str,), + } + + attribute_map = { + "components": "components", + "message": "message", + "status": "status", + "title": "title", + } + + def __init__( + self_, + components: Union[Dict[str, str], UnsetType] = unset, + message: Union[str, UnsetType] = unset, + status: Union[str, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for publishing a status page notice. + + :param components: Map of component identifiers to their status. + :type components: {str: (str,)}, optional + + :param message: The message body of the notice. + :type message: str, optional + + :param status: The status of the notice. + :type status: str, optional + + :param title: The title of the notice. + :type title: str, optional + """ + if components is not unset: + kwargs["components"] = components + if message is not unset: + kwargs["message"] = message + if status is not unset: + kwargs["status"] = status + if title is not unset: + kwargs["title"] = title + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_create_request.py b/src/datadog_api_client/v2/model/incident_status_page_notice_create_request.py new file mode 100644 index 0000000000..32832d548a --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_create_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_status_page_notice_create_data import IncidentStatusPageNoticeCreateData + + +class IncidentStatusPageNoticeCreateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_status_page_notice_create_data import ( + IncidentStatusPageNoticeCreateData, + ) + + return { + "data": (IncidentStatusPageNoticeCreateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatusPageNoticeCreateData, **kwargs): + """ + Request to publish a status page notice. + + :param data: Data for publishing a status page notice. + :type data: IncidentStatusPageNoticeCreateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_integration_data_attributes.py b/src/datadog_api_client/v2/model/incident_status_page_notice_integration_data_attributes.py new file mode 100644 index 0000000000..61d8af38f9 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_integration_data_attributes.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 datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +class IncidentStatusPageNoticeIntegrationDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created": (datetime,), + "integration_type": (str,), + "modified": (datetime,), + "status": (str,), + } + + attribute_map = { + "created": "created", + "integration_type": "integration_type", + "modified": "modified", + "status": "status", + } + + def __init__(self_, created: datetime, integration_type: str, modified: datetime, status: str, **kwargs): + """ + Attributes of a status page notice integration. + + :param created: Timestamp when the integration was created. + :type created: datetime + + :param integration_type: The type of integration. + :type integration_type: str + + :param modified: Timestamp when the integration was last modified. + :type modified: datetime + + :param status: The status of the integration. + :type status: str + """ + super().__init__(kwargs) + + self_.created = created + self_.integration_type = integration_type + self_.modified = modified + self_.status = status diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_integration_data_response.py b/src/datadog_api_client/v2/model/incident_status_page_notice_integration_data_response.py new file mode 100644 index 0000000000..948dacd15b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_integration_data_response.py @@ -0,0 +1,69 @@ +# 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_status_page_notice_integration_data_attributes import ( + IncidentStatusPageNoticeIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, + ) + + +class IncidentStatusPageNoticeIntegrationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_status_page_notice_integration_data_attributes import ( + IncidentStatusPageNoticeIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, + ) + + return { + "attributes": (IncidentStatusPageNoticeIntegrationDataAttributes,), + "id": (UUID,), + "type": (IncidentStatusPageNoticeIntegrationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatusPageNoticeIntegrationDataAttributes, + id: UUID, + type: IncidentStatusPageNoticeIntegrationType, + **kwargs, + ): + """ + Status page notice integration data in a response. + + :param attributes: Attributes of a status page notice integration. + :type attributes: IncidentStatusPageNoticeIntegrationDataAttributes + + :param id: The integration identifier. + :type id: UUID + + :param type: Incident integration resource type. + :type type: IncidentStatusPageNoticeIntegrationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_integration_response.py b/src/datadog_api_client/v2/model/incident_status_page_notice_integration_response.py new file mode 100644 index 0000000000..d23bc198dc --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_integration_response.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_status_page_notice_integration_data_response import ( + IncidentStatusPageNoticeIntegrationDataResponse, + ) + + +class IncidentStatusPageNoticeIntegrationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_status_page_notice_integration_data_response import ( + IncidentStatusPageNoticeIntegrationDataResponse, + ) + + return { + "data": (IncidentStatusPageNoticeIntegrationDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatusPageNoticeIntegrationDataResponse, **kwargs): + """ + Response with status page notice integration metadata. + + :param data: Status page notice integration data in a response. + :type data: IncidentStatusPageNoticeIntegrationDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_integration_type.py b/src/datadog_api_client/v2/model/incident_status_page_notice_integration_type.py new file mode 100644 index 0000000000..ee921aa440 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_integration_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 IncidentStatusPageNoticeIntegrationType(ModelSimple): + """ + Incident integration resource type. + + :param value: If omitted defaults to "incident_integrations". Must be one of ["incident_integrations"]. + :type value: str + """ + + allowed_values = { + "incident_integrations", + } + INCIDENT_INTEGRATIONS: ClassVar["IncidentStatusPageNoticeIntegrationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentStatusPageNoticeIntegrationType.INCIDENT_INTEGRATIONS = IncidentStatusPageNoticeIntegrationType( + "incident_integrations" +) diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_update_data.py b/src/datadog_api_client/v2/model/incident_status_page_notice_update_data.py new file mode 100644 index 0000000000..6d97ced0bc --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_update_data.py @@ -0,0 +1,61 @@ +# 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_status_page_notice_update_data_attributes import ( + IncidentStatusPageNoticeUpdateDataAttributes, + ) + from datadog_api_client.v2.model.incident_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, + ) + + +class IncidentStatusPageNoticeUpdateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_status_page_notice_update_data_attributes import ( + IncidentStatusPageNoticeUpdateDataAttributes, + ) + from datadog_api_client.v2.model.incident_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, + ) + + return { + "attributes": (IncidentStatusPageNoticeUpdateDataAttributes,), + "type": (IncidentStatusPageNoticeIntegrationType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatusPageNoticeUpdateDataAttributes, + type: IncidentStatusPageNoticeIntegrationType, + **kwargs, + ): + """ + Data for updating a status page notice. + + :param attributes: Attributes for updating a status page notice. + :type attributes: IncidentStatusPageNoticeUpdateDataAttributes + + :param type: Incident integration resource type. + :type type: IncidentStatusPageNoticeIntegrationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_update_data_attributes.py b/src/datadog_api_client/v2/model/incident_status_page_notice_update_data_attributes.py new file mode 100644 index 0000000000..e7c4361fc8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_update_data_attributes.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 Dict, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentStatusPageNoticeUpdateDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "components": ({str: (str,)},), + "message": (str,), + "status": (str,), + "title": (str,), + } + + attribute_map = { + "components": "components", + "message": "message", + "status": "status", + "title": "title", + } + + def __init__( + self_, + components: Union[Dict[str, str], UnsetType] = unset, + message: Union[str, UnsetType] = unset, + status: Union[str, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for updating a status page notice. + + :param components: Map of component identifiers to their status. + :type components: {str: (str,)}, optional + + :param message: The message body of the notice. + :type message: str, optional + + :param status: The status of the notice. + :type status: str, optional + + :param title: The title of the notice. + :type title: str, optional + """ + if components is not unset: + kwargs["components"] = components + if message is not unset: + kwargs["message"] = message + if status is not unset: + kwargs["status"] = status + if title is not unset: + kwargs["title"] = title + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_status_page_notice_update_request.py b/src/datadog_api_client/v2/model/incident_status_page_notice_update_request.py new file mode 100644 index 0000000000..aacbf46d27 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_page_notice_update_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_status_page_notice_update_data import IncidentStatusPageNoticeUpdateData + + +class IncidentStatusPageNoticeUpdateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_status_page_notice_update_data import ( + IncidentStatusPageNoticeUpdateData, + ) + + return { + "data": (IncidentStatusPageNoticeUpdateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatusPageNoticeUpdateData, **kwargs): + """ + Request to update a status page notice. + + :param data: Data for updating a status page notice. + :type data: IncidentStatusPageNoticeUpdateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_status_pages_suggestion_data.py b/src/datadog_api_client/v2/model/incident_status_pages_suggestion_data.py new file mode 100644 index 0000000000..9a0c46b5a5 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_pages_suggestion_data.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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_status_pages_suggestion_data_attributes import ( + IncidentStatusPagesSuggestionDataAttributes, + ) + from datadog_api_client.v2.model.incident_status_pages_suggestion_type import IncidentStatusPagesSuggestionType + + +class IncidentStatusPagesSuggestionData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_status_pages_suggestion_data_attributes import ( + IncidentStatusPagesSuggestionDataAttributes, + ) + from datadog_api_client.v2.model.incident_status_pages_suggestion_type import IncidentStatusPagesSuggestionType + + return { + "attributes": (IncidentStatusPagesSuggestionDataAttributes,), + "id": (str,), + "type": (IncidentStatusPagesSuggestionType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatusPagesSuggestionDataAttributes, + id: str, + type: IncidentStatusPagesSuggestionType, + **kwargs, + ): + """ + Status pages suggestion data. + + :param attributes: Attributes of a status pages suggestion. + :type attributes: IncidentStatusPagesSuggestionDataAttributes + + :param id: The suggestion title. + :type id: str + + :param type: Incident status pages suggestion resource type. + :type type: IncidentStatusPagesSuggestionType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_status_pages_suggestion_data_attributes.py b/src/datadog_api_client/v2/model/incident_status_pages_suggestion_data_attributes.py new file mode 100644 index 0000000000..47a85e3ffa --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_pages_suggestion_data_attributes.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 IncidentStatusPagesSuggestionDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "status": (str,), + "update_text": (str,), + } + + attribute_map = { + "status": "status", + "update_text": "update_text", + } + + def __init__(self_, status: str, update_text: str, **kwargs): + """ + Attributes of a status pages suggestion. + + :param status: The suggested status for the status page. + :type status: str + + :param update_text: The suggested update text for the status page notice. + :type update_text: str + """ + super().__init__(kwargs) + + self_.status = status + self_.update_text = update_text diff --git a/src/datadog_api_client/v2/model/incident_status_pages_suggestion_response.py b/src/datadog_api_client/v2/model/incident_status_pages_suggestion_response.py new file mode 100644 index 0000000000..7ddc7fb66f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_pages_suggestion_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_status_pages_suggestion_data import IncidentStatusPagesSuggestionData + + +class IncidentStatusPagesSuggestionResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_status_pages_suggestion_data import IncidentStatusPagesSuggestionData + + return { + "data": (IncidentStatusPagesSuggestionData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatusPagesSuggestionData, **kwargs): + """ + Response with a status pages suggestion. + + :param data: Status pages suggestion data. + :type data: IncidentStatusPagesSuggestionData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_status_pages_suggestion_type.py b/src/datadog_api_client/v2/model/incident_status_pages_suggestion_type.py new file mode 100644 index 0000000000..2ad7594d54 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_status_pages_suggestion_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 IncidentStatusPagesSuggestionType(ModelSimple): + """ + Incident status pages suggestion resource type. + + :param value: If omitted defaults to "incident_statuspages_suggestion". Must be one of ["incident_statuspages_suggestion"]. + :type value: str + """ + + allowed_values = { + "incident_statuspages_suggestion", + } + INCIDENT_STATUSPAGES_SUGGESTION: ClassVar["IncidentStatusPagesSuggestionType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentStatusPagesSuggestionType.INCIDENT_STATUSPAGES_SUGGESTION = IncidentStatusPagesSuggestionType( + "incident_statuspages_suggestion" +) diff --git a/src/datadog_api_client/v2/model/incident_statuspage_incident_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_statuspage_incident_data_attributes_request.py new file mode 100644 index 0000000000..1a7ef53a59 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_incident_data_attributes_request.py @@ -0,0 +1,89 @@ +# 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 Dict, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +class IncidentStatuspageIncidentDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "body": (str, none_type), + "components": ({str: (str,)},), + "deliver_notifications": (bool, none_type), + "impact": (str, none_type), + "name": (str, none_type), + "page_id": (str,), + "status": (str, none_type), + } + + attribute_map = { + "body": "body", + "components": "components", + "deliver_notifications": "deliver_notifications", + "impact": "impact", + "name": "name", + "page_id": "page_id", + "status": "status", + } + + def __init__( + self_, + body: Union[str, none_type, UnsetType] = unset, + components: Union[Dict[str, str], UnsetType] = unset, + deliver_notifications: Union[bool, none_type, UnsetType] = unset, + impact: Union[str, none_type, UnsetType] = unset, + name: Union[str, none_type, UnsetType] = unset, + page_id: Union[str, UnsetType] = unset, + status: Union[str, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating or updating a Statuspage incident. + + :param body: The body text of the Statuspage incident. + :type body: str, none_type, optional + + :param components: Map of component identifiers to their status. + :type components: {str: (str,)}, optional + + :param deliver_notifications: Whether to deliver notifications. + :type deliver_notifications: bool, none_type, optional + + :param impact: The impact level of the incident. + :type impact: str, none_type, optional + + :param name: The name of the Statuspage incident. + :type name: str, none_type, optional + + :param page_id: The Statuspage page identifier. + :type page_id: str, optional + + :param status: The status of the Statuspage incident. + :type status: str, none_type, optional + """ + if body is not unset: + kwargs["body"] = body + if components is not unset: + kwargs["components"] = components + if deliver_notifications is not unset: + kwargs["deliver_notifications"] = deliver_notifications + if impact is not unset: + kwargs["impact"] = impact + if name is not unset: + kwargs["name"] = name + if page_id is not unset: + kwargs["page_id"] = page_id + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_statuspage_incident_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_statuspage_incident_data_attributes_response.py new file mode 100644 index 0000000000..8996f29cab --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_incident_data_attributes_response.py @@ -0,0 +1,76 @@ +# 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, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_statuspage_incident_entry import IncidentStatuspageIncidentEntry + + +class IncidentStatuspageIncidentDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_incident_entry import IncidentStatuspageIncidentEntry + + return { + "created": (datetime,), + "incidents": ([IncidentStatuspageIncidentEntry],), + "integration_type": (str,), + "modified": (datetime,), + "status": (str,), + } + + attribute_map = { + "created": "created", + "incidents": "incidents", + "integration_type": "integration_type", + "modified": "modified", + "status": "status", + } + + def __init__( + self_, + created: datetime, + integration_type: str, + modified: datetime, + status: str, + incidents: Union[List[IncidentStatuspageIncidentEntry], UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a Statuspage incident integration. + + :param created: Timestamp when the integration was created. + :type created: datetime + + :param incidents: List of Statuspage incidents. + :type incidents: [IncidentStatuspageIncidentEntry], optional + + :param integration_type: The type of integration. + :type integration_type: str + + :param modified: Timestamp when the integration was last modified. + :type modified: datetime + + :param status: The status of the integration. + :type status: str + """ + if incidents is not unset: + kwargs["incidents"] = incidents + super().__init__(kwargs) + + self_.created = created + self_.integration_type = integration_type + self_.modified = modified + self_.status = status diff --git a/src/datadog_api_client/v2/model/incident_statuspage_incident_data_request.py b/src/datadog_api_client/v2/model/incident_statuspage_incident_data_request.py new file mode 100644 index 0000000000..dfb8735f8d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_incident_data_request.py @@ -0,0 +1,57 @@ +# 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_statuspage_incident_data_attributes_request import ( + IncidentStatuspageIncidentDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_statuspage_incident_type import IncidentStatuspageIncidentType + + +class IncidentStatuspageIncidentDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_incident_data_attributes_request import ( + IncidentStatuspageIncidentDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_statuspage_incident_type import IncidentStatuspageIncidentType + + return { + "attributes": (IncidentStatuspageIncidentDataAttributesRequest,), + "type": (IncidentStatuspageIncidentType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatuspageIncidentDataAttributesRequest, + type: IncidentStatuspageIncidentType, + **kwargs, + ): + """ + Statuspage incident data for a request. + + :param attributes: Attributes for creating or updating a Statuspage incident. + :type attributes: IncidentStatuspageIncidentDataAttributesRequest + + :param type: Statuspage incident integration resource type. + :type type: IncidentStatuspageIncidentType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_statuspage_incident_data_response.py b/src/datadog_api_client/v2/model/incident_statuspage_incident_data_response.py new file mode 100644 index 0000000000..3e959042bc --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_incident_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_statuspage_incident_data_attributes_response import ( + IncidentStatuspageIncidentDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_statuspage_incident_type import IncidentStatuspageIncidentType + + +class IncidentStatuspageIncidentDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_incident_data_attributes_response import ( + IncidentStatuspageIncidentDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_statuspage_incident_type import IncidentStatuspageIncidentType + + return { + "attributes": (IncidentStatuspageIncidentDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentStatuspageIncidentType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatuspageIncidentDataAttributesResponse, + id: UUID, + type: IncidentStatuspageIncidentType, + **kwargs, + ): + """ + Statuspage incident data in a response. + + :param attributes: Attributes of a Statuspage incident integration. + :type attributes: IncidentStatuspageIncidentDataAttributesResponse + + :param id: The integration identifier. + :type id: UUID + + :param type: Statuspage incident integration resource type. + :type type: IncidentStatuspageIncidentType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_statuspage_incident_entry.py b/src/datadog_api_client/v2/model/incident_statuspage_incident_entry.py new file mode 100644 index 0000000000..ea9bb31432 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_incident_entry.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 IncidentStatuspageIncidentEntry(ModelNormal): + @cached_property + def openapi_types(_): + return { + "incident_id": (str,), + "page_id": (str,), + "redirect_url": (str,), + } + + attribute_map = { + "incident_id": "incident_id", + "page_id": "page_id", + "redirect_url": "redirect_url", + } + + def __init__(self_, incident_id: str, page_id: str, redirect_url: Union[str, UnsetType] = unset, **kwargs): + """ + A Statuspage incident entry. + + :param incident_id: The Datadog incident identifier. + :type incident_id: str + + :param page_id: The Statuspage page identifier. + :type page_id: str + + :param redirect_url: The URL of the Statuspage incident. + :type redirect_url: str, optional + """ + if redirect_url is not unset: + kwargs["redirect_url"] = redirect_url + super().__init__(kwargs) + + self_.incident_id = incident_id + self_.page_id = page_id diff --git a/src/datadog_api_client/v2/model/incident_statuspage_incident_request.py b/src/datadog_api_client/v2/model/incident_statuspage_incident_request.py new file mode 100644 index 0000000000..e850535c81 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_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_statuspage_incident_data_request import ( + IncidentStatuspageIncidentDataRequest, + ) + + +class IncidentStatuspageIncidentRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_incident_data_request import ( + IncidentStatuspageIncidentDataRequest, + ) + + return { + "data": (IncidentStatuspageIncidentDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatuspageIncidentDataRequest, **kwargs): + """ + Request to create or update a Statuspage incident. + + :param data: Statuspage incident data for a request. + :type data: IncidentStatuspageIncidentDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_statuspage_incident_response.py b/src/datadog_api_client/v2/model/incident_statuspage_incident_response.py new file mode 100644 index 0000000000..44a6538eb0 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_incident_response.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_statuspage_incident_data_response import ( + IncidentStatuspageIncidentDataResponse, + ) + + +class IncidentStatuspageIncidentResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_incident_data_response import ( + IncidentStatuspageIncidentDataResponse, + ) + + return { + "data": (IncidentStatuspageIncidentDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatuspageIncidentDataResponse, **kwargs): + """ + Response with Statuspage incident integration metadata. + + :param data: Statuspage incident data in a response. + :type data: IncidentStatuspageIncidentDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_statuspage_incident_type.py b/src/datadog_api_client/v2/model/incident_statuspage_incident_type.py new file mode 100644 index 0000000000..fe6a27d493 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_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 IncidentStatuspageIncidentType(ModelSimple): + """ + Statuspage incident integration resource type. + + :param value: If omitted defaults to "incident_integrations". Must be one of ["incident_integrations"]. + :type value: str + """ + + allowed_values = { + "incident_integrations", + } + INCIDENT_INTEGRATIONS: ClassVar["IncidentStatuspageIncidentType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentStatuspageIncidentType.INCIDENT_INTEGRATIONS = IncidentStatuspageIncidentType("incident_integrations") diff --git a/src/datadog_api_client/v2/model/incident_statuspage_preferences_data.py b/src/datadog_api_client/v2/model/incident_statuspage_preferences_data.py new file mode 100644 index 0000000000..732d0bedf9 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_preferences_data.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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_statuspage_preferences_data_attributes import ( + IncidentStatuspagePreferencesDataAttributes, + ) + from datadog_api_client.v2.model.incident_statuspage_preferences_type import IncidentStatuspagePreferencesType + + +class IncidentStatuspagePreferencesData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_preferences_data_attributes import ( + IncidentStatuspagePreferencesDataAttributes, + ) + from datadog_api_client.v2.model.incident_statuspage_preferences_type import IncidentStatuspagePreferencesType + + return { + "attributes": (IncidentStatuspagePreferencesDataAttributes,), + "id": (str,), + "type": (IncidentStatuspagePreferencesType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatuspagePreferencesDataAttributes, + id: str, + type: IncidentStatuspagePreferencesType, + **kwargs, + ): + """ + Subscription preferences data. + + :param attributes: Attributes of subscription preferences. + :type attributes: IncidentStatuspagePreferencesDataAttributes + + :param id: The preferences identifier. + :type id: str + + :param type: Subscription preferences resource type. + :type type: IncidentStatuspagePreferencesType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_statuspage_preferences_data_attributes.py b/src/datadog_api_client/v2/model/incident_statuspage_preferences_data_attributes.py new file mode 100644 index 0000000000..6cb8097eaf --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_preferences_data_attributes.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 IncidentStatuspagePreferencesDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "subscribed": (bool,), + } + + attribute_map = { + "subscribed": "subscribed", + } + + def __init__(self_, subscribed: bool, **kwargs): + """ + Attributes of subscription preferences. + + :param subscribed: Whether the user is subscribed. + :type subscribed: bool + """ + super().__init__(kwargs) + + self_.subscribed = subscribed diff --git a/src/datadog_api_client/v2/model/incident_statuspage_preferences_response.py b/src/datadog_api_client/v2/model/incident_statuspage_preferences_response.py new file mode 100644 index 0000000000..bd3f912ba3 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_preferences_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_statuspage_preferences_data import IncidentStatuspagePreferencesData + + +class IncidentStatuspagePreferencesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_preferences_data import IncidentStatuspagePreferencesData + + return { + "data": (IncidentStatuspagePreferencesData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatuspagePreferencesData, **kwargs): + """ + Response with subscription preferences. + + :param data: Subscription preferences data. + :type data: IncidentStatuspagePreferencesData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_statuspage_preferences_type.py b/src/datadog_api_client/v2/model/incident_statuspage_preferences_type.py new file mode 100644 index 0000000000..40c5b3809f --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_preferences_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 IncidentStatuspagePreferencesType(ModelSimple): + """ + Subscription preferences resource type. + + :param value: If omitted defaults to "statuspage_subscription_preferences". Must be one of ["statuspage_subscription_preferences"]. + :type value: str + """ + + allowed_values = { + "statuspage_subscription_preferences", + } + STATUSPAGE_SUBSCRIPTION_PREFERENCES: ClassVar["IncidentStatuspagePreferencesType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentStatuspagePreferencesType.STATUSPAGE_SUBSCRIPTION_PREFERENCES = IncidentStatuspagePreferencesType( + "statuspage_subscription_preferences" +) diff --git a/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_attributes_request.py new file mode 100644 index 0000000000..b683623a26 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_attributes_request.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 IncidentStatuspageSubscriptionDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "email": (str,), + } + + attribute_map = { + "email": "email", + } + + def __init__(self_, email: str, **kwargs): + """ + Attributes for creating an email subscription. + + :param email: The email address to subscribe. + :type email: str + """ + super().__init__(kwargs) + + self_.email = email diff --git a/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_attributes_response.py new file mode 100644 index 0000000000..ec87deb8e0 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_attributes_response.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 datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +class IncidentStatuspageSubscriptionDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "confirmed": (bool,), + "created_at": (datetime,), + "email": (str,), + } + + attribute_map = { + "confirmed": "confirmed", + "created_at": "created_at", + "email": "email", + } + + def __init__(self_, confirmed: bool, created_at: datetime, email: str, **kwargs): + """ + Attributes of an email subscription. + + :param confirmed: Whether the subscription has been confirmed. + :type confirmed: bool + + :param created_at: Timestamp when the subscription was created. + :type created_at: datetime + + :param email: The subscribed email address. + :type email: str + """ + super().__init__(kwargs) + + self_.confirmed = confirmed + self_.created_at = created_at + self_.email = email diff --git a/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_request.py b/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_request.py new file mode 100644 index 0000000000..524c9d20e2 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_request.py @@ -0,0 +1,57 @@ +# 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_statuspage_subscription_data_attributes_request import ( + IncidentStatuspageSubscriptionDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_statuspage_subscription_type import IncidentStatuspageSubscriptionType + + +class IncidentStatuspageSubscriptionDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_subscription_data_attributes_request import ( + IncidentStatuspageSubscriptionDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_statuspage_subscription_type import IncidentStatuspageSubscriptionType + + return { + "attributes": (IncidentStatuspageSubscriptionDataAttributesRequest,), + "type": (IncidentStatuspageSubscriptionType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatuspageSubscriptionDataAttributesRequest, + type: IncidentStatuspageSubscriptionType, + **kwargs, + ): + """ + Subscription data for a request. + + :param attributes: Attributes for creating an email subscription. + :type attributes: IncidentStatuspageSubscriptionDataAttributesRequest + + :param type: Statuspage email subscription resource type. + :type type: IncidentStatuspageSubscriptionType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_response.py b/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_response.py new file mode 100644 index 0000000000..eed04eacb8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_subscription_data_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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_statuspage_subscription_data_attributes_response import ( + IncidentStatuspageSubscriptionDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_statuspage_subscription_type import IncidentStatuspageSubscriptionType + + +class IncidentStatuspageSubscriptionDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_subscription_data_attributes_response import ( + IncidentStatuspageSubscriptionDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_statuspage_subscription_type import IncidentStatuspageSubscriptionType + + return { + "attributes": (IncidentStatuspageSubscriptionDataAttributesResponse,), + "id": (str,), + "type": (IncidentStatuspageSubscriptionType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentStatuspageSubscriptionDataAttributesResponse, + id: str, + type: IncidentStatuspageSubscriptionType, + **kwargs, + ): + """ + Email subscription data in a response. + + :param attributes: Attributes of an email subscription. + :type attributes: IncidentStatuspageSubscriptionDataAttributesResponse + + :param id: The subscription identifier. + :type id: str + + :param type: Statuspage email subscription resource type. + :type type: IncidentStatuspageSubscriptionType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_statuspage_subscription_request.py b/src/datadog_api_client/v2/model/incident_statuspage_subscription_request.py new file mode 100644 index 0000000000..c5cb89350d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_subscription_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_statuspage_subscription_data_request import ( + IncidentStatuspageSubscriptionDataRequest, + ) + + +class IncidentStatuspageSubscriptionRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_subscription_data_request import ( + IncidentStatuspageSubscriptionDataRequest, + ) + + return { + "data": (IncidentStatuspageSubscriptionDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatuspageSubscriptionDataRequest, **kwargs): + """ + Request to create an email subscription. + + :param data: Subscription data for a request. + :type data: IncidentStatuspageSubscriptionDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_statuspage_subscription_response.py b/src/datadog_api_client/v2/model/incident_statuspage_subscription_response.py new file mode 100644 index 0000000000..55c321bd85 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_subscription_response.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_statuspage_subscription_data_response import ( + IncidentStatuspageSubscriptionDataResponse, + ) + + +class IncidentStatuspageSubscriptionResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_subscription_data_response import ( + IncidentStatuspageSubscriptionDataResponse, + ) + + return { + "data": (IncidentStatuspageSubscriptionDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentStatuspageSubscriptionDataResponse, **kwargs): + """ + Response with a single email subscription. + + :param data: Email subscription data in a response. + :type data: IncidentStatuspageSubscriptionDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_statuspage_subscription_type.py b/src/datadog_api_client/v2/model/incident_statuspage_subscription_type.py new file mode 100644 index 0000000000..f4d39b9701 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_subscription_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 IncidentStatuspageSubscriptionType(ModelSimple): + """ + Statuspage email subscription resource type. + + :param value: If omitted defaults to "statuspage_email_subscription". Must be one of ["statuspage_email_subscription"]. + :type value: str + """ + + allowed_values = { + "statuspage_email_subscription", + } + STATUSPAGE_EMAIL_SUBSCRIPTION: ClassVar["IncidentStatuspageSubscriptionType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentStatuspageSubscriptionType.STATUSPAGE_EMAIL_SUBSCRIPTION = IncidentStatuspageSubscriptionType( + "statuspage_email_subscription" +) diff --git a/src/datadog_api_client/v2/model/incident_statuspage_subscriptions_response.py b/src/datadog_api_client/v2/model/incident_statuspage_subscriptions_response.py new file mode 100644 index 0000000000..0a7aca86f9 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_statuspage_subscriptions_response.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 List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_statuspage_subscription_data_response import ( + IncidentStatuspageSubscriptionDataResponse, + ) + + +class IncidentStatuspageSubscriptionsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_statuspage_subscription_data_response import ( + IncidentStatuspageSubscriptionDataResponse, + ) + + return { + "data": ([IncidentStatuspageSubscriptionDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentStatuspageSubscriptionDataResponse], **kwargs): + """ + Response with a list of email subscriptions. + + :param data: List of email subscriptions. + :type data: [IncidentStatuspageSubscriptionDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_template_variable_data.py b/src/datadog_api_client/v2/model/incident_template_variable_data.py new file mode 100644 index 0000000000..7567e91449 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_template_variable_data.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 TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_template_variable_data_attributes import ( + IncidentTemplateVariableDataAttributes, + ) + from datadog_api_client.v2.model.incident_template_variable_type import IncidentTemplateVariableType + + +class IncidentTemplateVariableData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_template_variable_data_attributes import ( + IncidentTemplateVariableDataAttributes, + ) + from datadog_api_client.v2.model.incident_template_variable_type import IncidentTemplateVariableType + + return { + "attributes": (IncidentTemplateVariableDataAttributes,), + "id": (str,), + "type": (IncidentTemplateVariableType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, attributes: IncidentTemplateVariableDataAttributes, id: str, type: IncidentTemplateVariableType, **kwargs + ): + """ + Template variable data. + + :param attributes: Attributes of a template variable. + :type attributes: IncidentTemplateVariableDataAttributes + + :param id: The template variable identifier. + :type id: str + + :param type: Template variable resource type. + :type type: IncidentTemplateVariableType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_template_variable_data_attributes.py b/src/datadog_api_client/v2/model/incident_template_variable_data_attributes.py new file mode 100644 index 0000000000..01e90d4f47 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_template_variable_data_attributes.py @@ -0,0 +1,51 @@ +# 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 IncidentTemplateVariableDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "description": (str,), + "display_name": (str,), + "domain": (str,), + "variable": (str,), + } + + attribute_map = { + "description": "description", + "display_name": "display_name", + "domain": "domain", + "variable": "variable", + } + + def __init__(self_, description: str, display_name: str, domain: str, variable: str, **kwargs): + """ + Attributes of a template variable. + + :param description: A description of the template variable. + :type description: str + + :param display_name: The display name of the template variable. + :type display_name: str + + :param domain: The domain of the template variable. + :type domain: str + + :param variable: The variable name used in templates. + :type variable: str + """ + super().__init__(kwargs) + + self_.description = description + self_.display_name = display_name + self_.domain = domain + self_.variable = variable diff --git a/src/datadog_api_client/v2/model/incident_template_variable_type.py b/src/datadog_api_client/v2/model/incident_template_variable_type.py new file mode 100644 index 0000000000..f58095eb71 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_template_variable_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 IncidentTemplateVariableType(ModelSimple): + """ + Template variable resource type. + + :param value: If omitted defaults to "template_variables". Must be one of ["template_variables"]. + :type value: str + """ + + allowed_values = { + "template_variables", + } + TEMPLATE_VARIABLES: ClassVar["IncidentTemplateVariableType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentTemplateVariableType.TEMPLATE_VARIABLES = IncidentTemplateVariableType("template_variables") diff --git a/src/datadog_api_client/v2/model/incident_template_variables_response.py b/src/datadog_api_client/v2/model/incident_template_variables_response.py new file mode 100644 index 0000000000..d94527a535 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_template_variables_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_template_variable_data import IncidentTemplateVariableData + + +class IncidentTemplateVariablesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_template_variable_data import IncidentTemplateVariableData + + return { + "data": ([IncidentTemplateVariableData],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentTemplateVariableData], **kwargs): + """ + Response with a list of template variables. + + :param data: List of template variables. + :type data: [IncidentTemplateVariableData] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timeline_cell_source.py b/src/datadog_api_client/v2/model/incident_timeline_cell_source.py new file mode 100644 index 0000000000..0c9263af68 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_cell_source.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 IncidentTimelineCellSource(ModelSimple): + """ + The source of a timeline cell. + + :param value: Must be one of ["slack", "microsoft_teams", "datadog", "api"]. + :type value: str + """ + + allowed_values = { + "slack", + "microsoft_teams", + "datadog", + "api", + } + SLACK: ClassVar["IncidentTimelineCellSource"] + MICROSOFT_TEAMS: ClassVar["IncidentTimelineCellSource"] + DATADOG: ClassVar["IncidentTimelineCellSource"] + API: ClassVar["IncidentTimelineCellSource"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentTimelineCellSource.SLACK = IncidentTimelineCellSource("slack") +IncidentTimelineCellSource.MICROSOFT_TEAMS = IncidentTimelineCellSource("microsoft_teams") +IncidentTimelineCellSource.DATADOG = IncidentTimelineCellSource("datadog") +IncidentTimelineCellSource.API = IncidentTimelineCellSource("api") diff --git a/src/datadog_api_client/v2/model/incident_timeline_cell_type.py b/src/datadog_api_client/v2/model/incident_timeline_cell_type.py new file mode 100644 index 0000000000..839cd1371b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_cell_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 IncidentTimelineCellType(ModelSimple): + """ + The type of a timeline cell. + + :param value: Must be one of ["markdown", "incident_status_change", "timestamp_change", "meeting_summary", "meeting_chat", "role_assignment_change", "postmortem_change"]. + :type value: str + """ + + allowed_values = { + "markdown", + "incident_status_change", + "timestamp_change", + "meeting_summary", + "meeting_chat", + "role_assignment_change", + "postmortem_change", + } + MARKDOWN: ClassVar["IncidentTimelineCellType"] + INCIDENT_STATUS_CHANGE: ClassVar["IncidentTimelineCellType"] + TIMESTAMP_CHANGE: ClassVar["IncidentTimelineCellType"] + MEETING_SUMMARY: ClassVar["IncidentTimelineCellType"] + MEETING_CHAT: ClassVar["IncidentTimelineCellType"] + ROLE_ASSIGNMENT_CHANGE: ClassVar["IncidentTimelineCellType"] + POSTMORTEM_CHANGE: ClassVar["IncidentTimelineCellType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentTimelineCellType.MARKDOWN = IncidentTimelineCellType("markdown") +IncidentTimelineCellType.INCIDENT_STATUS_CHANGE = IncidentTimelineCellType("incident_status_change") +IncidentTimelineCellType.TIMESTAMP_CHANGE = IncidentTimelineCellType("timestamp_change") +IncidentTimelineCellType.MEETING_SUMMARY = IncidentTimelineCellType("meeting_summary") +IncidentTimelineCellType.MEETING_CHAT = IncidentTimelineCellType("meeting_chat") +IncidentTimelineCellType.ROLE_ASSIGNMENT_CHANGE = IncidentTimelineCellType("role_assignment_change") +IncidentTimelineCellType.POSTMORTEM_CHANGE = IncidentTimelineCellType("postmortem_change") diff --git a/src/datadog_api_client/v2/model/incident_timeline_entries_response.py b/src/datadog_api_client/v2/model/incident_timeline_entries_response.py new file mode 100644 index 0000000000..45ffeb6028 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entries_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_timeline_entry_data_response import IncidentTimelineEntryDataResponse + + +class IncidentTimelineEntriesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_entry_data_response import IncidentTimelineEntryDataResponse + + return { + "data": ([IncidentTimelineEntryDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentTimelineEntryDataResponse], **kwargs): + """ + Response with a list of timeline entries. + + :param data: List of timeline entries. + :type data: [IncidentTimelineEntryDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timeline_entry_content.py b/src/datadog_api_client/v2/model/incident_timeline_entry_content.py new file mode 100644 index 0000000000..ee6714174c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entry_content.py @@ -0,0 +1,36 @@ +# 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 IncidentTimelineEntryContent(ModelNormal): + @cached_property + def openapi_types(_): + return { + "message": (str,), + } + + attribute_map = { + "message": "message", + } + + def __init__(self_, message: Union[str, UnsetType] = unset, **kwargs): + """ + The content of a timeline entry. + + :param message: The markdown message content. + :type message: str, optional + """ + if message is not unset: + kwargs["message"] = message + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_timeline_entry_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_timeline_entry_data_attributes_request.py new file mode 100644 index 0000000000..fc2698286b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entry_data_attributes_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 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_timeline_cell_type import IncidentTimelineCellType + from datadog_api_client.v2.model.incident_timeline_entry_content import IncidentTimelineEntryContent + + +class IncidentTimelineEntryDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_cell_type import IncidentTimelineCellType + from datadog_api_client.v2.model.incident_timeline_entry_content import IncidentTimelineEntryContent + + return { + "cell_type": (IncidentTimelineCellType,), + "content": (IncidentTimelineEntryContent,), + "display_time": (datetime,), + "important": (bool,), + } + + attribute_map = { + "cell_type": "cell_type", + "content": "content", + "display_time": "display_time", + "important": "important", + } + + def __init__( + self_, + cell_type: IncidentTimelineCellType, + content: IncidentTimelineEntryContent, + display_time: Union[datetime, UnsetType] = unset, + important: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating or updating a timeline entry. + + :param cell_type: The type of a timeline cell. + :type cell_type: IncidentTimelineCellType + + :param content: The content of a timeline entry. + :type content: IncidentTimelineEntryContent + + :param display_time: The display time for this timeline entry. + :type display_time: datetime, optional + + :param important: Whether this timeline entry is marked as important. + :type important: bool, optional + """ + if display_time is not unset: + kwargs["display_time"] = display_time + if important is not unset: + kwargs["important"] = important + super().__init__(kwargs) + + self_.cell_type = cell_type + self_.content = content diff --git a/src/datadog_api_client/v2/model/incident_timeline_entry_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_timeline_entry_data_attributes_response.py new file mode 100644 index 0000000000..e2363c699b --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entry_data_attributes_response.py @@ -0,0 +1,109 @@ +# 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_timeline_cell_type import IncidentTimelineCellType + from datadog_api_client.v2.model.incident_timeline_entry_content import IncidentTimelineEntryContent + from datadog_api_client.v2.model.incident_timeline_cell_source import IncidentTimelineCellSource + + +class IncidentTimelineEntryDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_cell_type import IncidentTimelineCellType + from datadog_api_client.v2.model.incident_timeline_entry_content import IncidentTimelineEntryContent + from datadog_api_client.v2.model.incident_timeline_cell_source import IncidentTimelineCellSource + + return { + "cell_type": (IncidentTimelineCellType,), + "content": (IncidentTimelineEntryContent,), + "created": (datetime,), + "display_time": (datetime,), + "important": (bool,), + "incident_id": (str,), + "modified": (datetime,), + "parent_uuid": (str, none_type), + "source": (IncidentTimelineCellSource,), + } + + attribute_map = { + "cell_type": "cell_type", + "content": "content", + "created": "created", + "display_time": "display_time", + "important": "important", + "incident_id": "incident_id", + "modified": "modified", + "parent_uuid": "parent_uuid", + "source": "source", + } + + def __init__( + self_, + cell_type: IncidentTimelineCellType, + content: IncidentTimelineEntryContent, + created: datetime, + display_time: datetime, + important: bool, + incident_id: str, + modified: datetime, + source: IncidentTimelineCellSource, + parent_uuid: Union[str, none_type, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a timeline entry. + + :param cell_type: The type of a timeline cell. + :type cell_type: IncidentTimelineCellType + + :param content: The content of a timeline entry. + :type content: IncidentTimelineEntryContent + + :param created: Timestamp when the entry was created. + :type created: datetime + + :param display_time: The display time for this timeline entry. + :type display_time: datetime + + :param important: Whether this timeline entry is marked as important. + :type important: bool + + :param incident_id: The incident identifier. + :type incident_id: str + + :param modified: Timestamp when the entry was last modified. + :type modified: datetime + + :param parent_uuid: UUID of the parent timeline entry. + :type parent_uuid: str, none_type, optional + + :param source: The source of a timeline cell. + :type source: IncidentTimelineCellSource + """ + if parent_uuid is not unset: + kwargs["parent_uuid"] = parent_uuid + super().__init__(kwargs) + + self_.cell_type = cell_type + self_.content = content + self_.created = created + self_.display_time = display_time + self_.important = important + self_.incident_id = incident_id + self_.modified = modified + self_.source = source diff --git a/src/datadog_api_client/v2/model/incident_timeline_entry_data_request.py b/src/datadog_api_client/v2/model/incident_timeline_entry_data_request.py new file mode 100644 index 0000000000..c52e8ae440 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entry_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_timeline_entry_data_attributes_request import ( + IncidentTimelineEntryDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType + + +class IncidentTimelineEntryDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_entry_data_attributes_request import ( + IncidentTimelineEntryDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType + + return { + "attributes": (IncidentTimelineEntryDataAttributesRequest,), + "type": (IncidentTimelineEntryType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: IncidentTimelineEntryDataAttributesRequest, type: IncidentTimelineEntryType, **kwargs + ): + """ + Timeline entry data for a request. + + :param attributes: Attributes for creating or updating a timeline entry. + :type attributes: IncidentTimelineEntryDataAttributesRequest + + :param type: Incident timeline entry resource type. + :type type: IncidentTimelineEntryType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_timeline_entry_data_response.py b/src/datadog_api_client/v2/model/incident_timeline_entry_data_response.py new file mode 100644 index 0000000000..9e57ff3bb8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entry_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_timeline_entry_data_attributes_response import ( + IncidentTimelineEntryDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType + + +class IncidentTimelineEntryDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_entry_data_attributes_response import ( + IncidentTimelineEntryDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType + + return { + "attributes": (IncidentTimelineEntryDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentTimelineEntryType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentTimelineEntryDataAttributesResponse, + id: UUID, + type: IncidentTimelineEntryType, + **kwargs, + ): + """ + Timeline entry data in a response. + + :param attributes: Attributes of a timeline entry. + :type attributes: IncidentTimelineEntryDataAttributesResponse + + :param id: The timeline entry identifier. + :type id: UUID + + :param type: Incident timeline entry resource type. + :type type: IncidentTimelineEntryType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_timeline_entry_request.py b/src/datadog_api_client/v2/model/incident_timeline_entry_request.py new file mode 100644 index 0000000000..1fcad23b1d --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entry_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_timeline_entry_data_request import IncidentTimelineEntryDataRequest + + +class IncidentTimelineEntryRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_entry_data_request import IncidentTimelineEntryDataRequest + + return { + "data": (IncidentTimelineEntryDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentTimelineEntryDataRequest, **kwargs): + """ + Request to create or update a timeline entry. + + :param data: Timeline entry data for a request. + :type data: IncidentTimelineEntryDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timeline_entry_response.py b/src/datadog_api_client/v2/model/incident_timeline_entry_response.py new file mode 100644 index 0000000000..6b2bc94223 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entry_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_timeline_entry_data_response import IncidentTimelineEntryDataResponse + + +class IncidentTimelineEntryResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_entry_data_response import IncidentTimelineEntryDataResponse + + return { + "data": (IncidentTimelineEntryDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentTimelineEntryDataResponse, **kwargs): + """ + Response with a single timeline entry. + + :param data: Timeline entry data in a response. + :type data: IncidentTimelineEntryDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_timeline_entry_type.py b/src/datadog_api_client/v2/model/incident_timeline_entry_type.py new file mode 100644 index 0000000000..53ff2aacf8 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_entry_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 IncidentTimelineEntryType(ModelSimple): + """ + Incident timeline entry resource type. + + :param value: If omitted defaults to "incident_timeline_cells". Must be one of ["incident_timeline_cells"]. + :type value: str + """ + + allowed_values = { + "incident_timeline_cells", + } + INCIDENT_TIMELINE_CELLS: ClassVar["IncidentTimelineEntryType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentTimelineEntryType.INCIDENT_TIMELINE_CELLS = IncidentTimelineEntryType("incident_timeline_cells") diff --git a/src/datadog_api_client/v2/model/incident_timeline_thread_data_response.py b/src/datadog_api_client/v2/model/incident_timeline_thread_data_response.py new file mode 100644 index 0000000000..8749d44ded --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_thread_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_timeline_entry_data_attributes_response import ( + IncidentTimelineEntryDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType + + +class IncidentTimelineThreadDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_entry_data_attributes_response import ( + IncidentTimelineEntryDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType + + return { + "attributes": (IncidentTimelineEntryDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentTimelineEntryType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentTimelineEntryDataAttributesResponse, + id: UUID, + type: IncidentTimelineEntryType, + **kwargs, + ): + """ + Thread data for a timeline entry. + + :param attributes: Attributes of a timeline entry. + :type attributes: IncidentTimelineEntryDataAttributesResponse + + :param id: The thread entry identifier. + :type id: UUID + + :param type: Incident timeline entry resource type. + :type type: IncidentTimelineEntryType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_timeline_thread_response.py b/src/datadog_api_client/v2/model/incident_timeline_thread_response.py new file mode 100644 index 0000000000..08e2306b1e --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_timeline_thread_response.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 List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_timeline_thread_data_response import IncidentTimelineThreadDataResponse + + +class IncidentTimelineThreadResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_timeline_thread_data_response import ( + IncidentTimelineThreadDataResponse, + ) + + return { + "data": ([IncidentTimelineThreadDataResponse],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[IncidentTimelineThreadDataResponse], **kwargs): + """ + Response with thread entries for a timeline entry. + + :param data: List of thread entries. + :type data: [IncidentTimelineThreadDataResponse] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_zoom_configuration_data_attributes_request.py b/src/datadog_api_client/v2/model/incident_zoom_configuration_data_attributes_request.py new file mode 100644 index 0000000000..313b605e47 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_configuration_data_attributes_request.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 Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class IncidentZoomConfigurationDataAttributesRequest(ModelNormal): + @cached_property + def openapi_types(_): + return { + "manual_meeting_creation": (bool,), + "meeting_chat_timeline_sync": (bool,), + "post_meeting_summary": (bool,), + } + + attribute_map = { + "manual_meeting_creation": "manual_meeting_creation", + "meeting_chat_timeline_sync": "meeting_chat_timeline_sync", + "post_meeting_summary": "post_meeting_summary", + } + + def __init__( + self_, + manual_meeting_creation: Union[bool, UnsetType] = unset, + meeting_chat_timeline_sync: Union[bool, UnsetType] = unset, + post_meeting_summary: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating or updating a Zoom configuration. + + :param manual_meeting_creation: Whether manual meeting creation is enabled. + :type manual_meeting_creation: bool, optional + + :param meeting_chat_timeline_sync: Whether meeting chat timeline sync is enabled. + :type meeting_chat_timeline_sync: bool, optional + + :param post_meeting_summary: Whether post-meeting summary is enabled. + :type post_meeting_summary: bool, optional + """ + if manual_meeting_creation is not unset: + kwargs["manual_meeting_creation"] = manual_meeting_creation + if meeting_chat_timeline_sync is not unset: + kwargs["meeting_chat_timeline_sync"] = meeting_chat_timeline_sync + if post_meeting_summary is not unset: + kwargs["post_meeting_summary"] = post_meeting_summary + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/incident_zoom_configuration_data_attributes_response.py b/src/datadog_api_client/v2/model/incident_zoom_configuration_data_attributes_response.py new file mode 100644 index 0000000000..9d2a9694cf --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_configuration_data_attributes_response.py @@ -0,0 +1,66 @@ +# 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 IncidentZoomConfigurationDataAttributesResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "created_at": (datetime,), + "manual_meeting_creation": (bool,), + "meeting_chat_timeline_sync": (bool,), + "modified_at": (datetime,), + "post_meeting_summary": (bool,), + } + + attribute_map = { + "created_at": "created_at", + "manual_meeting_creation": "manual_meeting_creation", + "meeting_chat_timeline_sync": "meeting_chat_timeline_sync", + "modified_at": "modified_at", + "post_meeting_summary": "post_meeting_summary", + } + + def __init__( + self_, + created_at: datetime, + manual_meeting_creation: bool, + meeting_chat_timeline_sync: bool, + modified_at: datetime, + post_meeting_summary: bool, + **kwargs, + ): + """ + Attributes of a Zoom configuration. + + :param created_at: Timestamp when the configuration was created. + :type created_at: datetime + + :param manual_meeting_creation: Whether manual meeting creation is enabled. + :type manual_meeting_creation: bool + + :param meeting_chat_timeline_sync: Whether meeting chat timeline sync is enabled. + :type meeting_chat_timeline_sync: bool + + :param modified_at: Timestamp when the configuration was last modified. + :type modified_at: datetime + + :param post_meeting_summary: Whether post-meeting summary is enabled. + :type post_meeting_summary: bool + """ + super().__init__(kwargs) + + self_.created_at = created_at + self_.manual_meeting_creation = manual_meeting_creation + self_.meeting_chat_timeline_sync = meeting_chat_timeline_sync + self_.modified_at = modified_at + self_.post_meeting_summary = post_meeting_summary diff --git a/src/datadog_api_client/v2/model/incident_zoom_configuration_data_request.py b/src/datadog_api_client/v2/model/incident_zoom_configuration_data_request.py new file mode 100644 index 0000000000..85cc2a1acb --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_configuration_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_zoom_configuration_data_attributes_request import ( + IncidentZoomConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_zoom_configuration_type import IncidentZoomConfigurationType + + +class IncidentZoomConfigurationDataRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_zoom_configuration_data_attributes_request import ( + IncidentZoomConfigurationDataAttributesRequest, + ) + from datadog_api_client.v2.model.incident_zoom_configuration_type import IncidentZoomConfigurationType + + return { + "attributes": (IncidentZoomConfigurationDataAttributesRequest,), + "type": (IncidentZoomConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: IncidentZoomConfigurationDataAttributesRequest, type: IncidentZoomConfigurationType, **kwargs + ): + """ + Zoom configuration data for a request. + + :param attributes: Attributes for creating or updating a Zoom configuration. + :type attributes: IncidentZoomConfigurationDataAttributesRequest + + :param type: Zoom configuration resource type. + :type type: IncidentZoomConfigurationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_zoom_configuration_data_response.py b/src/datadog_api_client/v2/model/incident_zoom_configuration_data_response.py new file mode 100644 index 0000000000..7db6320696 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_configuration_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_zoom_configuration_data_attributes_response import ( + IncidentZoomConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_zoom_configuration_type import IncidentZoomConfigurationType + + +class IncidentZoomConfigurationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_zoom_configuration_data_attributes_response import ( + IncidentZoomConfigurationDataAttributesResponse, + ) + from datadog_api_client.v2.model.incident_zoom_configuration_type import IncidentZoomConfigurationType + + return { + "attributes": (IncidentZoomConfigurationDataAttributesResponse,), + "id": (UUID,), + "type": (IncidentZoomConfigurationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: IncidentZoomConfigurationDataAttributesResponse, + id: UUID, + type: IncidentZoomConfigurationType, + **kwargs, + ): + """ + Zoom configuration data in a response. + + :param attributes: Attributes of a Zoom configuration. + :type attributes: IncidentZoomConfigurationDataAttributesResponse + + :param id: The configuration identifier. + :type id: UUID + + :param type: Zoom configuration resource type. + :type type: IncidentZoomConfigurationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_zoom_configuration_request.py b/src/datadog_api_client/v2/model/incident_zoom_configuration_request.py new file mode 100644 index 0000000000..779e7b5176 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_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_zoom_configuration_data_request import ( + IncidentZoomConfigurationDataRequest, + ) + + +class IncidentZoomConfigurationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_zoom_configuration_data_request import ( + IncidentZoomConfigurationDataRequest, + ) + + return { + "data": (IncidentZoomConfigurationDataRequest,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentZoomConfigurationDataRequest, **kwargs): + """ + Request to create or update a Zoom configuration. + + :param data: Zoom configuration data for a request. + :type data: IncidentZoomConfigurationDataRequest + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_zoom_configuration_response.py b/src/datadog_api_client/v2/model/incident_zoom_configuration_response.py new file mode 100644 index 0000000000..65fd4ac39c --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_configuration_response.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_zoom_configuration_data_response import ( + IncidentZoomConfigurationDataResponse, + ) + + +class IncidentZoomConfigurationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_zoom_configuration_data_response import ( + IncidentZoomConfigurationDataResponse, + ) + + return { + "data": (IncidentZoomConfigurationDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentZoomConfigurationDataResponse, **kwargs): + """ + Response with a Zoom configuration. + + :param data: Zoom configuration data in a response. + :type data: IncidentZoomConfigurationDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_zoom_configuration_type.py b/src/datadog_api_client/v2/model/incident_zoom_configuration_type.py new file mode 100644 index 0000000000..38d3242625 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_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 IncidentZoomConfigurationType(ModelSimple): + """ + Zoom configuration resource type. + + :param value: If omitted defaults to "zoom_configurations". Must be one of ["zoom_configurations"]. + :type value: str + """ + + allowed_values = { + "zoom_configurations", + } + ZOOM_CONFIGURATIONS: ClassVar["IncidentZoomConfigurationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentZoomConfigurationType.ZOOM_CONFIGURATIONS = IncidentZoomConfigurationType("zoom_configurations") diff --git a/src/datadog_api_client/v2/model/incident_zoom_integration_data_attributes.py b/src/datadog_api_client/v2/model/incident_zoom_integration_data_attributes.py new file mode 100644 index 0000000000..dcd85e5f79 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_integration_data_attributes.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 typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.incident_zoom_meeting import IncidentZoomMeeting + + +class IncidentZoomIntegrationDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_zoom_meeting import IncidentZoomMeeting + + return { + "created": (datetime,), + "integration_type": (str,), + "meetings": ([IncidentZoomMeeting],), + "modified": (datetime,), + "status": (str,), + } + + attribute_map = { + "created": "created", + "integration_type": "integration_type", + "meetings": "meetings", + "modified": "modified", + "status": "status", + } + + def __init__( + self_, + created: datetime, + integration_type: str, + meetings: List[IncidentZoomMeeting], + modified: datetime, + status: str, + **kwargs, + ): + """ + Attributes of a Zoom integration metadata. + + :param created: Timestamp when the integration was created. + :type created: datetime + + :param integration_type: The type of integration. + :type integration_type: str + + :param meetings: List of Zoom meetings. + :type meetings: [IncidentZoomMeeting] + + :param modified: Timestamp when the integration was last modified. + :type modified: datetime + + :param status: The status of the integration. + :type status: str + """ + super().__init__(kwargs) + + self_.created = created + self_.integration_type = integration_type + self_.meetings = meetings + self_.modified = modified + self_.status = status diff --git a/src/datadog_api_client/v2/model/incident_zoom_integration_data_response.py b/src/datadog_api_client/v2/model/incident_zoom_integration_data_response.py new file mode 100644 index 0000000000..9660c079e3 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_integration_data_response.py @@ -0,0 +1,61 @@ +# 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_zoom_integration_data_attributes import ( + IncidentZoomIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_zoom_integration_type import IncidentZoomIntegrationType + + +class IncidentZoomIntegrationDataResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_zoom_integration_data_attributes import ( + IncidentZoomIntegrationDataAttributes, + ) + from datadog_api_client.v2.model.incident_zoom_integration_type import IncidentZoomIntegrationType + + return { + "attributes": (IncidentZoomIntegrationDataAttributes,), + "id": (UUID,), + "type": (IncidentZoomIntegrationType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, attributes: IncidentZoomIntegrationDataAttributes, id: UUID, type: IncidentZoomIntegrationType, **kwargs + ): + """ + Zoom integration data in a response. + + :param attributes: Attributes of a Zoom integration metadata. + :type attributes: IncidentZoomIntegrationDataAttributes + + :param id: The integration identifier. + :type id: UUID + + :param type: Incident integration resource type. + :type type: IncidentZoomIntegrationType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/incident_zoom_integration_response.py b/src/datadog_api_client/v2/model/incident_zoom_integration_response.py new file mode 100644 index 0000000000..ea27bd0435 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_integration_response.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_zoom_integration_data_response import IncidentZoomIntegrationDataResponse + + +class IncidentZoomIntegrationResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.incident_zoom_integration_data_response import ( + IncidentZoomIntegrationDataResponse, + ) + + return { + "data": (IncidentZoomIntegrationDataResponse,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: IncidentZoomIntegrationDataResponse, **kwargs): + """ + Response with Zoom integration metadata. + + :param data: Zoom integration data in a response. + :type data: IncidentZoomIntegrationDataResponse + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/incident_zoom_integration_type.py b/src/datadog_api_client/v2/model/incident_zoom_integration_type.py new file mode 100644 index 0000000000..39a70c9804 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_integration_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 IncidentZoomIntegrationType(ModelSimple): + """ + Incident integration resource type. + + :param value: If omitted defaults to "incident_integrations". Must be one of ["incident_integrations"]. + :type value: str + """ + + allowed_values = { + "incident_integrations", + } + INCIDENT_INTEGRATIONS: ClassVar["IncidentZoomIntegrationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +IncidentZoomIntegrationType.INCIDENT_INTEGRATIONS = IncidentZoomIntegrationType("incident_integrations") diff --git a/src/datadog_api_client/v2/model/incident_zoom_meeting.py b/src/datadog_api_client/v2/model/incident_zoom_meeting.py new file mode 100644 index 0000000000..37c8fa40b0 --- /dev/null +++ b/src/datadog_api_client/v2/model/incident_zoom_meeting.py @@ -0,0 +1,71 @@ +# 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 IncidentZoomMeeting(ModelNormal): + @cached_property + def openapi_types(_): + return { + "host_id": (str,), + "join_url": (str,), + "meeting_id": (int,), + "password": (str,), + "recording_url": (str,), + } + + attribute_map = { + "host_id": "host_id", + "join_url": "join_url", + "meeting_id": "meeting_id", + "password": "password", + "recording_url": "recording_url", + } + + def __init__( + self_, + join_url: str, + meeting_id: int, + host_id: Union[str, UnsetType] = unset, + password: Union[str, UnsetType] = unset, + recording_url: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + A Zoom meeting associated with an incident. + + :param host_id: The Zoom host identifier. + :type host_id: str, optional + + :param join_url: The URL to join the meeting. + :type join_url: str + + :param meeting_id: The Zoom meeting identifier. + :type meeting_id: int + + :param password: The meeting password. + :type password: str, optional + + :param recording_url: The URL of the meeting recording. + :type recording_url: str, optional + """ + if host_id is not unset: + kwargs["host_id"] = host_id + if password is not unset: + kwargs["password"] = password + if recording_url is not unset: + kwargs["recording_url"] = recording_url + super().__init__(kwargs) + + self_.join_url = join_url + self_.meeting_id = meeting_id diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 26fdc85362..847633500f 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -2684,10 +2684,63 @@ 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_attachment_type import IncidentAttachmentType +from datadog_api_client.v2.model.incident_automation_data_attributes_request import ( + IncidentAutomationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_automation_data_attributes_response import ( + IncidentAutomationDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_automation_data_data_request import IncidentAutomationDataDataRequest +from datadog_api_client.v2.model.incident_automation_data_data_response import IncidentAutomationDataDataResponse +from datadog_api_client.v2.model.incident_automation_data_request import IncidentAutomationDataRequest +from datadog_api_client.v2.model.incident_automation_data_response import IncidentAutomationDataResponse +from datadog_api_client.v2.model.incident_automation_data_type import IncidentAutomationDataType +from datadog_api_client.v2.model.incident_batch_create_rule_execution_states_data import ( + IncidentBatchCreateRuleExecutionStatesData, +) +from datadog_api_client.v2.model.incident_batch_create_rule_execution_states_data_attributes import ( + IncidentBatchCreateRuleExecutionStatesDataAttributes, +) +from datadog_api_client.v2.model.incident_batch_create_rule_execution_states_request import ( + IncidentBatchCreateRuleExecutionStatesRequest, +) +from datadog_api_client.v2.model.incident_batch_update_rule_execution_states_data import ( + IncidentBatchUpdateRuleExecutionStatesData, +) +from datadog_api_client.v2.model.incident_batch_update_rule_execution_states_data_attributes import ( + IncidentBatchUpdateRuleExecutionStatesDataAttributes, +) +from datadog_api_client.v2.model.incident_batch_update_rule_execution_states_request import ( + IncidentBatchUpdateRuleExecutionStatesRequest, +) +from datadog_api_client.v2.model.incident_case_link_data import IncidentCaseLinkData +from datadog_api_client.v2.model.incident_case_link_data_attributes import IncidentCaseLinkDataAttributes +from datadog_api_client.v2.model.incident_case_link_response import IncidentCaseLinkResponse +from datadog_api_client.v2.model.incident_case_link_type import IncidentCaseLinkType +from datadog_api_client.v2.model.incident_communication_content import IncidentCommunicationContent +from datadog_api_client.v2.model.incident_communication_content_handle import IncidentCommunicationContentHandle +from datadog_api_client.v2.model.incident_communication_data_attributes_request import ( + IncidentCommunicationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_communication_data_attributes_response import ( + IncidentCommunicationDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_communication_data_request import IncidentCommunicationDataRequest +from datadog_api_client.v2.model.incident_communication_data_response import IncidentCommunicationDataResponse +from datadog_api_client.v2.model.incident_communication_kind import IncidentCommunicationKind +from datadog_api_client.v2.model.incident_communication_request import IncidentCommunicationRequest +from datadog_api_client.v2.model.incident_communication_response import IncidentCommunicationResponse +from datadog_api_client.v2.model.incident_communication_type import IncidentCommunicationType +from datadog_api_client.v2.model.incident_communications_response import IncidentCommunicationsResponse 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_relationships import IncidentCreateRelationships from datadog_api_client.v2.model.incident_create_request import IncidentCreateRequest +from datadog_api_client.v2.model.incident_create_zoom_meeting_data import IncidentCreateZoomMeetingData +from datadog_api_client.v2.model.incident_create_zoom_meeting_data_attributes import ( + IncidentCreateZoomMeetingDataAttributes, +) +from datadog_api_client.v2.model.incident_create_zoom_meeting_request import IncidentCreateZoomMeetingRequest from datadog_api_client.v2.model.incident_field_attributes import IncidentFieldAttributes from datadog_api_client.v2.model.incident_field_attributes_multiple_value import IncidentFieldAttributesMultipleValue from datadog_api_client.v2.model.incident_field_attributes_single_value import IncidentFieldAttributesSingleValue @@ -2695,6 +2748,15 @@ IncidentFieldAttributesSingleValueType, ) from datadog_api_client.v2.model.incident_field_attributes_value_type import IncidentFieldAttributesValueType +from datadog_api_client.v2.model.incident_google_meet_integration_data_attributes import ( + IncidentGoogleMeetIntegrationDataAttributes, +) +from datadog_api_client.v2.model.incident_google_meet_integration_data_response import ( + IncidentGoogleMeetIntegrationDataResponse, +) +from datadog_api_client.v2.model.incident_google_meet_integration_response import IncidentGoogleMeetIntegrationResponse +from datadog_api_client.v2.model.incident_google_meet_integration_type import IncidentGoogleMeetIntegrationType +from datadog_api_client.v2.model.incident_google_meet_space import IncidentGoogleMeetSpace 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 @@ -2761,6 +2823,72 @@ ) from datadog_api_client.v2.model.incident_integration_metadata_type import IncidentIntegrationMetadataType from datadog_api_client.v2.model.incident_integration_relationships import IncidentIntegrationRelationships +from datadog_api_client.v2.model.incident_jira_issue_data_attributes_request import ( + IncidentJiraIssueDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_jira_issue_data_request import IncidentJiraIssueDataRequest +from datadog_api_client.v2.model.incident_jira_issue_integration_data_attributes import ( + IncidentJiraIssueIntegrationDataAttributes, +) +from datadog_api_client.v2.model.incident_jira_issue_integration_data_response import ( + IncidentJiraIssueIntegrationDataResponse, +) +from datadog_api_client.v2.model.incident_jira_issue_integration_response import IncidentJiraIssueIntegrationResponse +from datadog_api_client.v2.model.incident_jira_issue_integration_type import IncidentJiraIssueIntegrationType +from datadog_api_client.v2.model.incident_jira_issue_request import IncidentJiraIssueRequest +from datadog_api_client.v2.model.incident_jira_issue_type import IncidentJiraIssueType +from datadog_api_client.v2.model.incident_jira_template_data_attributes_request import ( + IncidentJiraTemplateDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_jira_template_data_attributes_response import ( + IncidentJiraTemplateDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_jira_template_data_request import IncidentJiraTemplateDataRequest +from datadog_api_client.v2.model.incident_jira_template_data_response import IncidentJiraTemplateDataResponse +from datadog_api_client.v2.model.incident_jira_template_field_configuration import ( + IncidentJiraTemplateFieldConfiguration, +) +from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship import ( + IncidentJiraTemplateIncidentTypeRelationship, +) +from datadog_api_client.v2.model.incident_jira_template_incident_type_relationship_data import ( + IncidentJiraTemplateIncidentTypeRelationshipData, +) +from datadog_api_client.v2.model.incident_jira_template_relationships import IncidentJiraTemplateRelationships +from datadog_api_client.v2.model.incident_jira_template_request import IncidentJiraTemplateRequest +from datadog_api_client.v2.model.incident_jira_template_response import IncidentJiraTemplateResponse +from datadog_api_client.v2.model.incident_jira_template_type import IncidentJiraTemplateType +from datadog_api_client.v2.model.incident_jira_templates_response import IncidentJiraTemplatesResponse +from datadog_api_client.v2.model.incident_ms_teams_channel import IncidentMSTeamsChannel +from datadog_api_client.v2.model.incident_ms_teams_integration_data_attributes import ( + IncidentMSTeamsIntegrationDataAttributes, +) +from datadog_api_client.v2.model.incident_ms_teams_integration_data_response import ( + IncidentMSTeamsIntegrationDataResponse, +) +from datadog_api_client.v2.model.incident_ms_teams_integration_response import IncidentMSTeamsIntegrationResponse +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_attributes_request import ( + IncidentMicrosoftTeamsConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_attributes_response import ( + IncidentMicrosoftTeamsConfigurationDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_request import ( + IncidentMicrosoftTeamsConfigurationDataRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_data_response import ( + IncidentMicrosoftTeamsConfigurationDataResponse, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_request import ( + IncidentMicrosoftTeamsConfigurationRequest, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_response import ( + IncidentMicrosoftTeamsConfigurationResponse, +) +from datadog_api_client.v2.model.incident_microsoft_teams_configuration_type import ( + IncidentMicrosoftTeamsConfigurationType, +) +from datadog_api_client.v2.model.incident_microsoft_teams_integration_type import IncidentMicrosoftTeamsIntegrationType from datadog_api_client.v2.model.incident_non_datadog_creator import IncidentNonDatadogCreator from datadog_api_client.v2.model.incident_notification_handle import IncidentNotificationHandle from datadog_api_client.v2.model.incident_notification_rule import IncidentNotificationRule @@ -2822,9 +2950,38 @@ from datadog_api_client.v2.model.incident_notification_template_update_data import ( IncidentNotificationTemplateUpdateData, ) +from datadog_api_client.v2.model.incident_pagerduty_incident_data_response import IncidentPagerdutyIncidentDataResponse +from datadog_api_client.v2.model.incident_pagerduty_related_incidents_response import ( + IncidentPagerdutyRelatedIncidentsResponse, +) +from datadog_api_client.v2.model.incident_pagerduty_service_data import IncidentPagerdutyServiceData +from datadog_api_client.v2.model.incident_pagerduty_service_data_attributes import ( + IncidentPagerdutyServiceDataAttributes, +) +from datadog_api_client.v2.model.incident_pagerduty_service_type import IncidentPagerdutyServiceType +from datadog_api_client.v2.model.incident_pagerduty_services_response import IncidentPagerdutyServicesResponse 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_render_template_data_attributes_request import ( + IncidentRenderTemplateDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_render_template_data_request import IncidentRenderTemplateDataRequest +from datadog_api_client.v2.model.incident_render_template_request import IncidentRenderTemplateRequest +from datadog_api_client.v2.model.incident_rendered_template_data import IncidentRenderedTemplateData +from datadog_api_client.v2.model.incident_rendered_template_data_attributes import ( + IncidentRenderedTemplateDataAttributes, +) +from datadog_api_client.v2.model.incident_rendered_template_response import IncidentRenderedTemplateResponse +from datadog_api_client.v2.model.incident_rendered_template_type import IncidentRenderedTemplateType +from datadog_api_client.v2.model.incident_reserved_role_data_attributes_response import ( + IncidentReservedRoleDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_reserved_role_data_response import IncidentReservedRoleDataResponse +from datadog_api_client.v2.model.incident_reserved_role_policy import IncidentReservedRolePolicy +from datadog_api_client.v2.model.incident_reserved_role_response import IncidentReservedRoleResponse +from datadog_api_client.v2.model.incident_reserved_role_type import IncidentReservedRoleType +from datadog_api_client.v2.model.incident_reserved_roles_response import IncidentReservedRolesResponse from datadog_api_client.v2.model.incident_resource_type import IncidentResourceType from datadog_api_client.v2.model.incident_responders_type import IncidentRespondersType from datadog_api_client.v2.model.incident_response import IncidentResponse @@ -2834,6 +2991,47 @@ 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_role_assignment_data_attributes_request import ( + IncidentRoleAssignmentDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_role_assignment_data_attributes_response import ( + IncidentRoleAssignmentDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_role_assignment_data_request import IncidentRoleAssignmentDataRequest +from datadog_api_client.v2.model.incident_role_assignment_data_response import IncidentRoleAssignmentDataResponse +from datadog_api_client.v2.model.incident_role_assignment_relationships_request import ( + IncidentRoleAssignmentRelationshipsRequest, +) +from datadog_api_client.v2.model.incident_role_assignment_relationships_response import ( + IncidentRoleAssignmentRelationshipsResponse, +) +from datadog_api_client.v2.model.incident_role_assignment_request import IncidentRoleAssignmentRequest +from datadog_api_client.v2.model.incident_role_assignment_responder_relationship import ( + IncidentRoleAssignmentResponderRelationship, +) +from datadog_api_client.v2.model.incident_role_assignment_responder_relationship_data import ( + IncidentRoleAssignmentResponderRelationshipData, +) +from datadog_api_client.v2.model.incident_role_assignment_response import IncidentRoleAssignmentResponse +from datadog_api_client.v2.model.incident_role_assignment_role_relationship import ( + IncidentRoleAssignmentRoleRelationship, +) +from datadog_api_client.v2.model.incident_role_assignment_role_relationship_data import ( + IncidentRoleAssignmentRoleRelationshipData, +) +from datadog_api_client.v2.model.incident_role_assignment_type import IncidentRoleAssignmentType +from datadog_api_client.v2.model.incident_rule_execution_state_data_attributes_response import ( + IncidentRuleExecutionStateDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_rule_execution_state_data_response import ( + IncidentRuleExecutionStateDataResponse, +) +from datadog_api_client.v2.model.incident_rule_execution_state_rule import IncidentRuleExecutionStateRule +from datadog_api_client.v2.model.incident_rule_execution_state_type import IncidentRuleExecutionStateType +from datadog_api_client.v2.model.incident_rule_execution_states_response import IncidentRuleExecutionStatesResponse +from datadog_api_client.v2.model.incident_search_incidents_export_request import IncidentSearchIncidentsExportRequest +from datadog_api_client.v2.model.incident_search_incidents_include_type import IncidentSearchIncidentsIncludeType +from datadog_api_client.v2.model.incident_search_incidents_sort_order import IncidentSearchIncidentsSortOrder 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 @@ -2867,6 +3065,78 @@ from datadog_api_client.v2.model.incident_service_update_request import IncidentServiceUpdateRequest from datadog_api_client.v2.model.incident_services_response import IncidentServicesResponse from datadog_api_client.v2.model.incident_severity import IncidentSeverity +from datadog_api_client.v2.model.incident_status_page_notice_create_data import IncidentStatusPageNoticeCreateData +from datadog_api_client.v2.model.incident_status_page_notice_create_data_attributes import ( + IncidentStatusPageNoticeCreateDataAttributes, +) +from datadog_api_client.v2.model.incident_status_page_notice_create_request import IncidentStatusPageNoticeCreateRequest +from datadog_api_client.v2.model.incident_status_page_notice_integration_data_attributes import ( + IncidentStatusPageNoticeIntegrationDataAttributes, +) +from datadog_api_client.v2.model.incident_status_page_notice_integration_data_response import ( + IncidentStatusPageNoticeIntegrationDataResponse, +) +from datadog_api_client.v2.model.incident_status_page_notice_integration_response import ( + IncidentStatusPageNoticeIntegrationResponse, +) +from datadog_api_client.v2.model.incident_status_page_notice_integration_type import ( + IncidentStatusPageNoticeIntegrationType, +) +from datadog_api_client.v2.model.incident_status_page_notice_update_data import IncidentStatusPageNoticeUpdateData +from datadog_api_client.v2.model.incident_status_page_notice_update_data_attributes import ( + IncidentStatusPageNoticeUpdateDataAttributes, +) +from datadog_api_client.v2.model.incident_status_page_notice_update_request import IncidentStatusPageNoticeUpdateRequest +from datadog_api_client.v2.model.incident_status_pages_suggestion_data import IncidentStatusPagesSuggestionData +from datadog_api_client.v2.model.incident_status_pages_suggestion_data_attributes import ( + IncidentStatusPagesSuggestionDataAttributes, +) +from datadog_api_client.v2.model.incident_status_pages_suggestion_response import IncidentStatusPagesSuggestionResponse +from datadog_api_client.v2.model.incident_status_pages_suggestion_type import IncidentStatusPagesSuggestionType +from datadog_api_client.v2.model.incident_statuspage_incident_data_attributes_request import ( + IncidentStatuspageIncidentDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_statuspage_incident_data_attributes_response import ( + IncidentStatuspageIncidentDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_statuspage_incident_data_request import IncidentStatuspageIncidentDataRequest +from datadog_api_client.v2.model.incident_statuspage_incident_data_response import ( + IncidentStatuspageIncidentDataResponse, +) +from datadog_api_client.v2.model.incident_statuspage_incident_entry import IncidentStatuspageIncidentEntry +from datadog_api_client.v2.model.incident_statuspage_incident_request import IncidentStatuspageIncidentRequest +from datadog_api_client.v2.model.incident_statuspage_incident_response import IncidentStatuspageIncidentResponse +from datadog_api_client.v2.model.incident_statuspage_incident_type import IncidentStatuspageIncidentType +from datadog_api_client.v2.model.incident_statuspage_preferences_data import IncidentStatuspagePreferencesData +from datadog_api_client.v2.model.incident_statuspage_preferences_data_attributes import ( + IncidentStatuspagePreferencesDataAttributes, +) +from datadog_api_client.v2.model.incident_statuspage_preferences_response import IncidentStatuspagePreferencesResponse +from datadog_api_client.v2.model.incident_statuspage_preferences_type import IncidentStatuspagePreferencesType +from datadog_api_client.v2.model.incident_statuspage_subscription_data_attributes_request import ( + IncidentStatuspageSubscriptionDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_statuspage_subscription_data_attributes_response import ( + IncidentStatuspageSubscriptionDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_statuspage_subscription_data_request import ( + IncidentStatuspageSubscriptionDataRequest, +) +from datadog_api_client.v2.model.incident_statuspage_subscription_data_response import ( + IncidentStatuspageSubscriptionDataResponse, +) +from datadog_api_client.v2.model.incident_statuspage_subscription_request import IncidentStatuspageSubscriptionRequest +from datadog_api_client.v2.model.incident_statuspage_subscription_response import IncidentStatuspageSubscriptionResponse +from datadog_api_client.v2.model.incident_statuspage_subscription_type import IncidentStatuspageSubscriptionType +from datadog_api_client.v2.model.incident_statuspage_subscriptions_response import ( + IncidentStatuspageSubscriptionsResponse, +) +from datadog_api_client.v2.model.incident_template_variable_data import IncidentTemplateVariableData +from datadog_api_client.v2.model.incident_template_variable_data_attributes import ( + IncidentTemplateVariableDataAttributes, +) +from datadog_api_client.v2.model.incident_template_variable_type import IncidentTemplateVariableType +from datadog_api_client.v2.model.incident_template_variables_response import IncidentTemplateVariablesResponse from datadog_api_client.v2.model.incident_timeline_cell_create_attributes import IncidentTimelineCellCreateAttributes from datadog_api_client.v2.model.incident_timeline_cell_markdown_content_type import ( IncidentTimelineCellMarkdownContentType, @@ -2877,6 +3147,23 @@ from datadog_api_client.v2.model.incident_timeline_cell_markdown_create_attributes_content import ( IncidentTimelineCellMarkdownCreateAttributesContent, ) +from datadog_api_client.v2.model.incident_timeline_cell_source import IncidentTimelineCellSource +from datadog_api_client.v2.model.incident_timeline_cell_type import IncidentTimelineCellType +from datadog_api_client.v2.model.incident_timeline_entries_response import IncidentTimelineEntriesResponse +from datadog_api_client.v2.model.incident_timeline_entry_content import IncidentTimelineEntryContent +from datadog_api_client.v2.model.incident_timeline_entry_data_attributes_request import ( + IncidentTimelineEntryDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_timeline_entry_data_attributes_response import ( + IncidentTimelineEntryDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_timeline_entry_data_request import IncidentTimelineEntryDataRequest +from datadog_api_client.v2.model.incident_timeline_entry_data_response import IncidentTimelineEntryDataResponse +from datadog_api_client.v2.model.incident_timeline_entry_request import IncidentTimelineEntryRequest +from datadog_api_client.v2.model.incident_timeline_entry_response import IncidentTimelineEntryResponse +from datadog_api_client.v2.model.incident_timeline_entry_type import IncidentTimelineEntryType +from datadog_api_client.v2.model.incident_timeline_thread_data_response import IncidentTimelineThreadDataResponse +from datadog_api_client.v2.model.incident_timeline_thread_response import IncidentTimelineThreadResponse 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 @@ -2939,6 +3226,22 @@ 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_zoom_configuration_data_attributes_request import ( + IncidentZoomConfigurationDataAttributesRequest, +) +from datadog_api_client.v2.model.incident_zoom_configuration_data_attributes_response import ( + IncidentZoomConfigurationDataAttributesResponse, +) +from datadog_api_client.v2.model.incident_zoom_configuration_data_request import IncidentZoomConfigurationDataRequest +from datadog_api_client.v2.model.incident_zoom_configuration_data_response import IncidentZoomConfigurationDataResponse +from datadog_api_client.v2.model.incident_zoom_configuration_request import IncidentZoomConfigurationRequest +from datadog_api_client.v2.model.incident_zoom_configuration_response import IncidentZoomConfigurationResponse +from datadog_api_client.v2.model.incident_zoom_configuration_type import IncidentZoomConfigurationType +from datadog_api_client.v2.model.incident_zoom_integration_data_attributes import IncidentZoomIntegrationDataAttributes +from datadog_api_client.v2.model.incident_zoom_integration_data_response import IncidentZoomIntegrationDataResponse +from datadog_api_client.v2.model.incident_zoom_integration_response import IncidentZoomIntegrationResponse +from datadog_api_client.v2.model.incident_zoom_integration_type import IncidentZoomIntegrationType +from datadog_api_client.v2.model.incident_zoom_meeting import IncidentZoomMeeting 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 @@ -9608,15 +9911,51 @@ "IPAllowlistUpdateRequest", "IdPMetadataFormData", "IncidentAttachmentType", + "IncidentAutomationDataAttributesRequest", + "IncidentAutomationDataAttributesResponse", + "IncidentAutomationDataDataRequest", + "IncidentAutomationDataDataResponse", + "IncidentAutomationDataRequest", + "IncidentAutomationDataResponse", + "IncidentAutomationDataType", + "IncidentBatchCreateRuleExecutionStatesData", + "IncidentBatchCreateRuleExecutionStatesDataAttributes", + "IncidentBatchCreateRuleExecutionStatesRequest", + "IncidentBatchUpdateRuleExecutionStatesData", + "IncidentBatchUpdateRuleExecutionStatesDataAttributes", + "IncidentBatchUpdateRuleExecutionStatesRequest", + "IncidentCaseLinkData", + "IncidentCaseLinkDataAttributes", + "IncidentCaseLinkResponse", + "IncidentCaseLinkType", + "IncidentCommunicationContent", + "IncidentCommunicationContentHandle", + "IncidentCommunicationDataAttributesRequest", + "IncidentCommunicationDataAttributesResponse", + "IncidentCommunicationDataRequest", + "IncidentCommunicationDataResponse", + "IncidentCommunicationKind", + "IncidentCommunicationRequest", + "IncidentCommunicationResponse", + "IncidentCommunicationType", + "IncidentCommunicationsResponse", "IncidentCreateAttributes", "IncidentCreateData", "IncidentCreateRelationships", "IncidentCreateRequest", + "IncidentCreateZoomMeetingData", + "IncidentCreateZoomMeetingDataAttributes", + "IncidentCreateZoomMeetingRequest", "IncidentFieldAttributes", "IncidentFieldAttributesMultipleValue", "IncidentFieldAttributesSingleValue", "IncidentFieldAttributesSingleValueType", "IncidentFieldAttributesValueType", + "IncidentGoogleMeetIntegrationDataAttributes", + "IncidentGoogleMeetIntegrationDataResponse", + "IncidentGoogleMeetIntegrationResponse", + "IncidentGoogleMeetIntegrationType", + "IncidentGoogleMeetSpace", "IncidentHandleAttributesFields", "IncidentHandleAttributesRequest", "IncidentHandleAttributesResponse", @@ -9669,6 +10008,38 @@ "IncidentIntegrationMetadataResponseIncludedItem", "IncidentIntegrationMetadataType", "IncidentIntegrationRelationships", + "IncidentJiraIssueDataAttributesRequest", + "IncidentJiraIssueDataRequest", + "IncidentJiraIssueIntegrationDataAttributes", + "IncidentJiraIssueIntegrationDataResponse", + "IncidentJiraIssueIntegrationResponse", + "IncidentJiraIssueIntegrationType", + "IncidentJiraIssueRequest", + "IncidentJiraIssueType", + "IncidentJiraTemplateDataAttributesRequest", + "IncidentJiraTemplateDataAttributesResponse", + "IncidentJiraTemplateDataRequest", + "IncidentJiraTemplateDataResponse", + "IncidentJiraTemplateFieldConfiguration", + "IncidentJiraTemplateIncidentTypeRelationship", + "IncidentJiraTemplateIncidentTypeRelationshipData", + "IncidentJiraTemplateRelationships", + "IncidentJiraTemplateRequest", + "IncidentJiraTemplateResponse", + "IncidentJiraTemplateType", + "IncidentJiraTemplatesResponse", + "IncidentMSTeamsChannel", + "IncidentMSTeamsIntegrationDataAttributes", + "IncidentMSTeamsIntegrationDataResponse", + "IncidentMSTeamsIntegrationResponse", + "IncidentMicrosoftTeamsConfigurationDataAttributesRequest", + "IncidentMicrosoftTeamsConfigurationDataAttributesResponse", + "IncidentMicrosoftTeamsConfigurationDataRequest", + "IncidentMicrosoftTeamsConfigurationDataResponse", + "IncidentMicrosoftTeamsConfigurationRequest", + "IncidentMicrosoftTeamsConfigurationResponse", + "IncidentMicrosoftTeamsConfigurationType", + "IncidentMicrosoftTeamsIntegrationType", "IncidentNonDatadogCreator", "IncidentNotificationHandle", "IncidentNotificationRule", @@ -9702,9 +10073,28 @@ "IncidentNotificationTemplateType", "IncidentNotificationTemplateUpdateAttributes", "IncidentNotificationTemplateUpdateData", + "IncidentPagerdutyIncidentDataResponse", + "IncidentPagerdutyRelatedIncidentsResponse", + "IncidentPagerdutyServiceData", + "IncidentPagerdutyServiceDataAttributes", + "IncidentPagerdutyServiceType", + "IncidentPagerdutyServicesResponse", "IncidentPostmortemType", "IncidentRelatedObject", "IncidentRelationshipData", + "IncidentRenderTemplateDataAttributesRequest", + "IncidentRenderTemplateDataRequest", + "IncidentRenderTemplateRequest", + "IncidentRenderedTemplateData", + "IncidentRenderedTemplateDataAttributes", + "IncidentRenderedTemplateResponse", + "IncidentRenderedTemplateType", + "IncidentReservedRoleDataAttributesResponse", + "IncidentReservedRoleDataResponse", + "IncidentReservedRolePolicy", + "IncidentReservedRoleResponse", + "IncidentReservedRoleType", + "IncidentReservedRolesResponse", "IncidentResourceType", "IncidentRespondersType", "IncidentResponse", @@ -9714,6 +10104,27 @@ "IncidentResponseMeta", "IncidentResponseMetaPagination", "IncidentResponseRelationships", + "IncidentRoleAssignmentDataAttributesRequest", + "IncidentRoleAssignmentDataAttributesResponse", + "IncidentRoleAssignmentDataRequest", + "IncidentRoleAssignmentDataResponse", + "IncidentRoleAssignmentRelationshipsRequest", + "IncidentRoleAssignmentRelationshipsResponse", + "IncidentRoleAssignmentRequest", + "IncidentRoleAssignmentResponderRelationship", + "IncidentRoleAssignmentResponderRelationshipData", + "IncidentRoleAssignmentResponse", + "IncidentRoleAssignmentRoleRelationship", + "IncidentRoleAssignmentRoleRelationshipData", + "IncidentRoleAssignmentType", + "IncidentRuleExecutionStateDataAttributesResponse", + "IncidentRuleExecutionStateDataResponse", + "IncidentRuleExecutionStateRule", + "IncidentRuleExecutionStateType", + "IncidentRuleExecutionStatesResponse", + "IncidentSearchIncidentsExportRequest", + "IncidentSearchIncidentsIncludeType", + "IncidentSearchIncidentsSortOrder", "IncidentSearchResponse", "IncidentSearchResponseAttributes", "IncidentSearchResponseData", @@ -9741,10 +10152,61 @@ "IncidentServiceUpdateRequest", "IncidentServicesResponse", "IncidentSeverity", + "IncidentStatusPageNoticeCreateData", + "IncidentStatusPageNoticeCreateDataAttributes", + "IncidentStatusPageNoticeCreateRequest", + "IncidentStatusPageNoticeIntegrationDataAttributes", + "IncidentStatusPageNoticeIntegrationDataResponse", + "IncidentStatusPageNoticeIntegrationResponse", + "IncidentStatusPageNoticeIntegrationType", + "IncidentStatusPageNoticeUpdateData", + "IncidentStatusPageNoticeUpdateDataAttributes", + "IncidentStatusPageNoticeUpdateRequest", + "IncidentStatusPagesSuggestionData", + "IncidentStatusPagesSuggestionDataAttributes", + "IncidentStatusPagesSuggestionResponse", + "IncidentStatusPagesSuggestionType", + "IncidentStatuspageIncidentDataAttributesRequest", + "IncidentStatuspageIncidentDataAttributesResponse", + "IncidentStatuspageIncidentDataRequest", + "IncidentStatuspageIncidentDataResponse", + "IncidentStatuspageIncidentEntry", + "IncidentStatuspageIncidentRequest", + "IncidentStatuspageIncidentResponse", + "IncidentStatuspageIncidentType", + "IncidentStatuspagePreferencesData", + "IncidentStatuspagePreferencesDataAttributes", + "IncidentStatuspagePreferencesResponse", + "IncidentStatuspagePreferencesType", + "IncidentStatuspageSubscriptionDataAttributesRequest", + "IncidentStatuspageSubscriptionDataAttributesResponse", + "IncidentStatuspageSubscriptionDataRequest", + "IncidentStatuspageSubscriptionDataResponse", + "IncidentStatuspageSubscriptionRequest", + "IncidentStatuspageSubscriptionResponse", + "IncidentStatuspageSubscriptionType", + "IncidentStatuspageSubscriptionsResponse", + "IncidentTemplateVariableData", + "IncidentTemplateVariableDataAttributes", + "IncidentTemplateVariableType", + "IncidentTemplateVariablesResponse", "IncidentTimelineCellCreateAttributes", "IncidentTimelineCellMarkdownContentType", "IncidentTimelineCellMarkdownCreateAttributes", "IncidentTimelineCellMarkdownCreateAttributesContent", + "IncidentTimelineCellSource", + "IncidentTimelineCellType", + "IncidentTimelineEntriesResponse", + "IncidentTimelineEntryContent", + "IncidentTimelineEntryDataAttributesRequest", + "IncidentTimelineEntryDataAttributesResponse", + "IncidentTimelineEntryDataRequest", + "IncidentTimelineEntryDataResponse", + "IncidentTimelineEntryRequest", + "IncidentTimelineEntryResponse", + "IncidentTimelineEntryType", + "IncidentTimelineThreadDataResponse", + "IncidentTimelineThreadResponse", "IncidentTodoAnonymousAssignee", "IncidentTodoAnonymousAssigneeSource", "IncidentTodoAssignee", @@ -9799,6 +10261,18 @@ "IncidentUserDefinedFieldUpdateData", "IncidentUserDefinedFieldUpdateRequest", "IncidentUserDefinedFieldValidValue", + "IncidentZoomConfigurationDataAttributesRequest", + "IncidentZoomConfigurationDataAttributesResponse", + "IncidentZoomConfigurationDataRequest", + "IncidentZoomConfigurationDataResponse", + "IncidentZoomConfigurationRequest", + "IncidentZoomConfigurationResponse", + "IncidentZoomConfigurationType", + "IncidentZoomIntegrationDataAttributes", + "IncidentZoomIntegrationDataResponse", + "IncidentZoomIntegrationResponse", + "IncidentZoomIntegrationType", + "IncidentZoomMeeting", "IncidentsResponse", "IncludeType", "InputSchema", diff --git a/tests/v2/features/incidents.feature b/tests/v2/features/incidents.feature index df4c5fe28d..1d8162b6fb 100644 --- a/tests/v2/features/incidents.feature +++ b/tests/v2/features/incidents.feature @@ -21,6 +21,282 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Batch create incident rule execution states returns "Bad Request" response + Given operation "BatchCreateIncidentRuleExecutionStates" enabled + And new "BatchCreateIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"rules": [{"last_executed_at": "2024-01-01T00:00:00.000Z", "rule_uuid": "00000000-0000-0000-0000-000000000000"}]}, "type": "incident_rule_execution_states"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Batch create incident rule execution states returns "Created" response + Given operation "BatchCreateIncidentRuleExecutionStates" enabled + And new "BatchCreateIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"rules": [{"last_executed_at": "2024-01-01T00:00:00.000Z", "rule_uuid": "00000000-0000-0000-0000-000000000000"}]}, "type": "incident_rule_execution_states"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Batch create incident rule execution states returns "Not Found" response + Given operation "BatchCreateIncidentRuleExecutionStates" enabled + And new "BatchCreateIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"rules": [{"last_executed_at": "2024-01-01T00:00:00.000Z", "rule_uuid": "00000000-0000-0000-0000-000000000000"}]}, "type": "incident_rule_execution_states"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Batch update incident rule execution states returns "Bad Request" response + Given operation "BatchUpdateIncidentRuleExecutionStates" enabled + And new "BatchUpdateIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"rules": [{"last_executed_at": "2024-01-01T00:00:00.000Z", "rule_uuid": "00000000-0000-0000-0000-000000000000"}]}, "type": "incident_rule_execution_states"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Batch update incident rule execution states returns "Not Found" response + Given operation "BatchUpdateIncidentRuleExecutionStates" enabled + And new "BatchUpdateIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"rules": [{"last_executed_at": "2024-01-01T00:00:00.000Z", "rule_uuid": "00000000-0000-0000-0000-000000000000"}]}, "type": "incident_rule_execution_states"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Batch update incident rule execution states returns "OK" response + Given operation "BatchUpdateIncidentRuleExecutionStates" enabled + And new "BatchUpdateIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"rules": [{"last_executed_at": "2024-01-01T00:00:00.000Z", "rule_uuid": "00000000-0000-0000-0000-000000000000"}]}, "type": "incident_rule_execution_states"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Create a status page email subscription returns "Bad Request" response + Given operation "CreateStatuspageEmailSubscription" enabled + And new "CreateStatuspageEmailSubscription" request + And request contains "page_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"email": "user@example.com"}, "type": "statuspage_email_subscription"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create a status page email subscription returns "Created" response + Given operation "CreateStatuspageEmailSubscription" enabled + And new "CreateStatuspageEmailSubscription" request + And request contains "page_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"email": "user@example.com"}, "type": "statuspage_email_subscription"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Google Meet space returns "Bad Request" response + Given operation "CreateIncidentGoogleMeetSpace" enabled + And new "CreateIncidentGoogleMeetSpace" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Google Meet space returns "Created" response + Given operation "CreateIncidentGoogleMeetSpace" enabled + And new "CreateIncidentGoogleMeetSpace" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Google Meet space returns "Not Found" response + Given operation "CreateIncidentGoogleMeetSpace" enabled + And new "CreateIncidentGoogleMeetSpace" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Jira issue returns "Bad Request" response + Given operation "CreateIncidentJiraIssue" enabled + And new "CreateIncidentJiraIssue" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"account_id": "123456", "issue_type_id": "10001", "project_id": "10000", "template_id": "00000000-0000-0000-0000-000000000000"}, "type": "incident_jira_issues"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Jira issue returns "Created" response + Given operation "CreateIncidentJiraIssue" enabled + And new "CreateIncidentJiraIssue" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"account_id": "123456", "issue_type_id": "10001", "project_id": "10000", "template_id": "00000000-0000-0000-0000-000000000000"}, "type": "incident_jira_issues"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Jira issue returns "Not Found" response + Given operation "CreateIncidentJiraIssue" enabled + And new "CreateIncidentJiraIssue" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"account_id": "123456", "issue_type_id": "10001", "project_id": "10000", "template_id": "00000000-0000-0000-0000-000000000000"}, "type": "incident_jira_issues"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Jira template returns "Bad Request" response + Given operation "CreateIncidentJiraTemplate" enabled + And new "CreateIncidentJiraTemplate" request + And body with value {"data": {"attributes": {"account_id": "123456", "field_configurations": [{"incident_field": "title", "jira_field_key": "summary", "jira_field_type": "string", "sync_direction": "bidirectional"}], "is_default": false, "issue_id": "10001", "name": "Default Jira Template", "project_id": "10000", "project_key": "INC", "sync_enabled": true, "type": "jira"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}}, "type": "incidents_jira_templates"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Jira template returns "Created" response + Given operation "CreateIncidentJiraTemplate" enabled + And new "CreateIncidentJiraTemplate" request + And body with value {"data": {"attributes": {"account_id": "123456", "field_configurations": [{"incident_field": "title", "jira_field_key": "summary", "jira_field_type": "string", "sync_direction": "bidirectional"}], "is_default": false, "issue_id": "10001", "name": "Default Jira Template", "project_id": "10000", "project_key": "INC", "sync_enabled": true, "type": "jira"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}}, "type": "incidents_jira_templates"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Microsoft Teams configuration returns "Bad Request" response + Given operation "CreateIncidentMicrosoftTeamsConfiguration" enabled + And new "CreateIncidentMicrosoftTeamsConfiguration" request + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "post_meeting_summary": true}, "type": "microsoft_teams_configurations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Microsoft Teams configuration returns "Created" response + Given operation "CreateIncidentMicrosoftTeamsConfiguration" enabled + And new "CreateIncidentMicrosoftTeamsConfiguration" request + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "post_meeting_summary": true}, "type": "microsoft_teams_configurations"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Microsoft Teams online meeting returns "Bad Request" response + Given operation "CreateIncidentMSTeamsOnlineMeeting" enabled + And new "CreateIncidentMSTeamsOnlineMeeting" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Microsoft Teams online meeting returns "Created" response + Given operation "CreateIncidentMSTeamsOnlineMeeting" enabled + And new "CreateIncidentMSTeamsOnlineMeeting" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Microsoft Teams online meeting returns "Not Found" response + Given operation "CreateIncidentMSTeamsOnlineMeeting" enabled + And new "CreateIncidentMSTeamsOnlineMeeting" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Statuspage incident returns "Bad Request" response + Given operation "CreateIncidentStatuspageIncident" enabled + And new "CreateIncidentStatuspageIncident" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"body": "We are investigating the issue.", "deliver_notifications": true, "impact": "major", "name": "Service Outage", "page_id": "abc123", "status": "investigating"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Statuspage incident returns "Not Found" response + Given operation "CreateIncidentStatuspageIncident" enabled + And new "CreateIncidentStatuspageIncident" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"body": "We are investigating the issue.", "deliver_notifications": true, "impact": "major", "name": "Service Outage", "page_id": "abc123", "status": "investigating"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Statuspage incident returns "OK" response + Given operation "CreateIncidentStatuspageIncident" enabled + And new "CreateIncidentStatuspageIncident" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"body": "We are investigating the issue.", "deliver_notifications": true, "impact": "major", "name": "Service Outage", "page_id": "abc123", "status": "investigating"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Zoom configuration returns "Bad Request" response + Given operation "CreateIncidentZoomConfiguration" enabled + And new "CreateIncidentZoomConfiguration" request + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "meeting_chat_timeline_sync": false, "post_meeting_summary": true}, "type": "zoom_configurations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Zoom configuration returns "Created" response + Given operation "CreateIncidentZoomConfiguration" enabled + And new "CreateIncidentZoomConfiguration" request + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "meeting_chat_timeline_sync": false, "post_meeting_summary": true}, "type": "zoom_configurations"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Zoom meeting returns "Bad Request" response + Given operation "CreateIncidentZoomMeeting" enabled + And new "CreateIncidentZoomMeeting" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"topic": "Incident INC-123 War Room"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Zoom meeting returns "Created" response + Given operation "CreateIncidentZoomMeeting" enabled + And new "CreateIncidentZoomMeeting" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"topic": "Incident INC-123 War Room"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident Zoom meeting returns "Not Found" response + Given operation "CreateIncidentZoomMeeting" enabled + And new "CreateIncidentZoomMeeting" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"topic": "Incident INC-123 War Room"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident communication returns "Bad Request" response + Given operation "CreateIncidentCommunication" enabled + And new "CreateIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"communication_type": "manual", "content": {"grouping_key": "update-1", "handles": [{"created_at": "2024-01-01T00:00:00.000Z", "display_name": "#incidents-channel", "handle": "@slack-incidents-channel"}], "message": "Incident update for INC-123.", "status": 0, "subject": "Incident INC-123: Update"}}, "type": "communication"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident communication returns "Created" response + Given operation "CreateIncidentCommunication" enabled + And new "CreateIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"communication_type": "manual", "content": {"grouping_key": "update-1", "handles": [{"created_at": "2024-01-01T00:00:00.000Z", "display_name": "#incidents-channel", "handle": "@slack-incidents-channel"}], "message": "Incident update for INC-123.", "status": 0, "subject": "Incident INC-123: Update"}}, "type": "communication"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident communication returns "Not Found" response + Given operation "CreateIncidentCommunication" enabled + And new "CreateIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"communication_type": "manual", "content": {"grouping_key": "update-1", "handles": [{"created_at": "2024-01-01T00:00:00.000Z", "display_name": "#incidents-channel", "handle": "@slack-incidents-channel"}], "message": "Incident update for INC-123.", "status": 0, "subject": "Incident INC-123: Update"}}, "type": "communication"}} + When the request is sent + Then the response status is 404 Not Found + @skip @team:DataDog/incident-app Scenario: Create an incident impact returns "Bad Request" response Given operation "CreateIncidentImpact" enabled @@ -133,6 +409,65 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident role assignment returns "Bad Request" response + Given operation "CreateIncidentRoleAssignment" enabled + And new "CreateIncidentRoleAssignment" request + And body with value {"data": {"attributes": {"role": "commander"}, "relationships": {"reserved_role": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_reserved_roles"}}, "responder": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "users"}}, "user_defined_role": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_reserved_roles"}}}, "type": "incident_role_assignments"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident role assignment returns "Conflict" response + Given operation "CreateIncidentRoleAssignment" enabled + And new "CreateIncidentRoleAssignment" request + And body with value {"data": {"attributes": {"role": "commander"}, "relationships": {"reserved_role": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_reserved_roles"}}, "responder": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "users"}}, "user_defined_role": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_reserved_roles"}}}, "type": "incident_role_assignments"}} + When the request is sent + Then the response status is 409 Conflict + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident role assignment returns "Created" response + Given operation "CreateIncidentRoleAssignment" enabled + And new "CreateIncidentRoleAssignment" request + And body with value {"data": {"attributes": {"role": "commander"}, "relationships": {"reserved_role": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_reserved_roles"}}, "responder": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "users"}}, "user_defined_role": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_reserved_roles"}}}, "type": "incident_role_assignments"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident role assignment returns "Not Found" response + Given operation "CreateIncidentRoleAssignment" enabled + And new "CreateIncidentRoleAssignment" request + And body with value {"data": {"attributes": {"role": "commander"}, "relationships": {"reserved_role": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_reserved_roles"}}, "responder": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "users"}}, "user_defined_role": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_reserved_roles"}}}, "type": "incident_role_assignments"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident timeline entry returns "Bad Request" response + Given operation "CreateIncidentTimelineEntry" enabled + And new "CreateIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"cell_type": "markdown", "content": {"message": "Investigating the issue."}, "display_time": "2024-01-01T00:00:00.000Z", "important": false}, "type": "incident_timeline_cells"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident timeline entry returns "Created" response + Given operation "CreateIncidentTimelineEntry" enabled + And new "CreateIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"cell_type": "markdown", "content": {"message": "Investigating the issue."}, "display_time": "2024-01-01T00:00:00.000Z", "important": false}, "type": "incident_timeline_cells"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/incident-app + Scenario: Create an incident timeline entry returns "Not Found" response + Given operation "CreateIncidentTimelineEntry" enabled + And new "CreateIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"cell_type": "markdown", "content": {"message": "Investigating the issue."}, "display_time": "2024-01-01T00:00:00.000Z", "important": false}, "type": "incident_timeline_cells"}} + When the request is sent + Then the response status is 404 Not Found + @generated @skip @team:Datadog/incident-app Scenario: Create an incident todo returns "Bad Request" response Given operation "CreateIncidentTodo" enabled @@ -379,6 +714,57 @@ Feature: Incidents When the request is sent Then the response status is 204 OK + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident Jira template returns "Bad Request" response + Given operation "DeleteIncidentJiraTemplate" enabled + And new "DeleteIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident Jira template returns "No Content" response + Given operation "DeleteIncidentJiraTemplate" enabled + And new "DeleteIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident Jira template returns "Not Found" response + Given operation "DeleteIncidentJiraTemplate" enabled + And new "DeleteIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident communication returns "Bad Request" response + Given operation "DeleteIncidentCommunication" enabled + And new "DeleteIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident communication returns "No Content" response + Given operation "DeleteIncidentCommunication" enabled + And new "DeleteIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident communication returns "Not Found" response + Given operation "DeleteIncidentCommunication" enabled + And new "DeleteIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + @skip @team:DataDog/incident-app Scenario: Delete an incident impact returns "No Content" response Given there is a valid "incident" in the system @@ -452,6 +838,57 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident role assignment returns "Bad Request" response + Given operation "DeleteIncidentRoleAssignment" enabled + And new "DeleteIncidentRoleAssignment" request + And request contains "role_assignment_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident role assignment returns "No Content" response + Given operation "DeleteIncidentRoleAssignment" enabled + And new "DeleteIncidentRoleAssignment" request + And request contains "role_assignment_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident role assignment returns "Not Found" response + Given operation "DeleteIncidentRoleAssignment" enabled + And new "DeleteIncidentRoleAssignment" request + And request contains "role_assignment_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident timeline entry returns "Bad Request" response + Given operation "DeleteIncidentTimelineEntry" enabled + And new "DeleteIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident timeline entry returns "No Content" response + Given operation "DeleteIncidentTimelineEntry" enabled + And new "DeleteIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:DataDog/incident-app + Scenario: Delete an incident timeline entry returns "Not Found" response + Given operation "DeleteIncidentTimelineEntry" enabled + And new "DeleteIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + @generated @skip @team:Datadog/incident-app Scenario: Delete an incident todo returns "Bad Request" response Given operation "DeleteIncidentTodo" enabled @@ -625,6 +1062,46 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found + @generated @skip @team:DataDog/incident-app + Scenario: Export incidents returns "Bad Request" response + Given operation "ExportIncidents" enabled + And new "ExportIncidents" request + And body with value {"fields": ["title", "severity", "state"], "query": "state:active"} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Export incidents returns "OK" response + Given operation "ExportIncidents" enabled + And new "ExportIncidents" request + And body with value {"fields": ["title", "severity", "state"], "query": "state:active"} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Get PagerDuty related incidents returns "Bad Request" response + Given operation "GetIncidentPagerdutyRelatedIncidents" enabled + And new "GetIncidentPagerdutyRelatedIncidents" request + And request contains "pagerduty_incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Get PagerDuty related incidents returns "Not Found" response + Given operation "GetIncidentPagerdutyRelatedIncidents" enabled + And new "GetIncidentPagerdutyRelatedIncidents" request + And request contains "pagerduty_incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get PagerDuty related incidents returns "OK" response + Given operation "GetIncidentPagerdutyRelatedIncidents" enabled + And new "GetIncidentPagerdutyRelatedIncidents" request + And request contains "pagerduty_incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app Scenario: Get a list of an incident's integration metadata returns "Bad Request" response Given operation "ListIncidentIntegrations" enabled @@ -741,6 +1218,57 @@ Feature: Incidents Then the response status is 200 OK And the response has 3 items + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident Jira template returns "Bad Request" response + Given operation "GetIncidentJiraTemplate" enabled + And new "GetIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident Jira template returns "Not Found" response + Given operation "GetIncidentJiraTemplate" enabled + And new "GetIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident Jira template returns "OK" response + Given operation "GetIncidentJiraTemplate" enabled + And new "GetIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident communication returns "Bad Request" response + Given operation "GetIncidentCommunication" enabled + And new "GetIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident communication returns "Not Found" response + Given operation "GetIncidentCommunication" enabled + And new "GetIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident communication returns "OK" response + Given operation "GetIncidentCommunication" enabled + And new "GetIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:Datadog/incident-app Scenario: Get an incident notification rule returns "Bad Request" response Given operation "GetIncidentNotificationRule" enabled @@ -765,6 +1293,46 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident reserved role returns "Not Found" response + Given operation "GetIncidentReservedRole" enabled + And new "GetIncidentReservedRole" request + And request contains "role_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident reserved role returns "OK" response + Given operation "GetIncidentReservedRole" enabled + And new "GetIncidentReservedRole" request + And request contains "role_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident role assignment returns "Bad Request" response + Given operation "GetIncidentRoleAssignment" enabled + And new "GetIncidentRoleAssignment" request + And request contains "role_assignment_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident role assignment returns "Not Found" response + Given operation "GetIncidentRoleAssignment" enabled + And new "GetIncidentRoleAssignment" request + And request contains "role_assignment_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get an incident role assignment returns "OK" response + Given operation "GetIncidentRoleAssignment" enabled + And new "GetIncidentRoleAssignment" request + And request contains "role_assignment_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app Scenario: Get an incident user-defined field returns "Not Found" response Given operation "GetIncidentUserDefinedField" enabled @@ -795,6 +1363,49 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Get incident automation data returns "Bad Request" response + Given operation "GetIncidentAutomationData" enabled + And new "GetIncidentAutomationData" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "key" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident automation data returns "Not Found" response + Given operation "GetIncidentAutomationData" enabled + And new "GetIncidentAutomationData" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "key" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident automation data returns "OK" response + Given operation "GetIncidentAutomationData" enabled + And new "GetIncidentAutomationData" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "key" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident case source link returns "Not Found" response + Given operation "GetIncidentCaseSourceLink" enabled + And new "GetIncidentCaseSourceLink" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident case source link returns "OK" response + Given operation "GetIncidentCaseSourceLink" enabled + And new "GetIncidentCaseSourceLink" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app Scenario: Get incident integration metadata details returns "Bad Request" response Given operation "GetIncidentIntegration" enabled @@ -869,10 +1480,69 @@ Feature: Incidents And request contains "id" parameter from "notification_template.data.id" When the request is sent Then the response status is 200 OK - And the response "data.type" is equal to "notification_templates" - And the response "data.id" has the same value as "notification_template.data.id" - And the response "data" has field "attributes" - And the response "data" has field "relationships" + And the response "data.type" is equal to "notification_templates" + And the response "data.id" has the same value as "notification_template.data.id" + And the response "data" has field "attributes" + And the response "data" has field "relationships" + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident page source link returns "Not Found" response + Given operation "GetIncidentPageSourceLink" enabled + And new "GetIncidentPageSourceLink" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident page source link returns "OK" response + Given operation "GetIncidentPageSourceLink" enabled + And new "GetIncidentPageSourceLink" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident status pages suggestion returns "Not Found" response + Given operation "GetIncidentStatusPagesSuggestion" enabled + And new "GetIncidentStatusPagesSuggestion" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident status pages suggestion returns "OK" response + Given operation "GetIncidentStatusPagesSuggestion" enabled + And new "GetIncidentStatusPagesSuggestion" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident timeline entry thread returns "Bad Request" response + Given operation "GetIncidentTimelineEntryThread" enabled + And new "GetIncidentTimelineEntryThread" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident timeline entry thread returns "Not Found" response + Given operation "GetIncidentTimelineEntryThread" enabled + And new "GetIncidentTimelineEntryThread" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Get incident timeline entry thread returns "OK" response + Given operation "GetIncidentTimelineEntryThread" enabled + And new "GetIncidentTimelineEntryThread" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK @generated @skip @team:Datadog/incident-app Scenario: Get incident todo details returns "Bad Request" response @@ -953,6 +1623,13 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Get status page subscription preferences returns "OK" response + Given operation "GetStatuspageSubscriptionPreferences" enabled + And new "GetStatuspageSubscriptionPreferences" request + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app Scenario: Get the details of an incident returns "Bad Request" response Given operation "GetIncident" enabled @@ -1005,6 +1682,20 @@ Feature: Incidents When the request is sent Then the response status is 404 Not Found + @generated @skip @team:DataDog/incident-app + Scenario: List PagerDuty services returns "Bad Request" response + Given operation "ListIncidentPagerdutyServices" enabled + And new "ListIncidentPagerdutyServices" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: List PagerDuty services returns "OK" response + Given operation "ListIncidentPagerdutyServices" enabled + And new "ListIncidentPagerdutyServices" request + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app Scenario: List an incident's impacts returns "Bad Request" response Given new "ListIncidentImpacts" request @@ -1042,6 +1733,20 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: List incident Jira templates returns "Bad Request" response + Given operation "ListIncidentJiraTemplates" enabled + And new "ListIncidentJiraTemplates" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: List incident Jira templates returns "OK" response + Given operation "ListIncidentJiraTemplates" enabled + And new "ListIncidentJiraTemplates" request + When the request is sent + Then the response status is 200 OK + @skip @team:DataDog/incident-app Scenario: List incident attachments returns "Bad Request" response Given operation "ListIncidentAttachments" enabled @@ -1061,6 +1766,30 @@ Feature: Incidents Then the response status is 200 OK And the response "data" has length 1 + @generated @skip @team:DataDog/incident-app + Scenario: List incident communications returns "Bad Request" response + Given operation "ListIncidentCommunications" enabled + And new "ListIncidentCommunications" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: List incident communications returns "Not Found" response + Given operation "ListIncidentCommunications" enabled + And new "ListIncidentCommunications" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: List incident communications returns "OK" response + Given operation "ListIncidentCommunications" enabled + And new "ListIncidentCommunications" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:Datadog/incident-app Scenario: List incident notification rules returns "Bad Request" response Given operation "ListIncidentNotificationRules" enabled @@ -1108,6 +1837,68 @@ Feature: Incidents Then the response status is 200 OK And the response "data" has length 0 + @generated @skip @team:DataDog/incident-app + Scenario: List incident reserved roles returns "OK" response + Given operation "ListIncidentReservedRoles" enabled + And new "ListIncidentReservedRoles" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: List incident rule execution states returns "Bad Request" response + Given operation "ListIncidentRuleExecutionStates" enabled + And new "ListIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: List incident rule execution states returns "Not Found" response + Given operation "ListIncidentRuleExecutionStates" enabled + And new "ListIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: List incident rule execution states returns "OK" response + Given operation "ListIncidentRuleExecutionStates" enabled + And new "ListIncidentRuleExecutionStates" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: List incident template variables returns "OK" response + Given operation "ListIncidentTemplateVariables" enabled + And new "ListIncidentTemplateVariables" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: List incident timeline entries returns "Bad Request" response + Given operation "ListIncidentTimelineEntries" enabled + And new "ListIncidentTimelineEntries" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: List incident timeline entries returns "Not Found" response + Given operation "ListIncidentTimelineEntries" enabled + And new "ListIncidentTimelineEntries" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: List incident timeline entries returns "OK" response + Given operation "ListIncidentTimelineEntries" enabled + And new "ListIncidentTimelineEntries" request + And request contains "incident_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app Scenario: List postmortem templates returns "Bad Request" response Given operation "ListIncidentPostmortemTemplates" enabled @@ -1122,6 +1913,79 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: List status page email subscriptions returns "Not Found" response + Given operation "ListStatuspageEmailSubscriptions" enabled + And new "ListStatuspageEmailSubscriptions" request + And request contains "page_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: List status page email subscriptions returns "OK" response + Given operation "ListStatuspageEmailSubscriptions" enabled + And new "ListStatuspageEmailSubscriptions" request + And request contains "page_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:Datadog/incident-app + Scenario: Patch an incident notification rule returns "Bad Request" response + Given operation "PatchIncidentNotificationRule" enabled + And new "PatchIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "id": "00000000-0000-0000-0000-000000000001", "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/incident-app + Scenario: Patch an incident notification rule returns "Not Found" response + Given operation "PatchIncidentNotificationRule" enabled + And new "PatchIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "id": "00000000-0000-0000-0000-000000000001", "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:Datadog/incident-app + Scenario: Patch an incident notification rule returns "OK" response + Given operation "PatchIncidentNotificationRule" enabled + And new "PatchIncidentNotificationRule" request + And request contains "id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"conditions": [{"field": "severity", "values": ["SEV-1", "SEV-2"]}], "enabled": true, "handles": ["@team-email@company.com", "@slack-channel"], "renotify_on": ["status", "severity"], "trigger": "incident_created_trigger", "visibility": "organization"}, "id": "00000000-0000-0000-0000-000000000001", "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}, "notification_template": {"data": {"id": "00000000-0000-0000-0000-000000000001", "type": "notification_templates"}}}, "type": "incident_notification_rules"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Publish an incident status page notice returns "Bad Request" response + Given operation "CreateIncidentStatusPageNotice" enabled + And new "CreateIncidentStatusPageNotice" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "statuspage_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"components": {"component_1": "degraded_performance"}, "message": "We are investigating reports of elevated error rates.", "status": "investigating", "title": "Service degradation detected."}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Publish an incident status page notice returns "Not Found" response + Given operation "CreateIncidentStatusPageNotice" enabled + And new "CreateIncidentStatusPageNotice" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "statuspage_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"components": {"component_1": "degraded_performance"}, "message": "We are investigating reports of elevated error rates.", "status": "investigating", "title": "Service degradation detected."}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Publish an incident status page notice returns "OK" response + Given operation "CreateIncidentStatusPageNotice" enabled + And new "CreateIncidentStatusPageNotice" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "statuspage_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"components": {"component_1": "degraded_performance"}, "message": "We are investigating reports of elevated error rates.", "status": "investigating", "title": "Service degradation detected."}, "type": "incident_integrations"}} + 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 @@ -1133,6 +1997,33 @@ Feature: Incidents Then the response status is 200 OK And the response "data.relationships.commander_user.data" is equal to null + @generated @skip @team:DataDog/incident-app + Scenario: Render an incident template returns "Bad Request" response + Given operation "RenderIncidentTemplate" enabled + And new "RenderIncidentTemplate" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"content": "Incident INC-123 is SEV-1.", "datetime_format": "2006-01-02T15:04:05Z07:00", "timezone": "America/New_York", "validate_links": false, "validate_variables": false}, "type": "rendered_templates"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Render an incident template returns "Not Found" response + Given operation "RenderIncidentTemplate" enabled + And new "RenderIncidentTemplate" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"content": "Incident INC-123 is SEV-1.", "datetime_format": "2006-01-02T15:04:05Z07:00", "timezone": "America/New_York", "validate_links": false, "validate_variables": false}, "type": "rendered_templates"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Render an incident template returns "OK" response + Given operation "RenderIncidentTemplate" enabled + And new "RenderIncidentTemplate" request + And request contains "incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"content": "Incident INC-123 is SEV-1.", "datetime_format": "2006-01-02T15:04:05Z07:00", "timezone": "America/New_York", "validate_links": false, "validate_variables": false}, "type": "rendered_templates"}} + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app Scenario: Search for incidents returns "Bad Request" response Given operation "SearchIncidents" enabled @@ -1170,6 +2061,20 @@ Feature: Incidents Then the response status is 200 OK And the response has 3 items + @generated @skip @team:DataDog/incident-app + Scenario: Search incidents returns "Bad Request" response + Given operation "SearchIncidentsV2" enabled + And new "SearchIncidentsV2" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Search incidents returns "OK" response + Given operation "SearchIncidentsV2" enabled + And new "SearchIncidentsV2" request + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app Scenario: Update an existing incident integration metadata returns "Bad Request" response Given operation "UpdateIncidentIntegration" enabled @@ -1232,6 +2137,150 @@ 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 Jira template returns "Bad Request" response + Given operation "UpdateIncidentJiraTemplate" enabled + And new "UpdateIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"account_id": "123456", "field_configurations": [{"incident_field": "title", "jira_field_key": "summary", "jira_field_type": "string", "sync_direction": "bidirectional"}], "is_default": false, "issue_id": "10001", "name": "Default Jira Template", "project_id": "10000", "project_key": "INC", "sync_enabled": true, "type": "jira"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}}, "type": "incidents_jira_templates"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Jira template returns "Not Found" response + Given operation "UpdateIncidentJiraTemplate" enabled + And new "UpdateIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"account_id": "123456", "field_configurations": [{"incident_field": "title", "jira_field_key": "summary", "jira_field_type": "string", "sync_direction": "bidirectional"}], "is_default": false, "issue_id": "10001", "name": "Default Jira Template", "project_id": "10000", "project_key": "INC", "sync_enabled": true, "type": "jira"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}}, "type": "incidents_jira_templates"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Jira template returns "OK" response + Given operation "UpdateIncidentJiraTemplate" enabled + And new "UpdateIncidentJiraTemplate" request + And request contains "template_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"account_id": "123456", "field_configurations": [{"incident_field": "title", "jira_field_key": "summary", "jira_field_type": "string", "sync_direction": "bidirectional"}], "is_default": false, "issue_id": "10001", "name": "Default Jira Template", "project_id": "10000", "project_key": "INC", "sync_enabled": true, "type": "jira"}, "relationships": {"incident_type": {"data": {"id": "00000000-0000-0000-0000-000000000000", "type": "incident_types"}}}, "type": "incidents_jira_templates"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Microsoft Teams configuration returns "Bad Request" response + Given operation "UpdateIncidentMicrosoftTeamsConfiguration" enabled + And new "UpdateIncidentMicrosoftTeamsConfiguration" request + And request contains "configuration_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "post_meeting_summary": true}, "type": "microsoft_teams_configurations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Microsoft Teams configuration returns "Not Found" response + Given operation "UpdateIncidentMicrosoftTeamsConfiguration" enabled + And new "UpdateIncidentMicrosoftTeamsConfiguration" request + And request contains "configuration_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "post_meeting_summary": true}, "type": "microsoft_teams_configurations"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Microsoft Teams configuration returns "OK" response + Given operation "UpdateIncidentMicrosoftTeamsConfiguration" enabled + And new "UpdateIncidentMicrosoftTeamsConfiguration" request + And request contains "configuration_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "post_meeting_summary": true}, "type": "microsoft_teams_configurations"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Statuspage incident returns "Bad Request" response + Given operation "UpdateIncidentStatuspageIncident" enabled + And new "UpdateIncidentStatuspageIncident" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "page_id" parameter from "REPLACE.ME" + And request contains "statuspage_incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"body": "We are investigating the issue.", "deliver_notifications": true, "impact": "major", "name": "Service Outage", "page_id": "abc123", "status": "investigating"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Statuspage incident returns "Not Found" response + Given operation "UpdateIncidentStatuspageIncident" enabled + And new "UpdateIncidentStatuspageIncident" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "page_id" parameter from "REPLACE.ME" + And request contains "statuspage_incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"body": "We are investigating the issue.", "deliver_notifications": true, "impact": "major", "name": "Service Outage", "page_id": "abc123", "status": "investigating"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Statuspage incident returns "OK" response + Given operation "UpdateIncidentStatuspageIncident" enabled + And new "UpdateIncidentStatuspageIncident" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "page_id" parameter from "REPLACE.ME" + And request contains "statuspage_incident_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"body": "We are investigating the issue.", "deliver_notifications": true, "impact": "major", "name": "Service Outage", "page_id": "abc123", "status": "investigating"}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Zoom configuration returns "Bad Request" response + Given operation "UpdateIncidentZoomConfiguration" enabled + And new "UpdateIncidentZoomConfiguration" request + And request contains "configuration_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "meeting_chat_timeline_sync": false, "post_meeting_summary": true}, "type": "zoom_configurations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Zoom configuration returns "Not Found" response + Given operation "UpdateIncidentZoomConfiguration" enabled + And new "UpdateIncidentZoomConfiguration" request + And request contains "configuration_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "meeting_chat_timeline_sync": false, "post_meeting_summary": true}, "type": "zoom_configurations"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident Zoom configuration returns "OK" response + Given operation "UpdateIncidentZoomConfiguration" enabled + And new "UpdateIncidentZoomConfiguration" request + And request contains "configuration_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"manual_meeting_creation": false, "meeting_chat_timeline_sync": false, "post_meeting_summary": true}, "type": "zoom_configurations"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident communication returns "Bad Request" response + Given operation "UpdateIncidentCommunication" enabled + And new "UpdateIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"communication_type": "manual", "content": {"grouping_key": "update-1", "handles": [{"created_at": "2024-01-01T00:00:00.000Z", "display_name": "#incidents-channel", "handle": "@slack-incidents-channel"}], "message": "Incident update for INC-123.", "status": 0, "subject": "Incident INC-123: Update"}}, "type": "communication"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident communication returns "Not Found" response + Given operation "UpdateIncidentCommunication" enabled + And new "UpdateIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"communication_type": "manual", "content": {"grouping_key": "update-1", "handles": [{"created_at": "2024-01-01T00:00:00.000Z", "display_name": "#incidents-channel", "handle": "@slack-incidents-channel"}], "message": "Incident update for INC-123.", "status": 0, "subject": "Incident INC-123: Update"}}, "type": "communication"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident communication returns "OK" response + Given operation "UpdateIncidentCommunication" enabled + And new "UpdateIncidentCommunication" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "communication_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"communication_type": "manual", "content": {"grouping_key": "update-1", "handles": [{"created_at": "2024-01-01T00:00:00.000Z", "display_name": "#incidents-channel", "handle": "@slack-incidents-channel"}], "message": "Incident update for INC-123.", "status": 0, "subject": "Incident INC-123: Update"}}, "type": "communication"}} + 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 @@ -1259,6 +2308,69 @@ Feature: Incidents When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident status page notice returns "Bad Request" response + Given operation "UpdateIncidentStatusPageNotice" enabled + And new "UpdateIncidentStatusPageNotice" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "statuspage_id" parameter from "REPLACE.ME" + And request contains "notice_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"message": "The issue has been resolved.", "status": "resolved", "title": "Service degradation resolved."}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident status page notice returns "Not Found" response + Given operation "UpdateIncidentStatusPageNotice" enabled + And new "UpdateIncidentStatusPageNotice" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "statuspage_id" parameter from "REPLACE.ME" + And request contains "notice_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"message": "The issue has been resolved.", "status": "resolved", "title": "Service degradation resolved."}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident status page notice returns "OK" response + Given operation "UpdateIncidentStatusPageNotice" enabled + And new "UpdateIncidentStatusPageNotice" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "statuspage_id" parameter from "REPLACE.ME" + And request contains "notice_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"message": "The issue has been resolved.", "status": "resolved", "title": "Service degradation resolved."}, "type": "incident_integrations"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident timeline entry returns "Bad Request" response + Given operation "UpdateIncidentTimelineEntry" enabled + And new "UpdateIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"cell_type": "markdown", "content": {"message": "Investigating the issue."}, "display_time": "2024-01-01T00:00:00.000Z", "important": false}, "type": "incident_timeline_cells"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident timeline entry returns "Not Found" response + Given operation "UpdateIncidentTimelineEntry" enabled + And new "UpdateIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"cell_type": "markdown", "content": {"message": "Investigating the issue."}, "display_time": "2024-01-01T00:00:00.000Z", "important": false}, "type": "incident_timeline_cells"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Update an incident timeline entry returns "OK" response + Given operation "UpdateIncidentTimelineEntry" enabled + And new "UpdateIncidentTimelineEntry" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "timeline_entry_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"cell_type": "markdown", "content": {"message": "Investigating the issue."}, "display_time": "2024-01-01T00:00:00.000Z", "important": false}, "type": "incident_timeline_cells"}} + When the request is sent + Then the response status is 200 OK + @generated @skip @team:Datadog/incident-app Scenario: Update an incident todo returns "Bad Request" response Given operation "UpdateIncidentTodo" enabled @@ -1506,3 +2618,33 @@ Feature: Incidents And body with value {"data": {"attributes": {"name": "Standard Postmortem Template"}, "type": "postmortem_template"}} When the request is sent Then the response status is 200 OK + + @generated @skip @team:DataDog/incident-app + Scenario: Upsert incident automation data returns "Bad Request" response + Given operation "UpsertIncidentAutomationData" enabled + And new "UpsertIncidentAutomationData" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "key" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"value": "completed"}, "type": "incidents_automation_data"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/incident-app + Scenario: Upsert incident automation data returns "Not Found" response + Given operation "UpsertIncidentAutomationData" enabled + And new "UpsertIncidentAutomationData" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "key" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"value": "completed"}, "type": "incidents_automation_data"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/incident-app + Scenario: Upsert incident automation data returns "OK" response + Given operation "UpsertIncidentAutomationData" enabled + And new "UpsertIncidentAutomationData" request + And request contains "incident_id" parameter from "REPLACE.ME" + And request contains "key" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"value": "completed"}, "type": "incidents_automation_data"}} + When the request is sent + Then the response status is 200 OK diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index dc1a8b2fbb..5141ba44f6 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -2191,6 +2191,54 @@ "type": "idempotent" } }, + "ListIncidentJiraTemplates": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentJiraTemplate": { + "tag": "Incidents", + "undo": { + "operationId": "DeleteIncidentJiraTemplate", + "parameters": [ + { + "name": "template_id", + "source": "data.id" + } + ] + } + }, + "DeleteIncidentJiraTemplate": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentJiraTemplate": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "UpdateIncidentJiraTemplate": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "CreateIncidentMicrosoftTeamsConfiguration": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "UpdateIncidentMicrosoftTeamsConfiguration": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "ListIncidentNotificationRules": { "tag": "Incidents", "undo": { @@ -2222,6 +2270,12 @@ "type": "safe" } }, + "PatchIncidentNotificationRule": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "UpdateIncidentNotificationRule": { "tag": "Incidents", "undo": { @@ -2302,6 +2356,24 @@ "type": "idempotent" } }, + "ListIncidentReservedRoles": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "GetIncidentReservedRole": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "ListIncidentTemplateVariables": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, "ListIncidentTypes": { "tag": "Incidents", "undo": { @@ -2376,6 +2448,18 @@ "type": "idempotent" } }, + "CreateIncidentZoomConfiguration": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "UpdateIncidentZoomConfiguration": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "ImportIncident": { "tag": "Incidents", "undo": { @@ -2389,12 +2473,72 @@ "type": "unsafe" } }, + "ListIncidentPagerdutyServices": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "GetIncidentPagerdutyRelatedIncidents": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentRoleAssignment": { + "tag": "Incidents", + "undo": { + "operationId": "DeleteIncidentRoleAssignment", + "parameters": [ + { + "name": "role_assignment_id", + "source": "data.id" + } + ] + } + }, + "DeleteIncidentRoleAssignment": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentRoleAssignment": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, "SearchIncidents": { "tag": "Incidents", "undo": { "type": "safe" } }, + "SearchIncidentsV2": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "ExportIncidents": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentStatuspageIncident": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "UpdateIncidentStatuspageIncident": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "DeleteIncident": { "tag": "Incidents", "undo": { @@ -2456,6 +2600,70 @@ "type": "idempotent" } }, + "GetIncidentAutomationData": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "UpsertIncidentAutomationData": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentCaseSourceLink": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "ListIncidentCommunications": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentCommunication": { + "tag": "Incidents", + "undo": { + "operationId": "DeleteIncidentCommunication", + "parameters": [ + { + "name": "incident_id", + "source": "data.attributes.incident_id" + }, + { + "name": "communication_id", + "source": "data.id" + } + ] + } + }, + "DeleteIncidentCommunication": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentCommunication": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "UpdateIncidentCommunication": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "CreateIncidentGoogleMeetSpace": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "ListIncidentImpacts": { "tag": "Incidents", "undo": { @@ -2485,6 +2693,24 @@ "type": "idempotent" } }, + "CreateIncidentJiraIssue": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "CreateIncidentMSTeamsOnlineMeeting": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentPageSourceLink": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, "ListIncidentIntegrations": { "tag": "Incidents", "undo": { @@ -2567,6 +2793,94 @@ "type": "idempotent" } }, + "RenderIncidentTemplate": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "ListIncidentRuleExecutionStates": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "BatchCreateIncidentRuleExecutionStates": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "BatchUpdateIncidentRuleExecutionStates": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentStatusPagesSuggestion": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentStatusPageNotice": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "UpdateIncidentStatusPageNotice": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "ListIncidentTimelineEntries": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentTimelineEntry": { + "tag": "Incidents", + "undo": { + "operationId": "DeleteIncidentTimelineEntry", + "parameters": [ + { + "name": "incident_id", + "source": "data.attributes.incident_id" + }, + { + "name": "timeline_entry_id", + "source": "data.id" + } + ] + } + }, + "DeleteIncidentTimelineEntry": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "UpdateIncidentTimelineEntry": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, + "GetIncidentTimelineEntryThread": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateIncidentZoomMeeting": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "ListAWSAccounts": { "tag": "AWS Integration", "undo": { @@ -6371,6 +6685,12 @@ "type": "safe" } }, + "GetStatuspageSubscriptionPreferences": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, "DeleteStatusPage": { "tag": "Status Pages", "undo": { @@ -6512,6 +6832,18 @@ "type": "idempotent" } }, + "ListStatuspageEmailSubscriptions": { + "tag": "Incidents", + "undo": { + "type": "safe" + } + }, + "CreateStatuspageEmailSubscription": { + "tag": "Incidents", + "undo": { + "type": "idempotent" + } + }, "UnpublishStatusPage": { "tag": "Status Pages", "undo": {