diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index edf5200141..8ac61c056a 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -13103,6 +13103,100 @@ components: - findings - project type: object + CreateComponentRequest: + example: + data: + attributes: + name: Metrics Intake + position: 0 + type: component + relationships: + group: + data: null + type: components + properties: + data: + $ref: '#/components/schemas/CreateComponentRequestData' + type: object + CreateComponentRequestData: + properties: + attributes: + $ref: '#/components/schemas/CreateComponentRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateComponentRequestDataRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + CreateComponentRequestDataAttributes: + properties: + components: + items: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesComponentsItems' + type: array + name: + example: '' + type: string + position: + example: 0 + format: int64 + type: integer + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + required: + - name + - position + - type + type: object + CreateComponentRequestDataAttributesComponentsItems: + properties: + name: + example: '' + type: string + position: + example: 0 + format: int64 + type: integer + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + required: + - name + - position + - type + type: object + CreateComponentRequestDataAttributesType: + enum: + - component + - group + example: component + type: string + x-enum-varnames: + - COMPONENT + - GROUP + CreateComponentRequestDataRelationships: + properties: + group: + $ref: '#/components/schemas/CreateComponentRequestDataRelationshipsGroup' + type: object + CreateComponentRequestDataRelationshipsGroup: + properties: + data: + $ref: '#/components/schemas/CreateComponentRequestDataRelationshipsGroupData' + required: + - data + type: object + CreateComponentRequestDataRelationshipsGroupData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + - id + type: object CreateConnectionRequest: example: data: @@ -13273,6 +13367,76 @@ components: meta: $ref: '#/components/schemas/DataDeletionResponseMeta' type: object + CreateDegradationRequest: + example: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + description: Our API is experiencing elevated latency. We are investigating + the issue. + status: investigating + title: Elevated API Latency + type: degradations + properties: + data: + $ref: '#/components/schemas/CreateDegradationRequestData' + type: object + CreateDegradationRequestData: + properties: + attributes: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributes' + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + type: object + CreateDegradationRequestDataAttributes: + properties: + components_affected: + items: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesComponentsAffectedItems' + type: array + description: + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + title: + example: '' + type: string + required: + - components_affected + - status + - title + type: object + CreateDegradationRequestDataAttributesComponentsAffectedItems: + properties: + id: + example: '' + type: string + name: + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + required: + - id + - status + type: object + CreateDegradationRequestDataAttributesStatus: + enum: + - investigating + - identified + - monitoring + - resolved + example: investigating + type: string + x-enum-varnames: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED CreateDeploymentGateParams: description: Parameters for creating a deployment gate. properties: @@ -13926,6 +14090,138 @@ components: type: string x-enum-varnames: - CREATE_RULESET + CreateStatusPageRequest: + example: + data: + attributes: + company_logo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + components: + - name: API + position: 0 + type: component + - components: + - name: Login + position: 0 + type: component + - name: Settings + position: 1 + type: component + name: Web App + position: 1 + type: group + - name: Webhooks + position: 2 + type: component + domain_prefix: status-page-us1 + email_header_image: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + enabled: true + favicon: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + name: Status Page US1 + subscriptions_enabled: true + type: public + visualization_type: bars_and_uptime_percentage + type: status_pages + properties: + data: + $ref: '#/components/schemas/CreateStatusPageRequestData' + type: object + CreateStatusPageRequestData: + properties: + attributes: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributes' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + CreateStatusPageRequestDataAttributes: + properties: + company_logo: + type: string + components: + items: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesComponentsItems' + type: array + domain_prefix: + example: '' + type: string + email_header_image: + type: string + enabled: + example: false + type: boolean + favicon: + type: string + name: + example: '' + type: string + subscriptions_enabled: + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + required: + - domain_prefix + - enabled + - name + - type + - visualization_type + type: object + CreateStatusPageRequestDataAttributesComponentsItems: + properties: + components: + items: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems' + type: array + id: + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + type: object + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems: + properties: + id: + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + CreateStatusPageRequestDataAttributesType: + enum: + - public + - internal + example: public + type: string + x-enum-varnames: + - PUBLIC + - INTERNAL + CreateStatusPageRequestDataAttributesVisualizationType: + enum: + - bars_and_uptime_percentage + - bars_only + - component_name_only + example: bars_and_uptime_percentage + type: string + x-enum-varnames: + - BARS_AND_UPTIME_PERCENTAGE + - BARS_ONLY + - COMPONENT_NAME_ONLY CreateTableRequest: description: Request body for creating a new reference table from a local file or cloud storage. @@ -17319,6 +17615,184 @@ components: example: 1722439510282 format: int64 type: integer + Degradation: + properties: + data: + $ref: '#/components/schemas/DegradationData' + included: + items: + $ref: '#/components/schemas/DegradationArrayIncluded' + type: array + type: object + DegradationArray: + properties: + data: + items: + $ref: '#/components/schemas/DegradationData' + type: array + included: + items: + $ref: '#/components/schemas/DegradationArrayIncluded' + type: array + required: + - data + type: object + DegradationArrayIncluded: + oneOf: + - $ref: '#/components/schemas/StatusPagesUser' + - $ref: '#/components/schemas/StatusPageAsIncluded' + DegradationData: + properties: + attributes: + $ref: '#/components/schemas/DegradationDataAttributes' + id: + type: string + relationships: + $ref: '#/components/schemas/DegradationDataRelationships' + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + type: object + DegradationDataAttributes: + properties: + components_affected: + items: + $ref: '#/components/schemas/DegradationDataAttributesComponentsAffectedItems' + type: array + created_at: + format: date-time + type: string + description: + type: string + modified_at: + format: date-time + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + title: + type: string + updates: + items: + $ref: '#/components/schemas/DegradationDataAttributesUpdatesItems' + type: array + type: object + DegradationDataAttributesComponentsAffectedItems: + properties: + id: + example: '' + type: string + name: + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + required: + - id + - status + type: object + DegradationDataAttributesUpdatesItems: + properties: + components_affected: + items: + $ref: '#/components/schemas/DegradationDataAttributesUpdatesItemsComponentsAffectedItems' + type: array + created_at: + format: date-time + readOnly: true + type: string + description: + type: string + id: + readOnly: true + type: string + modified_at: + format: date-time + readOnly: true + type: string + started_at: + format: date-time + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + type: object + DegradationDataAttributesUpdatesItemsComponentsAffectedItems: + properties: + id: + example: '' + type: string + name: + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + required: + - id + - status + type: object + DegradationDataRelationships: + properties: + created_by_user: + $ref: '#/components/schemas/DegradationDataRelationshipsCreatedByUser' + last_modified_by_user: + $ref: '#/components/schemas/DegradationDataRelationshipsLastModifiedByUser' + status_page: + $ref: '#/components/schemas/DegradationDataRelationshipsStatusPage' + type: object + DegradationDataRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/DegradationDataRelationshipsCreatedByUserData' + required: + - data + type: object + DegradationDataRelationshipsCreatedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + DegradationDataRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/DegradationDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + DegradationDataRelationshipsLastModifiedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + DegradationDataRelationshipsStatusPage: + properties: + data: + $ref: '#/components/schemas/DegradationDataRelationshipsStatusPageData' + required: + - data + type: object + DegradationDataRelationshipsStatusPageData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object DeleteAppResponse: description: The response object after an app is successfully deleted. properties: @@ -40597,6 +41071,114 @@ components: title: type: string type: object + PatchComponentRequest: + example: + data: + attributes: + name: Metrics Intake Service + position: 4 + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: components + properties: + data: + $ref: '#/components/schemas/PatchComponentRequestData' + type: object + PatchComponentRequestData: + properties: + attributes: + $ref: '#/components/schemas/PatchComponentRequestDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + PatchComponentRequestDataAttributes: + properties: + name: + type: string + position: + format: int64 + type: integer + type: object + PatchDegradationRequest: + example: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + description: We've deployed a fix and latency has returned to normal. + This issue has been resolved. + status: resolved + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: degradations + properties: + data: + $ref: '#/components/schemas/PatchDegradationRequestData' + type: object + PatchDegradationRequestData: + properties: + attributes: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + type: object + PatchDegradationRequestDataAttributes: + properties: + components_affected: + items: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributesComponentsAffectedItems' + type: array + description: + type: string + status: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributesStatus' + title: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributesTitle' + type: object + PatchDegradationRequestDataAttributesComponentsAffectedItems: + properties: + id: + example: '' + type: string + name: + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + required: + - id + - status + type: object + PatchDegradationRequestDataAttributesStatus: + enum: + - investigating + - identified + - monitoring + - resolved + type: string + x-enum-varnames: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + PatchDegradationRequestDataAttributesTitle: + type: string + PatchDegradationRequestDataType: + default: degradations + description: Degradations resource type. + enum: + - degradations + example: degradations + type: string + x-enum-varnames: + - DEGRADATIONS PatchIncidentNotificationTemplateRequest: description: Update request for a notification template. properties: @@ -40643,6 +41225,63 @@ components: version: $ref: '#/components/schemas/Version' type: object + PatchStatusPageRequest: + example: + data: + attributes: + company_logo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + domain_prefix: status-page-us1-east + email_header_image: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + enabled: false + favicon: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + name: Status Page US1 East + subscriptions_enabled: false + type: internal + visualization_type: bars_only + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: status_pages + properties: + data: + $ref: '#/components/schemas/PatchStatusPageRequestData' + type: object + PatchStatusPageRequestData: + properties: + attributes: + $ref: '#/components/schemas/PatchStatusPageRequestDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + PatchStatusPageRequestDataAttributes: + properties: + company_logo: + $ref: '#/components/schemas/PatchStatusPageRequestDataAttributesCompanyLogo' + domain_prefix: + type: string + email_header_image: + $ref: '#/components/schemas/PatchStatusPageRequestDataAttributesEmailHeaderImage' + enabled: + type: boolean + favicon: + $ref: '#/components/schemas/PatchStatusPageRequestDataAttributesFavicon' + name: + type: string + subscriptions_enabled: + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + type: object + PatchStatusPageRequestDataAttributesCompanyLogo: + type: string + PatchStatusPageRequestDataAttributesEmailHeaderImage: + type: string + PatchStatusPageRequestDataAttributesFavicon: + type: string PatchTableRequest: description: Request body for updating an existing reference table. example: @@ -53709,6 +54348,666 @@ components: required: - type type: object + StatusPage: + properties: + data: + $ref: '#/components/schemas/StatusPageData' + included: + items: + $ref: '#/components/schemas/StatusPageArrayIncluded' + type: array + type: object + StatusPageArray: + properties: + data: + items: + $ref: '#/components/schemas/StatusPageData' + type: array + included: + items: + $ref: '#/components/schemas/StatusPageArrayIncluded' + type: array + required: + - data + type: object + StatusPageArrayIncluded: + oneOf: + - $ref: '#/components/schemas/StatusPagesUser' + StatusPageAsIncluded: + properties: + attributes: + $ref: '#/components/schemas/StatusPageAsIncludedAttributes' + id: + type: string + relationships: + $ref: '#/components/schemas/StatusPageAsIncludedRelationships' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + StatusPageAsIncludedAttributes: + properties: + company_logo: + type: string + components: + items: + $ref: '#/components/schemas/StatusPageAsIncludedAttributesComponentsItems' + type: array + created_at: + format: date-time + type: string + custom_domain: + type: string + custom_domain_enabled: + type: boolean + domain_prefix: + type: string + email_header_image: + type: string + enabled: + type: boolean + favicon: + type: string + modified_at: + format: date-time + type: string + name: + type: string + page_url: + type: string + subscriptions_enabled: + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + type: object + StatusPageAsIncludedAttributesComponentsItems: + properties: + components: + items: + $ref: '#/components/schemas/StatusPageAsIncludedAttributesComponentsItemsComponentsItems' + type: array + id: + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + type: object + StatusPageAsIncludedAttributesComponentsItemsComponentsItems: + properties: + id: + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPageAsIncludedRelationships: + properties: + created_by_user: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsCreatedByUser' + last_modified_by_user: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsLastModifiedByUser' + type: object + StatusPageAsIncludedRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsCreatedByUserData' + required: + - data + type: object + StatusPageAsIncludedRelationshipsCreatedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageAsIncludedRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPageAsIncludedRelationshipsLastModifiedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageData: + properties: + attributes: + $ref: '#/components/schemas/StatusPageDataAttributes' + id: + type: string + relationships: + $ref: '#/components/schemas/StatusPageDataRelationships' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + StatusPageDataAttributes: + properties: + company_logo: + type: string + components: + items: + $ref: '#/components/schemas/StatusPageDataAttributesComponentsItems' + type: array + created_at: + format: date-time + type: string + custom_domain: + type: string + custom_domain_enabled: + type: boolean + domain_prefix: + type: string + email_header_image: + type: string + enabled: + type: boolean + favicon: + type: string + modified_at: + format: date-time + type: string + name: + type: string + page_url: + type: string + subscriptions_enabled: + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + type: object + StatusPageDataAttributesComponentsItems: + properties: + components: + items: + $ref: '#/components/schemas/StatusPageDataAttributesComponentsItemsComponentsItems' + type: array + id: + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + type: object + StatusPageDataAttributesComponentsItemsComponentsItems: + properties: + id: + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPageDataRelationships: + properties: + created_by_user: + $ref: '#/components/schemas/StatusPageDataRelationshipsCreatedByUser' + last_modified_by_user: + $ref: '#/components/schemas/StatusPageDataRelationshipsLastModifiedByUser' + type: object + StatusPageDataRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPageDataRelationshipsCreatedByUserData' + required: + - data + type: object + StatusPageDataRelationshipsCreatedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageDataRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPageDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPageDataRelationshipsLastModifiedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageDataType: + default: status_pages + description: Status pages resource type. + enum: + - status_pages + example: status_pages + type: string + x-enum-varnames: + - STATUS_PAGES + StatusPagesComponent: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentData' + included: + items: + $ref: '#/components/schemas/StatusPagesComponentArrayIncluded' + type: array + type: object + StatusPagesComponentArray: + properties: + data: + items: + $ref: '#/components/schemas/StatusPagesComponentData' + type: array + included: + items: + $ref: '#/components/schemas/StatusPagesComponentArrayIncluded' + type: array + required: + - data + type: object + StatusPagesComponentArrayIncluded: + oneOf: + - $ref: '#/components/schemas/StatusPagesUser' + - $ref: '#/components/schemas/StatusPageAsIncluded' + - $ref: '#/components/schemas/StatusPagesComponentGroup' + StatusPagesComponentData: + properties: + attributes: + $ref: '#/components/schemas/StatusPagesComponentDataAttributes' + id: + type: string + relationships: + $ref: '#/components/schemas/StatusPagesComponentDataRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + StatusPagesComponentDataAttributes: + properties: + components: + items: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesComponentsItems' + type: array + created_at: + format: date-time + type: string + modified_at: + format: date-time + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + required: + - type + type: object + StatusPagesComponentDataAttributesComponentsItems: + properties: + id: + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPagesComponentDataAttributesStatus: + enum: + - operational + - degraded + - partial_outage + - major_outage + example: operational + type: string + x-enum-varnames: + - OPERATIONAL + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + StatusPagesComponentDataRelationships: + properties: + created_by_user: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsCreatedByUser' + group: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsGroup' + last_modified_by_user: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsLastModifiedByUser' + status_page: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsStatusPage' + type: object + StatusPagesComponentDataRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsCreatedByUserData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsCreatedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentDataRelationshipsGroup: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsGroupData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsGroupData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + - id + type: object + StatusPagesComponentDataRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsLastModifiedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentDataRelationshipsStatusPage: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsStatusPageData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsStatusPageData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object + StatusPagesComponentGroup: + properties: + attributes: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributes' + id: + type: string + relationships: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + StatusPagesComponentGroupAttributes: + properties: + components: + items: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItems' + type: array + created_at: + format: date-time + type: string + modified_at: + format: date-time + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + required: + - type + type: object + StatusPagesComponentGroupAttributesComponentsItems: + properties: + id: + readOnly: true + type: string + name: + type: string + position: + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPagesComponentGroupAttributesComponentsItemsStatus: + enum: + - operational + - degraded + - partial_outage + - major_outage + readOnly: true + type: string + x-enum-varnames: + - OPERATIONAL + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + StatusPagesComponentGroupAttributesComponentsItemsType: + enum: + - component + example: component + type: string + x-enum-varnames: + - COMPONENT + StatusPagesComponentGroupRelationships: + properties: + created_by_user: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsCreatedByUser' + group: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsGroup' + last_modified_by_user: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsLastModifiedByUser' + status_page: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsStatusPage' + type: object + StatusPagesComponentGroupRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsCreatedByUserData' + required: + - data + type: object + StatusPagesComponentGroupRelationshipsCreatedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsGroup: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsGroupData' + required: + - data + type: object + StatusPagesComponentGroupRelationshipsGroupData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPagesComponentGroupRelationshipsLastModifiedByUserData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsStatusPage: + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsStatusPageData' + required: + - data + type: object + StatusPagesComponentGroupRelationshipsStatusPageData: + properties: + id: + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object + StatusPagesComponentGroupType: + default: components + description: Components resource type. + enum: + - components + example: components + type: string + x-enum-varnames: + - COMPONENTS + StatusPagesUser: + properties: + attributes: + $ref: '#/components/schemas/StatusPagesUserAttributes' + id: + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + type: object + StatusPagesUserAttributes: + properties: + email: + type: string + handle: + type: string + icon: + type: string + name: + type: string + uuid: + type: string + type: object + StatusPagesUserType: + default: users + description: Users resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS Step: description: A Step is a sub-component of a workflow. Each Step performs an action. @@ -86683,6 +87982,650 @@ paths: tags: - Security Monitoring x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/statuspages: + get: + description: Lists all status pages for the organization. + operationId: ListStatusPages + parameters: + - description: Offset to use as the start of the page. + in: query + name: page[offset] + schema: + default: 0 + type: integer + - description: The number of status pages to return per page. + in: query + name: page[limit] + schema: + default: 50 + type: integer + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPageArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List status pages + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + post: + description: Creates a new status page. + operationId: CreateStatusPage + parameters: + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateStatusPageRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/degradations: + get: + description: Lists all degradations for the organization. Optionally filter + by status and page. + operationId: ListDegradations + parameters: + - description: Optional page id filter. + in: query + name: filter[page_id] + schema: + type: string + - description: Offset to use as the start of the page. + in: query + name: page[offset] + schema: + default: 0 + type: integer + - description: The number of degradations to return per page. + in: query + name: page[limit] + schema: + default: 50 + type: integer + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + - description: 'Optional degradation status filter. Supported values: investigating, + identified, monitoring, resolved.' + in: query + name: filter[status] + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DegradationArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List degradations + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + /api/v2/statuspages/{page_id}: + delete: + description: Deletes a status page by its ID. + operationId: DeleteStatusPage + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + get: + description: Retrieves a specific status page by its ID. + operationId: GetStatusPage + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing status page's attributes. + operationId: UpdateStatusPage + parameters: + - description: Whether to delete existing subscribers when updating a status + page's type. + in: query + name: delete_subscribers + schema: + default: false + type: boolean + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchStatusPageRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPage' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/components: + get: + description: Lists all components for a status page. + operationId: ListComponents + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPagesComponentArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List components + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + post: + description: Creates a new component. + operationId: CreateComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateComponentRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPagesComponent' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/components/{component_id}: + delete: + description: Deletes a component by its ID. + operationId: DeleteComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the component. + in: path + name: component_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + get: + description: Retrieves a specific component by its ID. + operationId: GetComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the component. + in: path + name: component_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPagesComponent' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing component's attributes. + operationId: UpdateComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the component. + in: path + name: component_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchComponentRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/StatusPagesComponent' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/degradations: + post: + description: Creates a new degradation. + operationId: CreateDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: Whether to notify page subscribers of the degradation or maintenance. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDegradationRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Degradation' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/degradations/{degradation_id}: + delete: + description: Deletes a degradation by its ID. + operationId: DeleteDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + get: + description: Retrieves a specific degradation by its ID. + operationId: GetDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Degradation' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing degradation's attributes. + operationId: UpdateDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: Whether to notify page subscribers of the degradation or maintenance. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchDegradationRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Degradation' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write /api/v2/synthetics/settings/on_demand_concurrency_cap: get: description: Get the on-demand concurrency cap. @@ -90955,6 +92898,8 @@ tags: name: Spans Metrics - description: API for static analysis name: Static Analysis +- description: Auto-generated tag Status Pages + name: Status Pages - description: "Datadog Synthetics uses simulated user requests and browser rendering to help you ensure uptime,\nidentify regional issues, and track your application performance. Datadog Synthetics tests come in\ntwo different flavors, [API tests](https://docs.datadoghq.com/synthetics/api_tests/)\nand diff --git a/docs/datadog_api_client.v2.api.rst b/docs/datadog_api_client.v2.api.rst index ef7c7e17c8..ac43d907b8 100644 --- a/docs/datadog_api_client.v2.api.rst +++ b/docs/datadog_api_client.v2.api.rst @@ -564,6 +564,13 @@ datadog\_api\_client.v2.api.static\_analysis\_api module :members: :show-inheritance: +datadog\_api\_client.v2.api.status\_pages\_api module +----------------------------------------------------- + +.. automodule:: datadog_api_client.v2.api.status_pages_api + :members: + :show-inheritance: + datadog\_api\_client.v2.api.synthetics\_api module -------------------------------------------------- diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 3435c17c29..e39c78e5fa 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -5254,6 +5254,62 @@ datadog\_api\_client.v2.model.create\_case\_request\_data\_relationships module :members: :show-inheritance: +datadog\_api\_client.v2.model.create\_component\_request module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_attributes module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_attributes\_components\_items module +---------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_attributes\_type module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_attributes_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_relationships module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_relationships\_group module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_relationships_group + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_component\_request\_data\_relationships\_group\_data module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_component_request_data_relationships_group_data + :members: + :show-inheritance: + datadog\_api\_client.v2.model.create\_connection\_request module ---------------------------------------------------------------- @@ -5331,6 +5387,41 @@ datadog\_api\_client.v2.model.create\_data\_deletion\_response\_body module :members: :show-inheritance: +datadog\_api\_client.v2.model.create\_degradation\_request module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_degradation\_request\_data module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_degradation\_request\_data\_attributes module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_degradation\_request\_data\_attributes\_components\_affected\_items module +---------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_degradation\_request\_data\_attributes\_status module +------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_degradation_request_data_attributes_status + :members: + :show-inheritance: + datadog\_api\_client.v2.model.create\_deployment\_gate\_params module --------------------------------------------------------------------- @@ -5660,6 +5751,55 @@ datadog\_api\_client.v2.model.create\_ruleset\_request\_data\_type module :members: :show-inheritance: +datadog\_api\_client.v2.model.create\_status\_page\_request module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_status_page_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes\_components\_items module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes\_components\_items\_components\_items module +-------------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes\_type module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_status\_page\_request\_data\_attributes\_visualization\_type module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.create\_table\_request module ----------------------------------------------------------- @@ -6843,6 +6983,111 @@ datadog\_api\_client.v2.model.datastore\_trigger\_wrapper module :members: :show-inheritance: +datadog\_api\_client.v2.model.degradation module +------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.degradation + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_array module +------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_array\_included module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_array_included + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data module +------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.degradation_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes\_components\_affected\_items module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes\_updates\_items module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes_updates_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes\_updates\_items\_components\_affected\_items module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes_updates_items_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_created\_by\_user module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_created_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_created\_by\_user\_data module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_last\_modified\_by\_user module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_last\_modified\_by\_user\_data module +----------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_status\_page module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_status_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_relationships\_status\_page\_data module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_relationships_status_page_data + :members: + :show-inheritance: + datadog\_api\_client.v2.model.delete\_app\_response module ---------------------------------------------------------- @@ -17819,6 +18064,69 @@ datadog\_api\_client.v2.model.patch\_attachment\_request\_data\_attributes\_atta :members: :show-inheritance: +datadog\_api\_client.v2.model.patch\_component\_request module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_component_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_component\_request\_data module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_component_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_component\_request\_data\_attributes module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_component_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_degradation\_request module +---------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_degradation_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_degradation\_request\_data module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_degradation\_request\_data\_attributes module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_degradation\_request\_data\_attributes\_components\_affected\_items module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data_attributes_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_degradation\_request\_data\_attributes\_status module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data_attributes_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_degradation\_request\_data\_type module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_degradation_request_data_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.patch\_incident\_notification\_template\_request module ------------------------------------------------------------------------------------- @@ -17847,6 +18155,27 @@ datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters\_data\_attri :members: :show-inheritance: +datadog\_api\_client.v2.model.patch\_status\_page\_request module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_status_page_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_status\_page\_request\_data module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_status_page_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_status\_page\_request\_data\_attributes module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_status_page_request_data_attributes + :members: + :show-inheritance: + datadog\_api\_client.v2.model.patch\_table\_request module ---------------------------------------------------------- @@ -23776,6 +24105,398 @@ datadog\_api\_client.v2.model.statsig\_integration\_update module :members: :show-inheritance: +datadog\_api\_client.v2.model.status\_page module +------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_array module +-------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_array\_included module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_page_array_included + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included module +--------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_as_included + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included\_attributes module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_as_included_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included\_attributes\_components\_items module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_as_included_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included\_attributes\_components\_items\_components\_items module +----------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_as_included_attributes_components_items_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships\_created\_by\_user module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships\_created\_by\_user\_data module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships\_last\_modified\_by\_user module +-------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_as\_included\_relationships\_last\_modified\_by\_user\_data module +-------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data module +------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_attributes module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_attributes\_components\_items module +-------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_data_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_attributes\_components\_items\_components\_items module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_data_attributes_components_items_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_relationships module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_relationships\_created\_by\_user module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships_created_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_relationships\_created\_by\_user\_data module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_relationships\_last\_modified\_by\_user module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_relationships\_last\_modified\_by\_user\_data module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_page\_data\_type module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_page_data_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_array module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_array\_included module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_array_included + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_attributes module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_attributes\_components\_items module +-------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_attributes\_status module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_attributes_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_created\_by\_user module +----------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_created\_by\_user\_data module +----------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_group module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_group + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_group\_data module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_group_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_last\_modified\_by\_user module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_last\_modified\_by\_user\_data module +------------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_status\_page module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_status_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_data\_relationships\_status\_page\_data module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_data_relationships_status_page_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_attributes module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_attributes\_components\_items module +--------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_attributes_components_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_attributes\_components\_items\_status module +----------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_attributes\_components\_items\_type module +--------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_created\_by\_user module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_created\_by\_user\_data module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_group module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_group + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_group\_data module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_group_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_last\_modified\_by\_user module +------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_last\_modified\_by\_user\_data module +------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_status\_page module +------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_status_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_relationships\_status\_page\_data module +------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_relationships_status_page_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_component\_group\_type module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_component_group_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_user module +-------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_user\_attributes module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_user_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.status\_pages\_user\_type module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.status_pages_user_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.step module ----------------------------------------- diff --git a/examples/v2/status-pages/CreateComponent.py b/examples/v2/status-pages/CreateComponent.py new file mode 100644 index 0000000000..83bb32f27d --- /dev/null +++ b/examples/v2/status-pages/CreateComponent.py @@ -0,0 +1,35 @@ +""" +Create component returns "Created" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.create_component_request import CreateComponentRequest +from datadog_api_client.v2.model.create_component_request_data import CreateComponentRequestData +from datadog_api_client.v2.model.create_component_request_data_attributes import CreateComponentRequestDataAttributes +from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, +) +from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = CreateComponentRequest( + data=CreateComponentRequestData( + attributes=CreateComponentRequestDataAttributes( + name="5e2fd69be33e79aa", + position=0, + type=CreateComponentRequestDataAttributesType.COMPONENT, + ), + type=StatusPagesComponentGroupType.COMPONENTS, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.create_component(page_id=STATUS_PAGE_DATA_ID, body=body) + + print(response) diff --git a/examples/v2/status-pages/CreateDegradation.py b/examples/v2/status-pages/CreateDegradation.py new file mode 100644 index 0000000000..a48f807978 --- /dev/null +++ b/examples/v2/status-pages/CreateDegradation.py @@ -0,0 +1,50 @@ +""" +Create degradation returns "Created" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.create_degradation_request import CreateDegradationRequest +from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData +from datadog_api_client.v2.model.create_degradation_request_data_attributes import ( + CreateDegradationRequestDataAttributes, +) +from datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items import ( + CreateDegradationRequestDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, +) +from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType +from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, +) + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID = environ["STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID"] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = CreateDegradationRequest( + data=CreateDegradationRequestData( + attributes=CreateDegradationRequestDataAttributes( + components_affected=[ + CreateDegradationRequestDataAttributesComponentsAffectedItems( + id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, + status=StatusPagesComponentDataAttributesStatus.MAJOR_OUTAGE, + ), + ], + description="5e2fd69be33e79aa", + status=CreateDegradationRequestDataAttributesStatus.INVESTIGATING, + title="5e2fd69be33e79aa", + ), + type=PatchDegradationRequestDataType.DEGRADATIONS, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.create_degradation(page_id=STATUS_PAGE_DATA_ID, body=body) + + print(response) diff --git a/examples/v2/status-pages/CreateStatusPage.py b/examples/v2/status-pages/CreateStatusPage.py new file mode 100644 index 0000000000..09d04455f6 --- /dev/null +++ b/examples/v2/status-pages/CreateStatusPage.py @@ -0,0 +1,36 @@ +""" +Create status page returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.create_status_page_request import CreateStatusPageRequest +from datadog_api_client.v2.model.create_status_page_request_data import CreateStatusPageRequestData +from datadog_api_client.v2.model.create_status_page_request_data_attributes import CreateStatusPageRequestDataAttributes +from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, +) +from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + +body = CreateStatusPageRequest( + data=CreateStatusPageRequestData( + attributes=CreateStatusPageRequestDataAttributes( + name="[DD Integration Tests] 5e2fd69be33e79aa", + domain_prefix="dd-integrations-tests-5e2fd69be33e79aa", + enabled=True, + type=CreateStatusPageRequestDataAttributesType.INTERNAL, + visualization_type=CreateStatusPageRequestDataAttributesVisualizationType.BARS_AND_UPTIME_PERCENTAGE, + ), + type=StatusPageDataType.STATUS_PAGES, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.create_status_page(body=body) + + print(response) diff --git a/examples/v2/status-pages/DeleteComponent.py b/examples/v2/status-pages/DeleteComponent.py new file mode 100644 index 0000000000..f621b4afd5 --- /dev/null +++ b/examples/v2/status-pages/DeleteComponent.py @@ -0,0 +1,19 @@ +""" +Delete component returns "No Content" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID = environ["STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID"] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + api_instance.delete_component( + page_id=STATUS_PAGE_DATA_ID, + component_id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, + ) diff --git a/examples/v2/status-pages/DeleteDegradation.py b/examples/v2/status-pages/DeleteDegradation.py new file mode 100644 index 0000000000..3842d3b0a0 --- /dev/null +++ b/examples/v2/status-pages/DeleteDegradation.py @@ -0,0 +1,21 @@ +""" +Delete degradation returns "No Content" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +# there is a valid "degradation" in the system +DEGRADATION_DATA_ID = environ["DEGRADATION_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + api_instance.delete_degradation( + page_id=STATUS_PAGE_DATA_ID, + degradation_id=DEGRADATION_DATA_ID, + ) diff --git a/examples/v2/status-pages/DeleteStatusPage.py b/examples/v2/status-pages/DeleteStatusPage.py new file mode 100644 index 0000000000..13d0106083 --- /dev/null +++ b/examples/v2/status-pages/DeleteStatusPage.py @@ -0,0 +1,17 @@ +""" +Delete status page returns "No Content" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + api_instance.delete_status_page( + page_id=STATUS_PAGE_DATA_ID, + ) diff --git a/examples/v2/status-pages/GetComponent.py b/examples/v2/status-pages/GetComponent.py new file mode 100644 index 0000000000..d4ddbccb56 --- /dev/null +++ b/examples/v2/status-pages/GetComponent.py @@ -0,0 +1,21 @@ +""" +Get component returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID = environ["STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID"] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.get_component( + page_id=STATUS_PAGE_DATA_ID, + component_id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/GetDegradation.py b/examples/v2/status-pages/GetDegradation.py new file mode 100644 index 0000000000..423e2a5cea --- /dev/null +++ b/examples/v2/status-pages/GetDegradation.py @@ -0,0 +1,23 @@ +""" +Get degradation returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +# there is a valid "degradation" in the system +DEGRADATION_DATA_ID = environ["DEGRADATION_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.get_degradation( + page_id=STATUS_PAGE_DATA_ID, + degradation_id=DEGRADATION_DATA_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/GetStatusPage.py b/examples/v2/status-pages/GetStatusPage.py new file mode 100644 index 0000000000..81e7244d36 --- /dev/null +++ b/examples/v2/status-pages/GetStatusPage.py @@ -0,0 +1,19 @@ +""" +Get status page returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.get_status_page( + page_id=STATUS_PAGE_DATA_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/ListComponents.py b/examples/v2/status-pages/ListComponents.py new file mode 100644 index 0000000000..db63373f0e --- /dev/null +++ b/examples/v2/status-pages/ListComponents.py @@ -0,0 +1,19 @@ +""" +List components returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.list_components( + page_id=STATUS_PAGE_DATA_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/ListDegradations.py b/examples/v2/status-pages/ListDegradations.py new file mode 100644 index 0000000000..807a9b8d8e --- /dev/null +++ b/examples/v2/status-pages/ListDegradations.py @@ -0,0 +1,13 @@ +""" +List degradations returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.list_degradations() + + print(response) diff --git a/examples/v2/status-pages/ListStatusPages.py b/examples/v2/status-pages/ListStatusPages.py new file mode 100644 index 0000000000..92c132ee26 --- /dev/null +++ b/examples/v2/status-pages/ListStatusPages.py @@ -0,0 +1,13 @@ +""" +List status pages returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.list_status_pages() + + print(response) diff --git a/examples/v2/status-pages/UpdateComponent.py b/examples/v2/status-pages/UpdateComponent.py new file mode 100644 index 0000000000..d513f78617 --- /dev/null +++ b/examples/v2/status-pages/UpdateComponent.py @@ -0,0 +1,34 @@ +""" +Update component returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.patch_component_request import PatchComponentRequest +from datadog_api_client.v2.model.patch_component_request_data import PatchComponentRequestData +from datadog_api_client.v2.model.patch_component_request_data_attributes import PatchComponentRequestDataAttributes +from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID = environ["STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID"] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = PatchComponentRequest( + data=PatchComponentRequestData( + attributes=PatchComponentRequestDataAttributes( + name="5e2fd69be33e79aa", + ), + id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, + type=StatusPagesComponentGroupType.COMPONENTS, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.update_component( + page_id=STATUS_PAGE_DATA_ID, component_id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_ID, body=body + ) + + print(response) diff --git a/examples/v2/status-pages/UpdateDegradation.py b/examples/v2/status-pages/UpdateDegradation.py new file mode 100644 index 0000000000..2c7bf3e9ed --- /dev/null +++ b/examples/v2/status-pages/UpdateDegradation.py @@ -0,0 +1,36 @@ +""" +Update degradation returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.patch_degradation_request import PatchDegradationRequest +from datadog_api_client.v2.model.patch_degradation_request_data import PatchDegradationRequestData +from datadog_api_client.v2.model.patch_degradation_request_data_attributes import PatchDegradationRequestDataAttributes +from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +# there is a valid "degradation" in the system +DEGRADATION_DATA_ID = environ["DEGRADATION_DATA_ID"] + +body = PatchDegradationRequest( + data=PatchDegradationRequestData( + attributes=PatchDegradationRequestDataAttributes( + title="5e2fd69be33e79aa", + ), + id=DEGRADATION_DATA_ID, + type=PatchDegradationRequestDataType.DEGRADATIONS, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.update_degradation( + page_id=STATUS_PAGE_DATA_ID, degradation_id=DEGRADATION_DATA_ID, body=body + ) + + print(response) diff --git a/examples/v2/status-pages/UpdateStatusPage.py b/examples/v2/status-pages/UpdateStatusPage.py new file mode 100644 index 0000000000..487156372c --- /dev/null +++ b/examples/v2/status-pages/UpdateStatusPage.py @@ -0,0 +1,31 @@ +""" +Update status page returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.patch_status_page_request import PatchStatusPageRequest +from datadog_api_client.v2.model.patch_status_page_request_data import PatchStatusPageRequestData +from datadog_api_client.v2.model.patch_status_page_request_data_attributes import PatchStatusPageRequestDataAttributes +from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = PatchStatusPageRequest( + data=PatchStatusPageRequestData( + attributes=PatchStatusPageRequestDataAttributes( + name="[DD Integration Tests] 5e2fd69be33e79aa", + ), + id=STATUS_PAGE_DATA_ID, + type=StatusPageDataType.STATUS_PAGES, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.update_status_page(page_id=STATUS_PAGE_DATA_ID, body=body) + + print(response) diff --git a/src/datadog_api_client/v2/api/status_pages_api.py b/src/datadog_api_client/v2/api/status_pages_api.py new file mode 100644 index 0000000000..8bc62fba18 --- /dev/null +++ b/src/datadog_api_client/v2/api/status_pages_api.py @@ -0,0 +1,955 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.api_client import ApiClient, Endpoint as _Endpoint +from datadog_api_client.configuration import Configuration +from datadog_api_client.model_utils import ( + UnsetType, + unset, + UUID, +) +from datadog_api_client.v2.model.status_page_array import StatusPageArray +from datadog_api_client.v2.model.status_page import StatusPage +from datadog_api_client.v2.model.create_status_page_request import CreateStatusPageRequest +from datadog_api_client.v2.model.degradation_array import DegradationArray +from datadog_api_client.v2.model.patch_status_page_request import PatchStatusPageRequest +from datadog_api_client.v2.model.status_pages_component_array import StatusPagesComponentArray +from datadog_api_client.v2.model.status_pages_component import StatusPagesComponent +from datadog_api_client.v2.model.create_component_request import CreateComponentRequest +from datadog_api_client.v2.model.patch_component_request import PatchComponentRequest +from datadog_api_client.v2.model.degradation import Degradation +from datadog_api_client.v2.model.create_degradation_request import CreateDegradationRequest +from datadog_api_client.v2.model.patch_degradation_request import PatchDegradationRequest + + +class StatusPagesApi: + """ + Auto-generated tag Status Pages + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient(Configuration()) + self.api_client = api_client + + self._create_component_endpoint = _Endpoint( + settings={ + "response_type": (StatusPagesComponent,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components", + "operation_id": "create_component", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (CreateComponentRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_degradation_endpoint = _Endpoint( + settings={ + "response_type": (Degradation,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/degradations", + "operation_id": "create_degradation", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "notify_subscribers": { + "openapi_types": (bool,), + "attribute": "notify_subscribers", + "location": "query", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (CreateDegradationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._create_status_page_endpoint = _Endpoint( + settings={ + "response_type": (StatusPage,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages", + "operation_id": "create_status_page", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (CreateStatusPageRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._delete_component_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components/{component_id}", + "operation_id": "delete_component", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "component_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "component_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_degradation_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/degradations/{degradation_id}", + "operation_id": "delete_degradation", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "degradation_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "degradation_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_status_page_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}", + "operation_id": "delete_status_page", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._get_component_endpoint = _Endpoint( + settings={ + "response_type": (StatusPagesComponent,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components/{component_id}", + "operation_id": "get_component", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "component_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "component_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_degradation_endpoint = _Endpoint( + settings={ + "response_type": (Degradation,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/degradations/{degradation_id}", + "operation_id": "get_degradation", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "degradation_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "degradation_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._get_status_page_endpoint = _Endpoint( + settings={ + "response_type": (StatusPage,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}", + "operation_id": "get_status_page", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_components_endpoint = _Endpoint( + settings={ + "response_type": (StatusPagesComponentArray,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components", + "operation_id": "list_components", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_degradations_endpoint = _Endpoint( + settings={ + "response_type": (DegradationArray,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/degradations", + "operation_id": "list_degradations", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "filter_page_id": { + "openapi_types": (str,), + "attribute": "filter[page_id]", + "location": "query", + }, + "page_offset": { + "openapi_types": (int,), + "attribute": "page[offset]", + "location": "query", + }, + "page_limit": { + "openapi_types": (int,), + "attribute": "page[limit]", + "location": "query", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "filter_status": { + "openapi_types": (str,), + "attribute": "filter[status]", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_status_pages_endpoint = _Endpoint( + settings={ + "response_type": (StatusPageArray,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages", + "operation_id": "list_status_pages", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_offset": { + "openapi_types": (int,), + "attribute": "page[offset]", + "location": "query", + }, + "page_limit": { + "openapi_types": (int,), + "attribute": "page[limit]", + "location": "query", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._update_component_endpoint = _Endpoint( + settings={ + "response_type": (StatusPagesComponent,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/components/{component_id}", + "operation_id": "update_component", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "component_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "component_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PatchComponentRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_degradation_endpoint = _Endpoint( + settings={ + "response_type": (Degradation,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/degradations/{degradation_id}", + "operation_id": "update_degradation", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "notify_subscribers": { + "openapi_types": (bool,), + "attribute": "notify_subscribers", + "location": "query", + }, + "degradation_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "degradation_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PatchDegradationRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._update_status_page_endpoint = _Endpoint( + settings={ + "response_type": (StatusPage,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}", + "operation_id": "update_status_page", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "delete_subscribers": { + "openapi_types": (bool,), + "attribute": "delete_subscribers", + "location": "query", + }, + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PatchStatusPageRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + def create_component( + self, + page_id: UUID, + body: CreateComponentRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPagesComponent: + """Create component. + + Creates a new component. + + :param page_id: The ID of the status page. + :type page_id: UUID + :type body: CreateComponentRequest + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group. + :type include: str, optional + :rtype: StatusPagesComponent + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_component_endpoint.call_with_http_info(**kwargs) + + def create_degradation( + self, + page_id: UUID, + body: CreateDegradationRequest, + *, + notify_subscribers: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> Degradation: + """Create degradation. + + Creates a new degradation. + + :param page_id: The ID of the status page. + :type page_id: UUID + :type body: CreateDegradationRequest + :param notify_subscribers: Whether to notify page subscribers of the degradation or maintenance. + :type notify_subscribers: bool, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page. + :type include: str, optional + :rtype: Degradation + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if notify_subscribers is not unset: + kwargs["notify_subscribers"] = notify_subscribers + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_degradation_endpoint.call_with_http_info(**kwargs) + + def create_status_page( + self, + body: CreateStatusPageRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPage: + """Create status page. + + Creates a new status page. + + :type body: CreateStatusPageRequest + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user. + :type include: str, optional + :rtype: StatusPage + """ + kwargs: Dict[str, Any] = {} + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._create_status_page_endpoint.call_with_http_info(**kwargs) + + def delete_component( + self, + page_id: UUID, + component_id: UUID, + ) -> None: + """Delete component. + + Deletes a component by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param component_id: The ID of the component. + :type component_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["component_id"] = component_id + + return self._delete_component_endpoint.call_with_http_info(**kwargs) + + def delete_degradation( + self, + page_id: UUID, + degradation_id: UUID, + ) -> None: + """Delete degradation. + + Deletes a degradation by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param degradation_id: The ID of the degradation. + :type degradation_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["degradation_id"] = degradation_id + + return self._delete_degradation_endpoint.call_with_http_info(**kwargs) + + def delete_status_page( + self, + page_id: UUID, + ) -> None: + """Delete status page. + + Deletes a status page by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + return self._delete_status_page_endpoint.call_with_http_info(**kwargs) + + def get_component( + self, + page_id: UUID, + component_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPagesComponent: + """Get component. + + Retrieves a specific component by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param component_id: The ID of the component. + :type component_id: UUID + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group. + :type include: str, optional + :rtype: StatusPagesComponent + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["component_id"] = component_id + + if include is not unset: + kwargs["include"] = include + + return self._get_component_endpoint.call_with_http_info(**kwargs) + + def get_degradation( + self, + page_id: UUID, + degradation_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> Degradation: + """Get degradation. + + Retrieves a specific degradation by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param degradation_id: The ID of the degradation. + :type degradation_id: UUID + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page. + :type include: str, optional + :rtype: Degradation + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["degradation_id"] = degradation_id + + if include is not unset: + kwargs["include"] = include + + return self._get_degradation_endpoint.call_with_http_info(**kwargs) + + def get_status_page( + self, + page_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPage: + """Get status page. + + Retrieves a specific status page by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user. + :type include: str, optional + :rtype: StatusPage + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if include is not unset: + kwargs["include"] = include + + return self._get_status_page_endpoint.call_with_http_info(**kwargs) + + def list_components( + self, + page_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPagesComponentArray: + """List components. + + Lists all components for a status page. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group. + :type include: str, optional + :rtype: StatusPagesComponentArray + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if include is not unset: + kwargs["include"] = include + + return self._list_components_endpoint.call_with_http_info(**kwargs) + + def list_degradations( + self, + *, + filter_page_id: Union[str, UnsetType] = unset, + page_offset: Union[int, UnsetType] = unset, + page_limit: Union[int, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + filter_status: Union[str, UnsetType] = unset, + ) -> DegradationArray: + """List degradations. + + Lists all degradations for the organization. Optionally filter by status and page. + + :param filter_page_id: Optional page id filter. + :type filter_page_id: str, optional + :param page_offset: Offset to use as the start of the page. + :type page_offset: int, optional + :param page_limit: The number of degradations to return per page. + :type page_limit: int, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page. + :type include: str, optional + :param filter_status: Optional degradation status filter. Supported values: investigating, identified, monitoring, resolved. + :type filter_status: str, optional + :rtype: DegradationArray + """ + kwargs: Dict[str, Any] = {} + if filter_page_id is not unset: + kwargs["filter_page_id"] = filter_page_id + + if page_offset is not unset: + kwargs["page_offset"] = page_offset + + if page_limit is not unset: + kwargs["page_limit"] = page_limit + + if include is not unset: + kwargs["include"] = include + + if filter_status is not unset: + kwargs["filter_status"] = filter_status + + return self._list_degradations_endpoint.call_with_http_info(**kwargs) + + def list_status_pages( + self, + *, + page_offset: Union[int, UnsetType] = unset, + page_limit: Union[int, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> StatusPageArray: + """List status pages. + + Lists all status pages for the organization. + + :param page_offset: Offset to use as the start of the page. + :type page_offset: int, optional + :param page_limit: The number of status pages to return per page. + :type page_limit: int, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user. + :type include: str, optional + :rtype: StatusPageArray + """ + kwargs: Dict[str, Any] = {} + if page_offset is not unset: + kwargs["page_offset"] = page_offset + + if page_limit is not unset: + kwargs["page_limit"] = page_limit + + if include is not unset: + kwargs["include"] = include + + return self._list_status_pages_endpoint.call_with_http_info(**kwargs) + + def update_component( + self, + page_id: UUID, + component_id: UUID, + body: PatchComponentRequest, + *, + include: Union[str, UnsetType] = unset, + ) -> StatusPagesComponent: + """Update component. + + Updates an existing component's attributes. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param component_id: The ID of the component. + :type component_id: UUID + :type body: PatchComponentRequest + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group. + :type include: str, optional + :rtype: StatusPagesComponent + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["component_id"] = component_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_component_endpoint.call_with_http_info(**kwargs) + + def update_degradation( + self, + page_id: UUID, + degradation_id: UUID, + body: PatchDegradationRequest, + *, + notify_subscribers: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> Degradation: + """Update degradation. + + Updates an existing degradation's attributes. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param degradation_id: The ID of the degradation. + :type degradation_id: UUID + :type body: PatchDegradationRequest + :param notify_subscribers: Whether to notify page subscribers of the degradation or maintenance. + :type notify_subscribers: bool, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page. + :type include: str, optional + :rtype: Degradation + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if notify_subscribers is not unset: + kwargs["notify_subscribers"] = notify_subscribers + + kwargs["degradation_id"] = degradation_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_degradation_endpoint.call_with_http_info(**kwargs) + + def update_status_page( + self, + page_id: UUID, + body: PatchStatusPageRequest, + *, + delete_subscribers: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> StatusPage: + """Update status page. + + Updates an existing status page's attributes. + + :param page_id: The ID of the status page. + :type page_id: UUID + :type body: PatchStatusPageRequest + :param delete_subscribers: Whether to delete existing subscribers when updating a status page's type. + :type delete_subscribers: bool, optional + :param include: Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user. + :type include: str, optional + :rtype: StatusPage + """ + kwargs: Dict[str, Any] = {} + if delete_subscribers is not unset: + kwargs["delete_subscribers"] = delete_subscribers + + kwargs["page_id"] = page_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_status_page_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/apis/__init__.py b/src/datadog_api_client/v2/apis/__init__.py index 35ab810c4a..8efbfe9e3f 100644 --- a/src/datadog_api_client/v2/apis/__init__.py +++ b/src/datadog_api_client/v2/apis/__init__.py @@ -78,6 +78,7 @@ from datadog_api_client.v2.api.spans_api import SpansApi from datadog_api_client.v2.api.spans_metrics_api import SpansMetricsApi from datadog_api_client.v2.api.static_analysis_api import StaticAnalysisApi +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi from datadog_api_client.v2.api.synthetics_api import SyntheticsApi from datadog_api_client.v2.api.teams_api import TeamsApi from datadog_api_client.v2.api.test_optimization_api import TestOptimizationApi @@ -167,6 +168,7 @@ "SpansApi", "SpansMetricsApi", "StaticAnalysisApi", + "StatusPagesApi", "SyntheticsApi", "TeamsApi", "TestOptimizationApi", diff --git a/src/datadog_api_client/v2/model/create_component_request.py b/src/datadog_api_client/v2/model/create_component_request.py new file mode 100644 index 0000000000..36bd3b050d --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_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 Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_component_request_data import CreateComponentRequestData + + +class CreateComponentRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data import CreateComponentRequestData + + return { + "data": (CreateComponentRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[CreateComponentRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: CreateComponentRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_component_request_data.py b/src/datadog_api_client/v2/model/create_component_request_data.py new file mode 100644 index 0000000000..9c9453ee23 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data.py @@ -0,0 +1,74 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.create_component_request_data_attributes import ( + CreateComponentRequestDataAttributes, + ) + from datadog_api_client.v2.model.create_component_request_data_relationships import ( + CreateComponentRequestDataRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class CreateComponentRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data_attributes import ( + CreateComponentRequestDataAttributes, + ) + from datadog_api_client.v2.model.create_component_request_data_relationships import ( + CreateComponentRequestDataRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "attributes": (CreateComponentRequestDataAttributes,), + "relationships": (CreateComponentRequestDataRelationships,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "attributes": "attributes", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesComponentGroupType, + attributes: Union[CreateComponentRequestDataAttributes, UnsetType] = unset, + relationships: Union[CreateComponentRequestDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: CreateComponentRequestDataAttributes, optional + + :param relationships: + :type relationships: CreateComponentRequestDataRelationships, optional + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_component_request_data_attributes.py b/src/datadog_api_client/v2/model/create_component_request_data_attributes.py new file mode 100644 index 0000000000..d7b1fb5b9d --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_attributes.py @@ -0,0 +1,78 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.create_component_request_data_attributes_components_items import ( + CreateComponentRequestDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class CreateComponentRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data_attributes_components_items import ( + CreateComponentRequestDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([CreateComponentRequestDataAttributesComponentsItems],), + "name": (str,), + "position": (int,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "name": "name", + "position": "position", + "type": "type", + } + + def __init__( + self_, + name: str, + position: int, + type: CreateComponentRequestDataAttributesType, + components: Union[List[CreateComponentRequestDataAttributesComponentsItems], UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: + :type components: [CreateComponentRequestDataAttributesComponentsItems], optional + + :param name: + :type name: str + + :param position: + :type position: int + + :param type: + :type type: CreateComponentRequestDataAttributesType + """ + if components is not unset: + kwargs["components"] = components + super().__init__(kwargs) + + self_.name = name + self_.position = position + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_component_request_data_attributes_components_items.py b/src/datadog_api_client/v2/model/create_component_request_data_attributes_components_items.py new file mode 100644 index 0000000000..6e187076cc --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_attributes_components_items.py @@ -0,0 +1,58 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class CreateComponentRequestDataAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "name": (str,), + "position": (int,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "name": "name", + "position": "position", + "type": "type", + } + + def __init__( + self_, name: str, position: int, type: StatusPagesComponentGroupAttributesComponentsItemsType, **kwargs + ): + """ + + + :param name: + :type name: str + + :param position: + :type position: int + + :param type: + :type type: StatusPagesComponentGroupAttributesComponentsItemsType + """ + super().__init__(kwargs) + + self_.name = name + self_.position = position + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_component_request_data_attributes_type.py b/src/datadog_api_client/v2/model/create_component_request_data_attributes_type.py new file mode 100644 index 0000000000..2184f75693 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_attributes_type.py @@ -0,0 +1,38 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class CreateComponentRequestDataAttributesType(ModelSimple): + """ + + + :param value: Must be one of ["component", "group"]. + :type value: str + """ + + allowed_values = { + "component", + "group", + } + COMPONENT: ClassVar["CreateComponentRequestDataAttributesType"] + GROUP: ClassVar["CreateComponentRequestDataAttributesType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +CreateComponentRequestDataAttributesType.COMPONENT = CreateComponentRequestDataAttributesType("component") +CreateComponentRequestDataAttributesType.GROUP = CreateComponentRequestDataAttributesType("group") diff --git a/src/datadog_api_client/v2/model/create_component_request_data_relationships.py b/src/datadog_api_client/v2/model/create_component_request_data_relationships.py new file mode 100644 index 0000000000..74d2c78aa2 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_relationships.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.create_component_request_data_relationships_group import ( + CreateComponentRequestDataRelationshipsGroup, + ) + + +class CreateComponentRequestDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data_relationships_group import ( + CreateComponentRequestDataRelationshipsGroup, + ) + + return { + "group": (CreateComponentRequestDataRelationshipsGroup,), + } + + attribute_map = { + "group": "group", + } + + def __init__(self_, group: Union[CreateComponentRequestDataRelationshipsGroup, UnsetType] = unset, **kwargs): + """ + + + :param group: + :type group: CreateComponentRequestDataRelationshipsGroup, optional + """ + if group is not unset: + kwargs["group"] = group + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_component_request_data_relationships_group.py b/src/datadog_api_client/v2/model/create_component_request_data_relationships_group.py new file mode 100644 index 0000000000..a918e481a6 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_relationships_group.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.create_component_request_data_relationships_group_data import ( + CreateComponentRequestDataRelationshipsGroupData, + ) + + +class CreateComponentRequestDataRelationshipsGroup(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_component_request_data_relationships_group_data import ( + CreateComponentRequestDataRelationshipsGroupData, + ) + + return { + "data": (CreateComponentRequestDataRelationshipsGroupData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: CreateComponentRequestDataRelationshipsGroupData, **kwargs): + """ + + + :param data: + :type data: CreateComponentRequestDataRelationshipsGroupData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/create_component_request_data_relationships_group_data.py b/src/datadog_api_client/v2/model/create_component_request_data_relationships_group_data.py new file mode 100644 index 0000000000..6962724d8b --- /dev/null +++ b/src/datadog_api_client/v2/model/create_component_request_data_relationships_group_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class CreateComponentRequestDataRelationshipsGroupData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "id": (str,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesComponentGroupType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_degradation_request.py b/src/datadog_api_client/v2/model/create_degradation_request.py new file mode 100644 index 0000000000..dabff86c80 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_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 Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData + + +class CreateDegradationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData + + return { + "data": (CreateDegradationRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[CreateDegradationRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: CreateDegradationRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_degradation_request_data.py b/src/datadog_api_client/v2/model/create_degradation_request_data.py new file mode 100644 index 0000000000..04610559e2 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_request_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 Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_degradation_request_data_attributes import ( + CreateDegradationRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + +class CreateDegradationRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_degradation_request_data_attributes import ( + CreateDegradationRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + return { + "attributes": (CreateDegradationRequestDataAttributes,), + "type": (PatchDegradationRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + type: PatchDegradationRequestDataType, + attributes: Union[CreateDegradationRequestDataAttributes, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: CreateDegradationRequestDataAttributes, optional + + :param type: Degradations resource type. + :type type: PatchDegradationRequestDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_degradation_request_data_attributes.py b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes.py new file mode 100644 index 0000000000..9b5ee1671c --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes.py @@ -0,0 +1,78 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.create_degradation_request_data_attributes_components_affected_items import ( + CreateDegradationRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + + +class CreateDegradationRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items import ( + CreateDegradationRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + + return { + "components_affected": ([CreateDegradationRequestDataAttributesComponentsAffectedItems],), + "description": (str,), + "status": (CreateDegradationRequestDataAttributesStatus,), + "title": (str,), + } + + attribute_map = { + "components_affected": "components_affected", + "description": "description", + "status": "status", + "title": "title", + } + + def __init__( + self_, + components_affected: List[CreateDegradationRequestDataAttributesComponentsAffectedItems], + status: CreateDegradationRequestDataAttributesStatus, + title: str, + description: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components_affected: + :type components_affected: [CreateDegradationRequestDataAttributesComponentsAffectedItems] + + :param description: + :type description: str, optional + + :param status: + :type status: CreateDegradationRequestDataAttributesStatus + + :param title: + :type title: str + """ + if description is not unset: + kwargs["description"] = description + super().__init__(kwargs) + + self_.components_affected = components_affected + self_.status = status + self_.title = title diff --git a/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..474ee0c334 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_components_affected_items.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + +class CreateDegradationRequestDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + return { + "id": (str,), + "name": (str,), + "status": (StatusPagesComponentDataAttributesStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, id: str, status: StatusPagesComponentDataAttributesStatus, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + + + :param id: + :type id: str + + :param name: + :type name: str, optional + + :param status: + :type status: StatusPagesComponentDataAttributesStatus + """ + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) + + self_.id = id + self_.status = status diff --git a/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_status.py b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_status.py new file mode 100644 index 0000000000..c334150209 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_degradation_request_data_attributes_status.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 ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class CreateDegradationRequestDataAttributesStatus(ModelSimple): + """ + + + :param value: Must be one of ["investigating", "identified", "monitoring", "resolved"]. + :type value: str + """ + + allowed_values = { + "investigating", + "identified", + "monitoring", + "resolved", + } + INVESTIGATING: ClassVar["CreateDegradationRequestDataAttributesStatus"] + IDENTIFIED: ClassVar["CreateDegradationRequestDataAttributesStatus"] + MONITORING: ClassVar["CreateDegradationRequestDataAttributesStatus"] + RESOLVED: ClassVar["CreateDegradationRequestDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +CreateDegradationRequestDataAttributesStatus.INVESTIGATING = CreateDegradationRequestDataAttributesStatus( + "investigating" +) +CreateDegradationRequestDataAttributesStatus.IDENTIFIED = CreateDegradationRequestDataAttributesStatus("identified") +CreateDegradationRequestDataAttributesStatus.MONITORING = CreateDegradationRequestDataAttributesStatus("monitoring") +CreateDegradationRequestDataAttributesStatus.RESOLVED = CreateDegradationRequestDataAttributesStatus("resolved") diff --git a/src/datadog_api_client/v2/model/create_status_page_request.py b/src/datadog_api_client/v2/model/create_status_page_request.py new file mode 100644 index 0000000000..ec77fbd710 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_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 Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_status_page_request_data import CreateStatusPageRequestData + + +class CreateStatusPageRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data import CreateStatusPageRequestData + + return { + "data": (CreateStatusPageRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[CreateStatusPageRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: CreateStatusPageRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data.py b/src/datadog_api_client/v2/model/create_status_page_request_data.py new file mode 100644 index 0000000000..7848023412 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_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 Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_status_page_request_data_attributes import ( + CreateStatusPageRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class CreateStatusPageRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data_attributes import ( + CreateStatusPageRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "attributes": (CreateStatusPageRequestDataAttributes,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + type: StatusPageDataType, + attributes: Union[CreateStatusPageRequestDataAttributes, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: CreateStatusPageRequestDataAttributes, optional + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes.py new file mode 100644 index 0000000000..91371f8b5e --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes.py @@ -0,0 +1,130 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.create_status_page_request_data_attributes_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + +class CreateStatusPageRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + return { + "company_logo": (str,), + "components": ([CreateStatusPageRequestDataAttributesComponentsItems],), + "domain_prefix": (str,), + "email_header_image": (str,), + "enabled": (bool,), + "favicon": (str,), + "name": (str,), + "subscriptions_enabled": (bool,), + "type": (CreateStatusPageRequestDataAttributesType,), + "visualization_type": (CreateStatusPageRequestDataAttributesVisualizationType,), + } + + attribute_map = { + "company_logo": "company_logo", + "components": "components", + "domain_prefix": "domain_prefix", + "email_header_image": "email_header_image", + "enabled": "enabled", + "favicon": "favicon", + "name": "name", + "subscriptions_enabled": "subscriptions_enabled", + "type": "type", + "visualization_type": "visualization_type", + } + + def __init__( + self_, + domain_prefix: str, + enabled: bool, + name: str, + type: CreateStatusPageRequestDataAttributesType, + visualization_type: CreateStatusPageRequestDataAttributesVisualizationType, + company_logo: Union[str, UnsetType] = unset, + components: Union[List[CreateStatusPageRequestDataAttributesComponentsItems], UnsetType] = unset, + email_header_image: Union[str, UnsetType] = unset, + favicon: Union[str, UnsetType] = unset, + subscriptions_enabled: Union[bool, UnsetType] = unset, + **kwargs, + ): + """ + + + :param company_logo: + :type company_logo: str, optional + + :param components: + :type components: [CreateStatusPageRequestDataAttributesComponentsItems], optional + + :param domain_prefix: + :type domain_prefix: str + + :param email_header_image: + :type email_header_image: str, optional + + :param enabled: + :type enabled: bool + + :param favicon: + :type favicon: str, optional + + :param name: + :type name: str + + :param subscriptions_enabled: + :type subscriptions_enabled: bool, optional + + :param type: + :type type: CreateStatusPageRequestDataAttributesType + + :param visualization_type: + :type visualization_type: CreateStatusPageRequestDataAttributesVisualizationType + """ + if company_logo is not unset: + kwargs["company_logo"] = company_logo + if components is not unset: + kwargs["components"] = components + if email_header_image is not unset: + kwargs["email_header_image"] = email_header_image + if favicon is not unset: + kwargs["favicon"] = favicon + if subscriptions_enabled is not unset: + kwargs["subscriptions_enabled"] = subscriptions_enabled + super().__init__(kwargs) + + self_.domain_prefix = domain_prefix + self_.enabled = enabled + self_.name = name + self_.type = type + self_.visualization_type = visualization_type diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items.py new file mode 100644 index 0000000000..27e7be00ed --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items.py @@ -0,0 +1,106 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import 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.create_status_page_request_data_attributes_components_items_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class CreateStatusPageRequestDataAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems],), + "id": (str,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + components: Union[List[CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems], UnsetType] = unset, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[CreateComponentRequestDataAttributesType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: + :type components: [CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems], optional + + :param id: + :type id: str, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: + :type type: CreateComponentRequestDataAttributesType, optional + """ + if components is not unset: + kwargs["components"] = components + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items_components_items.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items_components_items.py new file mode 100644 index 0000000000..6d095615f2 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_components_items_components_items.py @@ -0,0 +1,92 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (str,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: + :type id: str, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_type.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_type.py new file mode 100644 index 0000000000..9ec959bbe1 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_type.py @@ -0,0 +1,38 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class CreateStatusPageRequestDataAttributesType(ModelSimple): + """ + + + :param value: Must be one of ["public", "internal"]. + :type value: str + """ + + allowed_values = { + "public", + "internal", + } + PUBLIC: ClassVar["CreateStatusPageRequestDataAttributesType"] + INTERNAL: ClassVar["CreateStatusPageRequestDataAttributesType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +CreateStatusPageRequestDataAttributesType.PUBLIC = CreateStatusPageRequestDataAttributesType("public") +CreateStatusPageRequestDataAttributesType.INTERNAL = CreateStatusPageRequestDataAttributesType("internal") diff --git a/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_visualization_type.py b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_visualization_type.py new file mode 100644 index 0000000000..975b595100 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_status_page_request_data_attributes_visualization_type.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class CreateStatusPageRequestDataAttributesVisualizationType(ModelSimple): + """ + + + :param value: Must be one of ["bars_and_uptime_percentage", "bars_only", "component_name_only"]. + :type value: str + """ + + allowed_values = { + "bars_and_uptime_percentage", + "bars_only", + "component_name_only", + } + BARS_AND_UPTIME_PERCENTAGE: ClassVar["CreateStatusPageRequestDataAttributesVisualizationType"] + BARS_ONLY: ClassVar["CreateStatusPageRequestDataAttributesVisualizationType"] + COMPONENT_NAME_ONLY: ClassVar["CreateStatusPageRequestDataAttributesVisualizationType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +CreateStatusPageRequestDataAttributesVisualizationType.BARS_AND_UPTIME_PERCENTAGE = ( + CreateStatusPageRequestDataAttributesVisualizationType("bars_and_uptime_percentage") +) +CreateStatusPageRequestDataAttributesVisualizationType.BARS_ONLY = ( + CreateStatusPageRequestDataAttributesVisualizationType("bars_only") +) +CreateStatusPageRequestDataAttributesVisualizationType.COMPONENT_NAME_ONLY = ( + CreateStatusPageRequestDataAttributesVisualizationType("component_name_only") +) diff --git a/src/datadog_api_client/v2/model/degradation.py b/src/datadog_api_client/v2/model/degradation.py new file mode 100644 index 0000000000..79ee12b8cc --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation.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 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.degradation_data import DegradationData + from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + + +class Degradation(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data import DegradationData + from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded + + return { + "data": (DegradationData,), + "included": ([DegradationArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: Union[DegradationData, UnsetType] = unset, + included: Union[ + List[Union[DegradationArrayIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType + ] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: DegradationData, optional + + :param included: + :type included: [DegradationArrayIncluded], optional + """ + if data is not unset: + kwargs["data"] = data + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_array.py b/src/datadog_api_client/v2/model/degradation_array.py new file mode 100644 index 0000000000..56b4d77534 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_array.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 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.degradation_data import DegradationData + from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + + +class DegradationArray(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data import DegradationData + from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded + + return { + "data": ([DegradationData],), + "included": ([DegradationArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: List[DegradationData], + included: Union[ + List[Union[DegradationArrayIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType + ] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: [DegradationData] + + :param included: + :type included: [DegradationArrayIncluded], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/degradation_array_included.py b/src/datadog_api_client/v2/model/degradation_array_included.py new file mode 100644 index 0000000000..ebc3564d80 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_array_included.py @@ -0,0 +1,49 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class DegradationArrayIncluded(ModelComposed): + def __init__(self, **kwargs): + """ + + + :param attributes: + :type attributes: StatusPagesUserAttributes, optional + + :param id: + :type id: str, optional + + :param type: Users resource type. + :type type: StatusPagesUserType + + :param relationships: + :type relationships: StatusPageAsIncludedRelationships, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + + return { + "oneOf": [ + StatusPagesUser, + StatusPageAsIncluded, + ], + } diff --git a/src/datadog_api_client/v2/model/degradation_data.py b/src/datadog_api_client/v2/model/degradation_data.py new file mode 100644 index 0000000000..bc2177ed17 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data.py @@ -0,0 +1,74 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.degradation_data_attributes import DegradationDataAttributes + from datadog_api_client.v2.model.degradation_data_relationships import DegradationDataRelationships + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + +class DegradationData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_attributes import DegradationDataAttributes + from datadog_api_client.v2.model.degradation_data_relationships import DegradationDataRelationships + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + return { + "attributes": (DegradationDataAttributes,), + "id": (str,), + "relationships": (DegradationDataRelationships,), + "type": (PatchDegradationRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: PatchDegradationRequestDataType, + attributes: Union[DegradationDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + relationships: Union[DegradationDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: DegradationDataAttributes, optional + + :param id: + :type id: str, optional + + :param relationships: + :type relationships: DegradationDataRelationships, optional + + :param type: Degradations resource type. + :type type: PatchDegradationRequestDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes.py b/src/datadog_api_client/v2/model/degradation_data_attributes.py new file mode 100644 index 0000000000..912d51d12d --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes.py @@ -0,0 +1,111 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.degradation_data_attributes_components_affected_items import ( + DegradationDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + from datadog_api_client.v2.model.degradation_data_attributes_updates_items import ( + DegradationDataAttributesUpdatesItems, + ) + + +class DegradationDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_attributes_components_affected_items import ( + DegradationDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + from datadog_api_client.v2.model.degradation_data_attributes_updates_items import ( + DegradationDataAttributesUpdatesItems, + ) + + return { + "components_affected": ([DegradationDataAttributesComponentsAffectedItems],), + "created_at": (datetime,), + "description": (str,), + "modified_at": (datetime,), + "status": (CreateDegradationRequestDataAttributesStatus,), + "title": (str,), + "updates": ([DegradationDataAttributesUpdatesItems],), + } + + attribute_map = { + "components_affected": "components_affected", + "created_at": "created_at", + "description": "description", + "modified_at": "modified_at", + "status": "status", + "title": "title", + "updates": "updates", + } + + def __init__( + self_, + components_affected: Union[List[DegradationDataAttributesComponentsAffectedItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + description: Union[str, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + status: Union[CreateDegradationRequestDataAttributesStatus, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + updates: Union[List[DegradationDataAttributesUpdatesItems], UnsetType] = unset, + **kwargs, + ): + """ + + + :param components_affected: + :type components_affected: [DegradationDataAttributesComponentsAffectedItems], optional + + :param created_at: + :type created_at: datetime, optional + + :param description: + :type description: str, optional + + :param modified_at: + :type modified_at: datetime, optional + + :param status: + :type status: CreateDegradationRequestDataAttributesStatus, optional + + :param title: + :type title: str, optional + + :param updates: + :type updates: [DegradationDataAttributesUpdatesItems], optional + """ + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if created_at is not unset: + kwargs["created_at"] = created_at + if description is not unset: + kwargs["description"] = description + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if status is not unset: + kwargs["status"] = status + if title is not unset: + kwargs["title"] = title + if updates is not unset: + kwargs["updates"] = updates + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/degradation_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..8ea6cd853e --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_components_affected_items.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + +class DegradationDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + return { + "id": (str,), + "name": (str,), + "status": (StatusPagesComponentDataAttributesStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, id: str, status: StatusPagesComponentDataAttributesStatus, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + + + :param id: + :type id: str + + :param name: + :type name: str, optional + + :param status: + :type status: StatusPagesComponentDataAttributesStatus + """ + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) + + self_.id = id + self_.status = status diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py new file mode 100644 index 0000000000..08a5825a15 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py @@ -0,0 +1,112 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.degradation_data_attributes_updates_items_components_affected_items import ( + DegradationDataAttributesUpdatesItemsComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + + +class DegradationDataAttributesUpdatesItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_attributes_updates_items_components_affected_items import ( + DegradationDataAttributesUpdatesItemsComponentsAffectedItems, + ) + from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, + ) + + return { + "components_affected": ([DegradationDataAttributesUpdatesItemsComponentsAffectedItems],), + "created_at": (datetime,), + "description": (str,), + "id": (str,), + "modified_at": (datetime,), + "started_at": (datetime,), + "status": (CreateDegradationRequestDataAttributesStatus,), + } + + attribute_map = { + "components_affected": "components_affected", + "created_at": "created_at", + "description": "description", + "id": "id", + "modified_at": "modified_at", + "started_at": "started_at", + "status": "status", + } + read_only_vars = { + "created_at", + "id", + "modified_at", + } + + def __init__( + self_, + components_affected: Union[ + List[DegradationDataAttributesUpdatesItemsComponentsAffectedItems], UnsetType + ] = unset, + created_at: Union[datetime, UnsetType] = unset, + description: Union[str, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + started_at: Union[datetime, UnsetType] = unset, + status: Union[CreateDegradationRequestDataAttributesStatus, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components_affected: + :type components_affected: [DegradationDataAttributesUpdatesItemsComponentsAffectedItems], optional + + :param created_at: + :type created_at: datetime, optional + + :param description: + :type description: str, optional + + :param id: + :type id: str, optional + + :param modified_at: + :type modified_at: datetime, optional + + :param started_at: + :type started_at: datetime, optional + + :param status: + :type status: CreateDegradationRequestDataAttributesStatus, optional + """ + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if created_at is not unset: + kwargs["created_at"] = created_at + if description is not unset: + kwargs["description"] = description + if id is not unset: + kwargs["id"] = id + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if started_at is not unset: + kwargs["started_at"] = started_at + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items_components_affected_items.py b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items_components_affected_items.py new file mode 100644 index 0000000000..6fe648d852 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items_components_affected_items.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + +class DegradationDataAttributesUpdatesItemsComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + return { + "id": (str,), + "name": (str,), + "status": (StatusPagesComponentDataAttributesStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, id: str, status: StatusPagesComponentDataAttributesStatus, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + + + :param id: + :type id: str + + :param name: + :type name: str, optional + + :param status: + :type status: StatusPagesComponentDataAttributesStatus + """ + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) + + self_.id = id + self_.status = status diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships.py b/src/datadog_api_client/v2/model/degradation_data_relationships.py new file mode 100644 index 0000000000..862c899b66 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships.py @@ -0,0 +1,78 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.degradation_data_relationships_created_by_user import ( + DegradationDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user import ( + DegradationDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.degradation_data_relationships_status_page import ( + DegradationDataRelationshipsStatusPage, + ) + + +class DegradationDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_relationships_created_by_user import ( + DegradationDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user import ( + DegradationDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.degradation_data_relationships_status_page import ( + DegradationDataRelationshipsStatusPage, + ) + + return { + "created_by_user": (DegradationDataRelationshipsCreatedByUser,), + "last_modified_by_user": (DegradationDataRelationshipsLastModifiedByUser,), + "status_page": (DegradationDataRelationshipsStatusPage,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + "status_page": "status_page", + } + + def __init__( + self_, + created_by_user: Union[DegradationDataRelationshipsCreatedByUser, UnsetType] = unset, + last_modified_by_user: Union[DegradationDataRelationshipsLastModifiedByUser, UnsetType] = unset, + status_page: Union[DegradationDataRelationshipsStatusPage, UnsetType] = unset, + **kwargs, + ): + """ + + + :param created_by_user: + :type created_by_user: DegradationDataRelationshipsCreatedByUser, optional + + :param last_modified_by_user: + :type last_modified_by_user: DegradationDataRelationshipsLastModifiedByUser, optional + + :param status_page: + :type status_page: DegradationDataRelationshipsStatusPage, 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 status_page is not unset: + kwargs["status_page"] = status_page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user.py b/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user.py new file mode 100644 index 0000000000..b4c4142d22 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user.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.degradation_data_relationships_created_by_user_data import ( + DegradationDataRelationshipsCreatedByUserData, + ) + + +class DegradationDataRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_relationships_created_by_user_data import ( + DegradationDataRelationshipsCreatedByUserData, + ) + + return { + "data": (DegradationDataRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: DegradationDataRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: DegradationDataRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user_data.py new file mode 100644 index 0000000000..76b1c63c13 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class DegradationDataRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..442c01e9a8 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user.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.degradation_data_relationships_last_modified_by_user_data import ( + DegradationDataRelationshipsLastModifiedByUserData, + ) + + +class DegradationDataRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user_data import ( + DegradationDataRelationshipsLastModifiedByUserData, + ) + + return { + "data": (DegradationDataRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: DegradationDataRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: DegradationDataRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..acc55c93a6 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class DegradationDataRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_status_page.py b/src/datadog_api_client/v2/model/degradation_data_relationships_status_page.py new file mode 100644 index 0000000000..601fc8a24e --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_status_page.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.degradation_data_relationships_status_page_data import ( + DegradationDataRelationshipsStatusPageData, + ) + + +class DegradationDataRelationshipsStatusPage(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_relationships_status_page_data import ( + DegradationDataRelationshipsStatusPageData, + ) + + return { + "data": (DegradationDataRelationshipsStatusPageData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: DegradationDataRelationshipsStatusPageData, **kwargs): + """ + + + :param data: + :type data: DegradationDataRelationshipsStatusPageData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/degradation_data_relationships_status_page_data.py b/src/datadog_api_client/v2/model/degradation_data_relationships_status_page_data.py new file mode 100644 index 0000000000..b1dfd826e5 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_relationships_status_page_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class DegradationDataRelationshipsStatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "id": (str,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPageDataType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/patch_component_request.py b/src/datadog_api_client/v2/model/patch_component_request.py new file mode 100644 index 0000000000..f81f7c00b1 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_component_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 Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_component_request_data import PatchComponentRequestData + + +class PatchComponentRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_component_request_data import PatchComponentRequestData + + return { + "data": (PatchComponentRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[PatchComponentRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: PatchComponentRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_component_request_data.py b/src/datadog_api_client/v2/model/patch_component_request_data.py new file mode 100644 index 0000000000..5082b11088 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_component_request_data.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 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.patch_component_request_data_attributes import PatchComponentRequestDataAttributes + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class PatchComponentRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_component_request_data_attributes import ( + PatchComponentRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "attributes": (PatchComponentRequestDataAttributes,), + "id": (str,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesComponentGroupType, + attributes: Union[PatchComponentRequestDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: PatchComponentRequestDataAttributes, optional + + :param id: + :type id: str, optional + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/patch_component_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_component_request_data_attributes.py new file mode 100644 index 0000000000..7e29f5d2a6 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_component_request_data_attributes.py @@ -0,0 +1,43 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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 PatchComponentRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "name": (str,), + "position": (int,), + } + + attribute_map = { + "name": "name", + "position": "position", + } + + def __init__(self_, name: Union[str, UnsetType] = unset, position: Union[int, UnsetType] = unset, **kwargs): + """ + + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + """ + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_degradation_request.py b/src/datadog_api_client/v2/model/patch_degradation_request.py new file mode 100644 index 0000000000..b387a6779d --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_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 Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_degradation_request_data import PatchDegradationRequestData + + +class PatchDegradationRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_degradation_request_data import PatchDegradationRequestData + + return { + "data": (PatchDegradationRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[PatchDegradationRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: PatchDegradationRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_degradation_request_data.py b/src/datadog_api_client/v2/model/patch_degradation_request_data.py new file mode 100644 index 0000000000..cbb9b5402c --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_data.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_degradation_request_data_attributes import ( + PatchDegradationRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + +class PatchDegradationRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_degradation_request_data_attributes import ( + PatchDegradationRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType + + return { + "attributes": (PatchDegradationRequestDataAttributes,), + "id": (str,), + "type": (PatchDegradationRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: PatchDegradationRequestDataType, + attributes: Union[PatchDegradationRequestDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: PatchDegradationRequestDataAttributes, optional + + :param id: + :type id: str, optional + + :param type: Degradations resource type. + :type type: PatchDegradationRequestDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes.py new file mode 100644 index 0000000000..1b11f49cb7 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes.py @@ -0,0 +1,82 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_degradation_request_data_attributes_components_affected_items import ( + PatchDegradationRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_attributes_status import ( + PatchDegradationRequestDataAttributesStatus, + ) + + +class PatchDegradationRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_degradation_request_data_attributes_components_affected_items import ( + PatchDegradationRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.patch_degradation_request_data_attributes_status import ( + PatchDegradationRequestDataAttributesStatus, + ) + + return { + "components_affected": ([PatchDegradationRequestDataAttributesComponentsAffectedItems],), + "description": (str,), + "status": (PatchDegradationRequestDataAttributesStatus,), + "title": (str,), + } + + attribute_map = { + "components_affected": "components_affected", + "description": "description", + "status": "status", + "title": "title", + } + + def __init__( + self_, + components_affected: Union[ + List[PatchDegradationRequestDataAttributesComponentsAffectedItems], UnsetType + ] = unset, + description: Union[str, UnsetType] = unset, + status: Union[PatchDegradationRequestDataAttributesStatus, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components_affected: + :type components_affected: [PatchDegradationRequestDataAttributesComponentsAffectedItems], optional + + :param description: + :type description: str, optional + + :param status: + :type status: PatchDegradationRequestDataAttributesStatus, optional + + :param title: + :type title: str, optional + """ + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if description is not unset: + kwargs["description"] = description + 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/patch_degradation_request_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..b74bc2c475 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_components_affected_items.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + +class PatchDegradationRequestDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + + return { + "id": (str,), + "name": (str,), + "status": (StatusPagesComponentDataAttributesStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, id: str, status: StatusPagesComponentDataAttributesStatus, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + + + :param id: + :type id: str + + :param name: + :type name: str, optional + + :param status: + :type status: StatusPagesComponentDataAttributesStatus + """ + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) + + self_.id = id + self_.status = status diff --git a/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_status.py b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_status.py new file mode 100644 index 0000000000..b8a0b2a29f --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_data_attributes_status.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 PatchDegradationRequestDataAttributesStatus(ModelSimple): + """ + + + :param value: Must be one of ["investigating", "identified", "monitoring", "resolved"]. + :type value: str + """ + + allowed_values = { + "investigating", + "identified", + "monitoring", + "resolved", + } + INVESTIGATING: ClassVar["PatchDegradationRequestDataAttributesStatus"] + IDENTIFIED: ClassVar["PatchDegradationRequestDataAttributesStatus"] + MONITORING: ClassVar["PatchDegradationRequestDataAttributesStatus"] + RESOLVED: ClassVar["PatchDegradationRequestDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +PatchDegradationRequestDataAttributesStatus.INVESTIGATING = PatchDegradationRequestDataAttributesStatus("investigating") +PatchDegradationRequestDataAttributesStatus.IDENTIFIED = PatchDegradationRequestDataAttributesStatus("identified") +PatchDegradationRequestDataAttributesStatus.MONITORING = PatchDegradationRequestDataAttributesStatus("monitoring") +PatchDegradationRequestDataAttributesStatus.RESOLVED = PatchDegradationRequestDataAttributesStatus("resolved") diff --git a/src/datadog_api_client/v2/model/patch_degradation_request_data_type.py b/src/datadog_api_client/v2/model/patch_degradation_request_data_type.py new file mode 100644 index 0000000000..10036d64b2 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_degradation_request_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 PatchDegradationRequestDataType(ModelSimple): + """ + Degradations resource type. + + :param value: If omitted defaults to "degradations". Must be one of ["degradations"]. + :type value: str + """ + + allowed_values = { + "degradations", + } + DEGRADATIONS: ClassVar["PatchDegradationRequestDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +PatchDegradationRequestDataType.DEGRADATIONS = PatchDegradationRequestDataType("degradations") diff --git a/src/datadog_api_client/v2/model/patch_status_page_request.py b/src/datadog_api_client/v2/model/patch_status_page_request.py new file mode 100644 index 0000000000..512018ec0f --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_status_page_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 Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_status_page_request_data import PatchStatusPageRequestData + + +class PatchStatusPageRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_status_page_request_data import PatchStatusPageRequestData + + return { + "data": (PatchStatusPageRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[PatchStatusPageRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: PatchStatusPageRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_status_page_request_data.py b/src/datadog_api_client/v2/model/patch_status_page_request_data.py new file mode 100644 index 0000000000..6fcdcf52ac --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_status_page_request_data.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_status_page_request_data_attributes import ( + PatchStatusPageRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class PatchStatusPageRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_status_page_request_data_attributes import ( + PatchStatusPageRequestDataAttributes, + ) + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "attributes": (PatchStatusPageRequestDataAttributes,), + "id": (str,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: StatusPageDataType, + attributes: Union[PatchStatusPageRequestDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: PatchStatusPageRequestDataAttributes, optional + + :param id: + :type id: str, optional + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/patch_status_page_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_status_page_request_data_attributes.py new file mode 100644 index 0000000000..d10b0e6dc2 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_status_page_request_data_attributes.py @@ -0,0 +1,120 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + +class PatchStatusPageRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + return { + "company_logo": (str,), + "domain_prefix": (str,), + "email_header_image": (str,), + "enabled": (bool,), + "favicon": (str,), + "name": (str,), + "subscriptions_enabled": (bool,), + "type": (CreateStatusPageRequestDataAttributesType,), + "visualization_type": (CreateStatusPageRequestDataAttributesVisualizationType,), + } + + attribute_map = { + "company_logo": "company_logo", + "domain_prefix": "domain_prefix", + "email_header_image": "email_header_image", + "enabled": "enabled", + "favicon": "favicon", + "name": "name", + "subscriptions_enabled": "subscriptions_enabled", + "type": "type", + "visualization_type": "visualization_type", + } + + def __init__( + self_, + company_logo: Union[str, UnsetType] = unset, + domain_prefix: Union[str, UnsetType] = unset, + email_header_image: Union[str, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + favicon: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + subscriptions_enabled: Union[bool, UnsetType] = unset, + type: Union[CreateStatusPageRequestDataAttributesType, UnsetType] = unset, + visualization_type: Union[CreateStatusPageRequestDataAttributesVisualizationType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param company_logo: + :type company_logo: str, optional + + :param domain_prefix: + :type domain_prefix: str, optional + + :param email_header_image: + :type email_header_image: str, optional + + :param enabled: + :type enabled: bool, optional + + :param favicon: + :type favicon: str, optional + + :param name: + :type name: str, optional + + :param subscriptions_enabled: + :type subscriptions_enabled: bool, optional + + :param type: + :type type: CreateStatusPageRequestDataAttributesType, optional + + :param visualization_type: + :type visualization_type: CreateStatusPageRequestDataAttributesVisualizationType, optional + """ + if company_logo is not unset: + kwargs["company_logo"] = company_logo + if domain_prefix is not unset: + kwargs["domain_prefix"] = domain_prefix + if email_header_image is not unset: + kwargs["email_header_image"] = email_header_image + if enabled is not unset: + kwargs["enabled"] = enabled + if favicon is not unset: + kwargs["favicon"] = favicon + if name is not unset: + kwargs["name"] = name + if subscriptions_enabled is not unset: + kwargs["subscriptions_enabled"] = subscriptions_enabled + if type is not unset: + kwargs["type"] = type + if visualization_type is not unset: + kwargs["visualization_type"] = visualization_type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page.py b/src/datadog_api_client/v2/model/status_page.py new file mode 100644 index 0000000000..346b396003 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page.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 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.status_page_data import StatusPageData + from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + + +class StatusPage(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data import StatusPageData + from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded + + return { + "data": (StatusPageData,), + "included": ([StatusPageArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: Union[StatusPageData, UnsetType] = unset, + included: Union[List[Union[StatusPageArrayIncluded, StatusPagesUser]], UnsetType] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: StatusPageData, optional + + :param included: + :type included: [StatusPageArrayIncluded], optional + """ + if data is not unset: + kwargs["data"] = data + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_array.py b/src/datadog_api_client/v2/model/status_page_array.py new file mode 100644 index 0000000000..5785015881 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_array.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 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.status_page_data import StatusPageData + from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + + +class StatusPageArray(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data import StatusPageData + from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded + + return { + "data": ([StatusPageData],), + "included": ([StatusPageArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: List[StatusPageData], + included: Union[List[Union[StatusPageArrayIncluded, StatusPagesUser]], UnsetType] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: [StatusPageData] + + :param included: + :type included: [StatusPageArrayIncluded], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_array_included.py b/src/datadog_api_client/v2/model/status_page_array_included.py new file mode 100644 index 0000000000..1520f2cac1 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_array_included.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 ( + ModelComposed, + cached_property, +) + + +class StatusPageArrayIncluded(ModelComposed): + def __init__(self, **kwargs): + """ + + + :param attributes: + :type attributes: StatusPagesUserAttributes, optional + + :param id: + :type id: str, optional + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + + return { + "oneOf": [ + StatusPagesUser, + ], + } diff --git a/src/datadog_api_client/v2/model/status_page_as_included.py b/src/datadog_api_client/v2/model/status_page_as_included.py new file mode 100644 index 0000000000..5d0fccd023 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included.py @@ -0,0 +1,74 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_page_as_included_attributes import StatusPageAsIncludedAttributes + from datadog_api_client.v2.model.status_page_as_included_relationships import StatusPageAsIncludedRelationships + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class StatusPageAsIncluded(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_attributes import StatusPageAsIncludedAttributes + from datadog_api_client.v2.model.status_page_as_included_relationships import StatusPageAsIncludedRelationships + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "attributes": (StatusPageAsIncludedAttributes,), + "id": (str,), + "relationships": (StatusPageAsIncludedRelationships,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPageDataType, + attributes: Union[StatusPageAsIncludedAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + relationships: Union[StatusPageAsIncludedRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: StatusPageAsIncludedAttributes, optional + + :param id: + :type id: str, optional + + :param relationships: + :type relationships: StatusPageAsIncludedRelationships, optional + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_as_included_attributes.py b/src/datadog_api_client/v2/model/status_page_as_included_attributes.py new file mode 100644 index 0000000000..6bbeadfc77 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_attributes.py @@ -0,0 +1,175 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_page_as_included_attributes_components_items import ( + StatusPageAsIncludedAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + +class StatusPageAsIncludedAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_attributes_components_items import ( + StatusPageAsIncludedAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + return { + "company_logo": (str,), + "components": ([StatusPageAsIncludedAttributesComponentsItems],), + "created_at": (datetime,), + "custom_domain": (str,), + "custom_domain_enabled": (bool,), + "domain_prefix": (str,), + "email_header_image": (str,), + "enabled": (bool,), + "favicon": (str,), + "modified_at": (datetime,), + "name": (str,), + "page_url": (str,), + "subscriptions_enabled": (bool,), + "type": (CreateStatusPageRequestDataAttributesType,), + "visualization_type": (CreateStatusPageRequestDataAttributesVisualizationType,), + } + + attribute_map = { + "company_logo": "company_logo", + "components": "components", + "created_at": "created_at", + "custom_domain": "custom_domain", + "custom_domain_enabled": "custom_domain_enabled", + "domain_prefix": "domain_prefix", + "email_header_image": "email_header_image", + "enabled": "enabled", + "favicon": "favicon", + "modified_at": "modified_at", + "name": "name", + "page_url": "page_url", + "subscriptions_enabled": "subscriptions_enabled", + "type": "type", + "visualization_type": "visualization_type", + } + + def __init__( + self_, + company_logo: Union[str, UnsetType] = unset, + components: Union[List[StatusPageAsIncludedAttributesComponentsItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + custom_domain: Union[str, UnsetType] = unset, + custom_domain_enabled: Union[bool, UnsetType] = unset, + domain_prefix: Union[str, UnsetType] = unset, + email_header_image: Union[str, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + favicon: Union[str, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + page_url: Union[str, UnsetType] = unset, + subscriptions_enabled: Union[bool, UnsetType] = unset, + type: Union[CreateStatusPageRequestDataAttributesType, UnsetType] = unset, + visualization_type: Union[CreateStatusPageRequestDataAttributesVisualizationType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param company_logo: + :type company_logo: str, optional + + :param components: + :type components: [StatusPageAsIncludedAttributesComponentsItems], optional + + :param created_at: + :type created_at: datetime, optional + + :param custom_domain: + :type custom_domain: str, optional + + :param custom_domain_enabled: + :type custom_domain_enabled: bool, optional + + :param domain_prefix: + :type domain_prefix: str, optional + + :param email_header_image: + :type email_header_image: str, optional + + :param enabled: + :type enabled: bool, optional + + :param favicon: + :type favicon: str, optional + + :param modified_at: + :type modified_at: datetime, optional + + :param name: + :type name: str, optional + + :param page_url: + :type page_url: str, optional + + :param subscriptions_enabled: + :type subscriptions_enabled: bool, optional + + :param type: + :type type: CreateStatusPageRequestDataAttributesType, optional + + :param visualization_type: + :type visualization_type: CreateStatusPageRequestDataAttributesVisualizationType, optional + """ + if company_logo is not unset: + kwargs["company_logo"] = company_logo + if components is not unset: + kwargs["components"] = components + if created_at is not unset: + kwargs["created_at"] = created_at + if custom_domain is not unset: + kwargs["custom_domain"] = custom_domain + if custom_domain_enabled is not unset: + kwargs["custom_domain_enabled"] = custom_domain_enabled + if domain_prefix is not unset: + kwargs["domain_prefix"] = domain_prefix + if email_header_image is not unset: + kwargs["email_header_image"] = email_header_image + if enabled is not unset: + kwargs["enabled"] = enabled + if favicon is not unset: + kwargs["favicon"] = favicon + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if name is not unset: + kwargs["name"] = name + if page_url is not unset: + kwargs["page_url"] = page_url + if subscriptions_enabled is not unset: + kwargs["subscriptions_enabled"] = subscriptions_enabled + if type is not unset: + kwargs["type"] = type + if visualization_type is not unset: + kwargs["visualization_type"] = visualization_type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items.py b/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items.py new file mode 100644 index 0000000000..d9590239df --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items.py @@ -0,0 +1,106 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import 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.status_page_as_included_attributes_components_items_components_items import ( + StatusPageAsIncludedAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class StatusPageAsIncludedAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_attributes_components_items_components_items import ( + StatusPageAsIncludedAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([StatusPageAsIncludedAttributesComponentsItemsComponentsItems],), + "id": (str,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + components: Union[List[StatusPageAsIncludedAttributesComponentsItemsComponentsItems], UnsetType] = unset, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[CreateComponentRequestDataAttributesType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: + :type components: [StatusPageAsIncludedAttributesComponentsItemsComponentsItems], optional + + :param id: + :type id: str, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: + :type type: CreateComponentRequestDataAttributesType, optional + """ + if components is not unset: + kwargs["components"] = components + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items_components_items.py b/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items_components_items.py new file mode 100644 index 0000000000..a937bca2bf --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_attributes_components_items_components_items.py @@ -0,0 +1,92 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class StatusPageAsIncludedAttributesComponentsItemsComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (str,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: + :type id: str, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships.py new file mode 100644 index 0000000000..d1f4e6f1f4 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user import ( + StatusPageAsIncludedRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user import ( + StatusPageAsIncludedRelationshipsLastModifiedByUser, + ) + + +class StatusPageAsIncludedRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user import ( + StatusPageAsIncludedRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user import ( + StatusPageAsIncludedRelationshipsLastModifiedByUser, + ) + + return { + "created_by_user": (StatusPageAsIncludedRelationshipsCreatedByUser,), + "last_modified_by_user": (StatusPageAsIncludedRelationshipsLastModifiedByUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[StatusPageAsIncludedRelationshipsCreatedByUser, UnsetType] = unset, + last_modified_by_user: Union[StatusPageAsIncludedRelationshipsLastModifiedByUser, UnsetType] = unset, + **kwargs, + ): + """ + + + :param created_by_user: + :type created_by_user: StatusPageAsIncludedRelationshipsCreatedByUser, optional + + :param last_modified_by_user: + :type last_modified_by_user: StatusPageAsIncludedRelationshipsLastModifiedByUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user.py new file mode 100644 index 0000000000..e81695e2f7 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user.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.status_page_as_included_relationships_created_by_user_data import ( + StatusPageAsIncludedRelationshipsCreatedByUserData, + ) + + +class StatusPageAsIncludedRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user_data import ( + StatusPageAsIncludedRelationshipsCreatedByUserData, + ) + + return { + "data": (StatusPageAsIncludedRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPageAsIncludedRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPageAsIncludedRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user_data.py new file mode 100644 index 0000000000..e84174357e --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPageAsIncludedRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..7ab0393f5b --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user.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.status_page_as_included_relationships_last_modified_by_user_data import ( + StatusPageAsIncludedRelationshipsLastModifiedByUserData, + ) + + +class StatusPageAsIncludedRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user_data import ( + StatusPageAsIncludedRelationshipsLastModifiedByUserData, + ) + + return { + "data": (StatusPageAsIncludedRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPageAsIncludedRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPageAsIncludedRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..0ccc72efb1 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_as_included_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPageAsIncludedRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_data.py b/src/datadog_api_client/v2/model/status_page_data.py new file mode 100644 index 0000000000..a59006fe47 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data.py @@ -0,0 +1,74 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_page_data_attributes import StatusPageDataAttributes + from datadog_api_client.v2.model.status_page_data_relationships import StatusPageDataRelationships + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class StatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_attributes import StatusPageDataAttributes + from datadog_api_client.v2.model.status_page_data_relationships import StatusPageDataRelationships + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "attributes": (StatusPageDataAttributes,), + "id": (str,), + "relationships": (StatusPageDataRelationships,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPageDataType, + attributes: Union[StatusPageDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + relationships: Union[StatusPageDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: StatusPageDataAttributes, optional + + :param id: + :type id: str, optional + + :param relationships: + :type relationships: StatusPageDataRelationships, optional + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_data_attributes.py b/src/datadog_api_client/v2/model/status_page_data_attributes.py new file mode 100644 index 0000000000..28ae99a813 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_attributes.py @@ -0,0 +1,175 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_page_data_attributes_components_items import ( + StatusPageDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + +class StatusPageDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_attributes_components_items import ( + StatusPageDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, + ) + from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, + ) + + return { + "company_logo": (str,), + "components": ([StatusPageDataAttributesComponentsItems],), + "created_at": (datetime,), + "custom_domain": (str,), + "custom_domain_enabled": (bool,), + "domain_prefix": (str,), + "email_header_image": (str,), + "enabled": (bool,), + "favicon": (str,), + "modified_at": (datetime,), + "name": (str,), + "page_url": (str,), + "subscriptions_enabled": (bool,), + "type": (CreateStatusPageRequestDataAttributesType,), + "visualization_type": (CreateStatusPageRequestDataAttributesVisualizationType,), + } + + attribute_map = { + "company_logo": "company_logo", + "components": "components", + "created_at": "created_at", + "custom_domain": "custom_domain", + "custom_domain_enabled": "custom_domain_enabled", + "domain_prefix": "domain_prefix", + "email_header_image": "email_header_image", + "enabled": "enabled", + "favicon": "favicon", + "modified_at": "modified_at", + "name": "name", + "page_url": "page_url", + "subscriptions_enabled": "subscriptions_enabled", + "type": "type", + "visualization_type": "visualization_type", + } + + def __init__( + self_, + company_logo: Union[str, UnsetType] = unset, + components: Union[List[StatusPageDataAttributesComponentsItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + custom_domain: Union[str, UnsetType] = unset, + custom_domain_enabled: Union[bool, UnsetType] = unset, + domain_prefix: Union[str, UnsetType] = unset, + email_header_image: Union[str, UnsetType] = unset, + enabled: Union[bool, UnsetType] = unset, + favicon: Union[str, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + page_url: Union[str, UnsetType] = unset, + subscriptions_enabled: Union[bool, UnsetType] = unset, + type: Union[CreateStatusPageRequestDataAttributesType, UnsetType] = unset, + visualization_type: Union[CreateStatusPageRequestDataAttributesVisualizationType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param company_logo: + :type company_logo: str, optional + + :param components: + :type components: [StatusPageDataAttributesComponentsItems], optional + + :param created_at: + :type created_at: datetime, optional + + :param custom_domain: + :type custom_domain: str, optional + + :param custom_domain_enabled: + :type custom_domain_enabled: bool, optional + + :param domain_prefix: + :type domain_prefix: str, optional + + :param email_header_image: + :type email_header_image: str, optional + + :param enabled: + :type enabled: bool, optional + + :param favicon: + :type favicon: str, optional + + :param modified_at: + :type modified_at: datetime, optional + + :param name: + :type name: str, optional + + :param page_url: + :type page_url: str, optional + + :param subscriptions_enabled: + :type subscriptions_enabled: bool, optional + + :param type: + :type type: CreateStatusPageRequestDataAttributesType, optional + + :param visualization_type: + :type visualization_type: CreateStatusPageRequestDataAttributesVisualizationType, optional + """ + if company_logo is not unset: + kwargs["company_logo"] = company_logo + if components is not unset: + kwargs["components"] = components + if created_at is not unset: + kwargs["created_at"] = created_at + if custom_domain is not unset: + kwargs["custom_domain"] = custom_domain + if custom_domain_enabled is not unset: + kwargs["custom_domain_enabled"] = custom_domain_enabled + if domain_prefix is not unset: + kwargs["domain_prefix"] = domain_prefix + if email_header_image is not unset: + kwargs["email_header_image"] = email_header_image + if enabled is not unset: + kwargs["enabled"] = enabled + if favicon is not unset: + kwargs["favicon"] = favicon + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if name is not unset: + kwargs["name"] = name + if page_url is not unset: + kwargs["page_url"] = page_url + if subscriptions_enabled is not unset: + kwargs["subscriptions_enabled"] = subscriptions_enabled + if type is not unset: + kwargs["type"] = type + if visualization_type is not unset: + kwargs["visualization_type"] = visualization_type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_data_attributes_components_items.py b/src/datadog_api_client/v2/model/status_page_data_attributes_components_items.py new file mode 100644 index 0000000000..7a8975d854 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_attributes_components_items.py @@ -0,0 +1,106 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import 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.status_page_data_attributes_components_items_components_items import ( + StatusPageDataAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class StatusPageDataAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_attributes_components_items_components_items import ( + StatusPageDataAttributesComponentsItemsComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([StatusPageDataAttributesComponentsItemsComponentsItems],), + "id": (str,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + components: Union[List[StatusPageDataAttributesComponentsItemsComponentsItems], UnsetType] = unset, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[CreateComponentRequestDataAttributesType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: + :type components: [StatusPageDataAttributesComponentsItemsComponentsItems], optional + + :param id: + :type id: str, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: + :type type: CreateComponentRequestDataAttributesType, optional + """ + if components is not unset: + kwargs["components"] = components + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_data_attributes_components_items_components_items.py b/src/datadog_api_client/v2/model/status_page_data_attributes_components_items_components_items.py new file mode 100644 index 0000000000..73e66ed102 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_attributes_components_items_components_items.py @@ -0,0 +1,92 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class StatusPageDataAttributesComponentsItemsComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (str,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: + :type id: str, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships.py b/src/datadog_api_client/v2/model/status_page_data_relationships.py new file mode 100644 index 0000000000..01ebd18b46 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_relationships_created_by_user import ( + StatusPageDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user import ( + StatusPageDataRelationshipsLastModifiedByUser, + ) + + +class StatusPageDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_relationships_created_by_user import ( + StatusPageDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user import ( + StatusPageDataRelationshipsLastModifiedByUser, + ) + + return { + "created_by_user": (StatusPageDataRelationshipsCreatedByUser,), + "last_modified_by_user": (StatusPageDataRelationshipsLastModifiedByUser,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + } + + def __init__( + self_, + created_by_user: Union[StatusPageDataRelationshipsCreatedByUser, UnsetType] = unset, + last_modified_by_user: Union[StatusPageDataRelationshipsLastModifiedByUser, UnsetType] = unset, + **kwargs, + ): + """ + + + :param created_by_user: + :type created_by_user: StatusPageDataRelationshipsCreatedByUser, optional + + :param last_modified_by_user: + :type last_modified_by_user: StatusPageDataRelationshipsLastModifiedByUser, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user.py b/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user.py new file mode 100644 index 0000000000..8a6f05949a --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user.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.status_page_data_relationships_created_by_user_data import ( + StatusPageDataRelationshipsCreatedByUserData, + ) + + +class StatusPageDataRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_relationships_created_by_user_data import ( + StatusPageDataRelationshipsCreatedByUserData, + ) + + return { + "data": (StatusPageDataRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPageDataRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPageDataRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user_data.py new file mode 100644 index 0000000000..bab767fd9a --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPageDataRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..772fc05e56 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user.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.status_page_data_relationships_last_modified_by_user_data import ( + StatusPageDataRelationshipsLastModifiedByUserData, + ) + + +class StatusPageDataRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user_data import ( + StatusPageDataRelationshipsLastModifiedByUserData, + ) + + return { + "data": (StatusPageDataRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPageDataRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPageDataRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..303b9d9dd4 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_data_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPageDataRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_page_data_type.py b/src/datadog_api_client/v2/model/status_page_data_type.py new file mode 100644 index 0000000000..e6e01939eb --- /dev/null +++ b/src/datadog_api_client/v2/model/status_page_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 StatusPageDataType(ModelSimple): + """ + Status pages resource type. + + :param value: If omitted defaults to "status_pages". Must be one of ["status_pages"]. + :type value: str + """ + + allowed_values = { + "status_pages", + } + STATUS_PAGES: ClassVar["StatusPageDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPageDataType.STATUS_PAGES = StatusPageDataType("status_pages") diff --git a/src/datadog_api_client/v2/model/status_pages_component.py b/src/datadog_api_client/v2/model/status_pages_component.py new file mode 100644 index 0000000000..1d522ea4df --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component.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 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.status_pages_component_data import StatusPagesComponentData + from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + from datadog_api_client.v2.model.status_pages_component_group import StatusPagesComponentGroup + + +class StatusPagesComponent(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data import StatusPagesComponentData + from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded + + return { + "data": (StatusPagesComponentData,), + "included": ([StatusPagesComponentArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: Union[StatusPagesComponentData, UnsetType] = unset, + included: Union[ + List[ + Union[ + StatusPagesComponentArrayIncluded, StatusPagesUser, StatusPageAsIncluded, StatusPagesComponentGroup + ] + ], + UnsetType, + ] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: StatusPagesComponentData, optional + + :param included: + :type included: [StatusPagesComponentArrayIncluded], optional + """ + if data is not unset: + kwargs["data"] = data + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_array.py b/src/datadog_api_client/v2/model/status_pages_component_array.py new file mode 100644 index 0000000000..55ac1ad96a --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_array.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 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.status_pages_component_data import StatusPagesComponentData + from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + from datadog_api_client.v2.model.status_pages_component_group import StatusPagesComponentGroup + + +class StatusPagesComponentArray(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data import StatusPagesComponentData + from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded + + return { + "data": ([StatusPagesComponentData],), + "included": ([StatusPagesComponentArrayIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: List[StatusPagesComponentData], + included: Union[ + List[ + Union[ + StatusPagesComponentArrayIncluded, StatusPagesUser, StatusPageAsIncluded, StatusPagesComponentGroup + ] + ], + UnsetType, + ] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: [StatusPagesComponentData] + + :param included: + :type included: [StatusPagesComponentArrayIncluded], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_array_included.py b/src/datadog_api_client/v2/model/status_pages_component_array_included.py new file mode 100644 index 0000000000..3866fb0a5b --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_array_included.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 ( + ModelComposed, + cached_property, +) + + +class StatusPagesComponentArrayIncluded(ModelComposed): + def __init__(self, **kwargs): + """ + + + :param attributes: + :type attributes: StatusPagesUserAttributes, optional + + :param id: + :type id: str, optional + + :param type: Users resource type. + :type type: StatusPagesUserType + + :param relationships: + :type relationships: StatusPageAsIncludedRelationships, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + from datadog_api_client.v2.model.status_pages_component_group import StatusPagesComponentGroup + + return { + "oneOf": [ + StatusPagesUser, + StatusPageAsIncluded, + StatusPagesComponentGroup, + ], + } diff --git a/src/datadog_api_client/v2/model/status_pages_component_data.py b/src/datadog_api_client/v2/model/status_pages_component_data.py new file mode 100644 index 0000000000..143659d7dc --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data.py @@ -0,0 +1,80 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_data_attributes import StatusPagesComponentDataAttributes + from datadog_api_client.v2.model.status_pages_component_data_relationships import ( + StatusPagesComponentDataRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class StatusPagesComponentData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes import ( + StatusPagesComponentDataAttributes, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships import ( + StatusPagesComponentDataRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "attributes": (StatusPagesComponentDataAttributes,), + "id": (str,), + "relationships": (StatusPagesComponentDataRelationships,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesComponentGroupType, + attributes: Union[StatusPagesComponentDataAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + relationships: Union[StatusPagesComponentDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: StatusPagesComponentDataAttributes, optional + + :param id: + :type id: str, optional + + :param relationships: + :type relationships: StatusPagesComponentDataRelationships, optional + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_attributes.py b/src/datadog_api_client/v2/model/status_pages_component_data_attributes.py new file mode 100644 index 0000000000..68d4823e74 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_attributes.py @@ -0,0 +1,111 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_data_attributes_components_items import ( + StatusPagesComponentDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class StatusPagesComponentDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_attributes_components_items import ( + StatusPagesComponentDataAttributesComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([StatusPagesComponentDataAttributesComponentsItems],), + "created_at": (datetime,), + "modified_at": (datetime,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentDataAttributesStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "created_at": "created_at", + "modified_at": "modified_at", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + + def __init__( + self_, + type: CreateComponentRequestDataAttributesType, + components: Union[List[StatusPagesComponentDataAttributesComponentsItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentDataAttributesStatus, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: + :type components: [StatusPagesComponentDataAttributesComponentsItems], optional + + :param created_at: + :type created_at: datetime, optional + + :param modified_at: + :type modified_at: datetime, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentDataAttributesStatus, optional + + :param type: + :type type: CreateComponentRequestDataAttributesType + """ + if components is not unset: + kwargs["components"] = components + if created_at is not unset: + kwargs["created_at"] = created_at + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_attributes_components_items.py b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_components_items.py new file mode 100644 index 0000000000..cc0baa6321 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_components_items.py @@ -0,0 +1,92 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class StatusPagesComponentDataAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (str,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: + :type id: str, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py new file mode 100644 index 0000000000..a84bbc9962 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.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 StatusPagesComponentDataAttributesStatus(ModelSimple): + """ + + + :param value: Must be one of ["operational", "degraded", "partial_outage", "major_outage"]. + :type value: str + """ + + allowed_values = { + "operational", + "degraded", + "partial_outage", + "major_outage", + } + OPERATIONAL: ClassVar["StatusPagesComponentDataAttributesStatus"] + DEGRADED: ClassVar["StatusPagesComponentDataAttributesStatus"] + PARTIAL_OUTAGE: ClassVar["StatusPagesComponentDataAttributesStatus"] + MAJOR_OUTAGE: ClassVar["StatusPagesComponentDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPagesComponentDataAttributesStatus.OPERATIONAL = StatusPagesComponentDataAttributesStatus("operational") +StatusPagesComponentDataAttributesStatus.DEGRADED = StatusPagesComponentDataAttributesStatus("degraded") +StatusPagesComponentDataAttributesStatus.PARTIAL_OUTAGE = StatusPagesComponentDataAttributesStatus("partial_outage") +StatusPagesComponentDataAttributesStatus.MAJOR_OUTAGE = StatusPagesComponentDataAttributesStatus("major_outage") diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships.py new file mode 100644 index 0000000000..2c081a881e --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships.py @@ -0,0 +1,92 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_data_relationships_created_by_user import ( + StatusPagesComponentDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_group import ( + StatusPagesComponentDataRelationshipsGroup, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user import ( + StatusPagesComponentDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page import ( + StatusPagesComponentDataRelationshipsStatusPage, + ) + + +class StatusPagesComponentDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user import ( + StatusPagesComponentDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_group import ( + StatusPagesComponentDataRelationshipsGroup, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user import ( + StatusPagesComponentDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page import ( + StatusPagesComponentDataRelationshipsStatusPage, + ) + + return { + "created_by_user": (StatusPagesComponentDataRelationshipsCreatedByUser,), + "group": (StatusPagesComponentDataRelationshipsGroup,), + "last_modified_by_user": (StatusPagesComponentDataRelationshipsLastModifiedByUser,), + "status_page": (StatusPagesComponentDataRelationshipsStatusPage,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "group": "group", + "last_modified_by_user": "last_modified_by_user", + "status_page": "status_page", + } + + def __init__( + self_, + created_by_user: Union[StatusPagesComponentDataRelationshipsCreatedByUser, UnsetType] = unset, + group: Union[StatusPagesComponentDataRelationshipsGroup, UnsetType] = unset, + last_modified_by_user: Union[StatusPagesComponentDataRelationshipsLastModifiedByUser, UnsetType] = unset, + status_page: Union[StatusPagesComponentDataRelationshipsStatusPage, UnsetType] = unset, + **kwargs, + ): + """ + + + :param created_by_user: + :type created_by_user: StatusPagesComponentDataRelationshipsCreatedByUser, optional + + :param group: + :type group: StatusPagesComponentDataRelationshipsGroup, optional + + :param last_modified_by_user: + :type last_modified_by_user: StatusPagesComponentDataRelationshipsLastModifiedByUser, optional + + :param status_page: + :type status_page: StatusPagesComponentDataRelationshipsStatusPage, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if group is not unset: + kwargs["group"] = group + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + if status_page is not unset: + kwargs["status_page"] = status_page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user.py new file mode 100644 index 0000000000..54336470b8 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user.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.status_pages_component_data_relationships_created_by_user_data import ( + StatusPagesComponentDataRelationshipsCreatedByUserData, + ) + + +class StatusPagesComponentDataRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user_data import ( + StatusPagesComponentDataRelationshipsCreatedByUserData, + ) + + return { + "data": (StatusPagesComponentDataRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentDataRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentDataRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user_data.py new file mode 100644 index 0000000000..5696868fae --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesComponentDataRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group.py new file mode 100644 index 0000000000..bce4b45862 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group.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.status_pages_component_data_relationships_group_data import ( + StatusPagesComponentDataRelationshipsGroupData, + ) + + +class StatusPagesComponentDataRelationshipsGroup(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_group_data import ( + StatusPagesComponentDataRelationshipsGroupData, + ) + + return { + "data": (StatusPagesComponentDataRelationshipsGroupData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentDataRelationshipsGroupData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentDataRelationshipsGroupData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group_data.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group_data.py new file mode 100644 index 0000000000..a0c5c90c34 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_group_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class StatusPagesComponentDataRelationshipsGroupData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "id": (str,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesComponentGroupType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..b078b38bc2 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user.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.status_pages_component_data_relationships_last_modified_by_user_data import ( + StatusPagesComponentDataRelationshipsLastModifiedByUserData, + ) + + +class StatusPagesComponentDataRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user_data import ( + StatusPagesComponentDataRelationshipsLastModifiedByUserData, + ) + + return { + "data": (StatusPagesComponentDataRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentDataRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentDataRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..9c5d0fc0c0 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesComponentDataRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page.py new file mode 100644 index 0000000000..ad06b7f1b7 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page.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.status_pages_component_data_relationships_status_page_data import ( + StatusPagesComponentDataRelationshipsStatusPageData, + ) + + +class StatusPagesComponentDataRelationshipsStatusPage(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page_data import ( + StatusPagesComponentDataRelationshipsStatusPageData, + ) + + return { + "data": (StatusPagesComponentDataRelationshipsStatusPageData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentDataRelationshipsStatusPageData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentDataRelationshipsStatusPageData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page_data.py b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page_data.py new file mode 100644 index 0000000000..2a9bc1e199 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_data_relationships_status_page_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class StatusPagesComponentDataRelationshipsStatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "id": (str,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPageDataType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group.py b/src/datadog_api_client/v2/model/status_pages_component_group.py new file mode 100644 index 0000000000..ca1e0bda79 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group.py @@ -0,0 +1,80 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_attributes import StatusPagesComponentGroupAttributes + from datadog_api_client.v2.model.status_pages_component_group_relationships import ( + StatusPagesComponentGroupRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class StatusPagesComponentGroup(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes import ( + StatusPagesComponentGroupAttributes, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships import ( + StatusPagesComponentGroupRelationships, + ) + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "attributes": (StatusPagesComponentGroupAttributes,), + "id": (str,), + "relationships": (StatusPagesComponentGroupRelationships,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesComponentGroupType, + attributes: Union[StatusPagesComponentGroupAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + relationships: Union[StatusPagesComponentGroupRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: StatusPagesComponentGroupAttributes, optional + + :param id: + :type id: str, optional + + :param relationships: + :type relationships: StatusPagesComponentGroupRelationships, optional + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes.py new file mode 100644 index 0000000000..c3ef55590a --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes.py @@ -0,0 +1,111 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_attributes_components_items import ( + StatusPagesComponentGroupAttributesComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + +class StatusPagesComponentGroupAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items import ( + StatusPagesComponentGroupAttributesComponentsItems, + ) + from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, + ) + from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, + ) + + return { + "components": ([StatusPagesComponentGroupAttributesComponentsItems],), + "created_at": (datetime,), + "modified_at": (datetime,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentDataAttributesStatus,), + "type": (CreateComponentRequestDataAttributesType,), + } + + attribute_map = { + "components": "components", + "created_at": "created_at", + "modified_at": "modified_at", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + + def __init__( + self_, + type: CreateComponentRequestDataAttributesType, + components: Union[List[StatusPagesComponentGroupAttributesComponentsItems], UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentDataAttributesStatus, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components: + :type components: [StatusPagesComponentGroupAttributesComponentsItems], optional + + :param created_at: + :type created_at: datetime, optional + + :param modified_at: + :type modified_at: datetime, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentDataAttributesStatus, optional + + :param type: + :type type: CreateComponentRequestDataAttributesType + """ + if components is not unset: + kwargs["components"] = components + if created_at is not unset: + kwargs["created_at"] = created_at + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items.py new file mode 100644 index 0000000000..871302036d --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items.py @@ -0,0 +1,92 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + +class StatusPagesComponentGroupAttributesComponentsItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, + ) + from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, + ) + + return { + "id": (str,), + "name": (str,), + "position": (int,), + "status": (StatusPagesComponentGroupAttributesComponentsItemsStatus,), + "type": (StatusPagesComponentGroupAttributesComponentsItemsType,), + } + + attribute_map = { + "id": "id", + "name": "name", + "position": "position", + "status": "status", + "type": "type", + } + read_only_vars = { + "id", + "status", + } + + def __init__( + self_, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + position: Union[int, UnsetType] = unset, + status: Union[StatusPagesComponentGroupAttributesComponentsItemsStatus, UnsetType] = unset, + type: Union[StatusPagesComponentGroupAttributesComponentsItemsType, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: + :type id: str, optional + + :param name: + :type name: str, optional + + :param position: + :type position: int, optional + + :param status: + :type status: StatusPagesComponentGroupAttributesComponentsItemsStatus, optional + + :param type: + :type type: StatusPagesComponentGroupAttributesComponentsItemsType, optional + """ + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + if position is not unset: + kwargs["position"] = position + if status is not unset: + kwargs["status"] = status + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py new file mode 100644 index 0000000000..c15ef8afab --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.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 ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class StatusPagesComponentGroupAttributesComponentsItemsStatus(ModelSimple): + """ + + + :param value: Must be one of ["operational", "degraded", "partial_outage", "major_outage"]. + :type value: str + """ + + allowed_values = { + "operational", + "degraded", + "partial_outage", + "major_outage", + } + OPERATIONAL: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + DEGRADED: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + PARTIAL_OUTAGE: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + MAJOR_OUTAGE: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPagesComponentGroupAttributesComponentsItemsStatus.OPERATIONAL = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("operational") +) +StatusPagesComponentGroupAttributesComponentsItemsStatus.DEGRADED = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("degraded") +) +StatusPagesComponentGroupAttributesComponentsItemsStatus.PARTIAL_OUTAGE = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("partial_outage") +) +StatusPagesComponentGroupAttributesComponentsItemsStatus.MAJOR_OUTAGE = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("major_outage") +) diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_type.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_type.py new file mode 100644 index 0000000000..d40dee6c36 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_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 StatusPagesComponentGroupAttributesComponentsItemsType(ModelSimple): + """ + + + :param value: If omitted defaults to "component". Must be one of ["component"]. + :type value: str + """ + + allowed_values = { + "component", + } + COMPONENT: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPagesComponentGroupAttributesComponentsItemsType.COMPONENT = ( + StatusPagesComponentGroupAttributesComponentsItemsType("component") +) diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships.py new file mode 100644 index 0000000000..ce251eaf4b --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships.py @@ -0,0 +1,92 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-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.status_pages_component_group_relationships_created_by_user import ( + StatusPagesComponentGroupRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_group import ( + StatusPagesComponentGroupRelationshipsGroup, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page import ( + StatusPagesComponentGroupRelationshipsStatusPage, + ) + + +class StatusPagesComponentGroupRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user import ( + StatusPagesComponentGroupRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_group import ( + StatusPagesComponentGroupRelationshipsGroup, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page import ( + StatusPagesComponentGroupRelationshipsStatusPage, + ) + + return { + "created_by_user": (StatusPagesComponentGroupRelationshipsCreatedByUser,), + "group": (StatusPagesComponentGroupRelationshipsGroup,), + "last_modified_by_user": (StatusPagesComponentGroupRelationshipsLastModifiedByUser,), + "status_page": (StatusPagesComponentGroupRelationshipsStatusPage,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "group": "group", + "last_modified_by_user": "last_modified_by_user", + "status_page": "status_page", + } + + def __init__( + self_, + created_by_user: Union[StatusPagesComponentGroupRelationshipsCreatedByUser, UnsetType] = unset, + group: Union[StatusPagesComponentGroupRelationshipsGroup, UnsetType] = unset, + last_modified_by_user: Union[StatusPagesComponentGroupRelationshipsLastModifiedByUser, UnsetType] = unset, + status_page: Union[StatusPagesComponentGroupRelationshipsStatusPage, UnsetType] = unset, + **kwargs, + ): + """ + + + :param created_by_user: + :type created_by_user: StatusPagesComponentGroupRelationshipsCreatedByUser, optional + + :param group: + :type group: StatusPagesComponentGroupRelationshipsGroup, optional + + :param last_modified_by_user: + :type last_modified_by_user: StatusPagesComponentGroupRelationshipsLastModifiedByUser, optional + + :param status_page: + :type status_page: StatusPagesComponentGroupRelationshipsStatusPage, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if group is not unset: + kwargs["group"] = group + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + if status_page is not unset: + kwargs["status_page"] = status_page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user.py new file mode 100644 index 0000000000..19122c91db --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user.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.status_pages_component_group_relationships_created_by_user_data import ( + StatusPagesComponentGroupRelationshipsCreatedByUserData, + ) + + +class StatusPagesComponentGroupRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user_data import ( + StatusPagesComponentGroupRelationshipsCreatedByUserData, + ) + + return { + "data": (StatusPagesComponentGroupRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentGroupRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentGroupRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user_data.py new file mode 100644 index 0000000000..5d97b96bcb --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_created_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesComponentGroupRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group.py new file mode 100644 index 0000000000..8fbef65532 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group.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.status_pages_component_group_relationships_group_data import ( + StatusPagesComponentGroupRelationshipsGroupData, + ) + + +class StatusPagesComponentGroupRelationshipsGroup(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_group_data import ( + StatusPagesComponentGroupRelationshipsGroupData, + ) + + return { + "data": (StatusPagesComponentGroupRelationshipsGroupData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentGroupRelationshipsGroupData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentGroupRelationshipsGroupData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group_data.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group_data.py new file mode 100644 index 0000000000..9f4f9aeec5 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_group_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + +class StatusPagesComponentGroupRelationshipsGroupData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType + + return { + "id": (str,), + "type": (StatusPagesComponentGroupType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesComponentGroupType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Components resource type. + :type type: StatusPagesComponentGroupType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..889d72c7d1 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user.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.status_pages_component_group_relationships_last_modified_by_user_data import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUserData, + ) + + +class StatusPagesComponentGroupRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user_data import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUserData, + ) + + return { + "data": (StatusPagesComponentGroupRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentGroupRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentGroupRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..deb59426f2 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_last_modified_by_user_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesComponentGroupRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page.py new file mode 100644 index 0000000000..1908b8a588 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page.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.status_pages_component_group_relationships_status_page_data import ( + StatusPagesComponentGroupRelationshipsStatusPageData, + ) + + +class StatusPagesComponentGroupRelationshipsStatusPage(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page_data import ( + StatusPagesComponentGroupRelationshipsStatusPageData, + ) + + return { + "data": (StatusPagesComponentGroupRelationshipsStatusPageData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: StatusPagesComponentGroupRelationshipsStatusPageData, **kwargs): + """ + + + :param data: + :type data: StatusPagesComponentGroupRelationshipsStatusPageData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page_data.py b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page_data.py new file mode 100644 index 0000000000..912d2bd376 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_relationships_status_page_data.py @@ -0,0 +1,46 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class StatusPagesComponentGroupRelationshipsStatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "id": (str,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: str, type: StatusPageDataType, **kwargs): + """ + + + :param id: + :type id: str + + :param type: Status pages resource type. + :type type: StatusPageDataType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_type.py b/src/datadog_api_client/v2/model/status_pages_component_group_type.py new file mode 100644 index 0000000000..8d9fa34043 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_component_group_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 StatusPagesComponentGroupType(ModelSimple): + """ + Components resource type. + + :param value: If omitted defaults to "components". Must be one of ["components"]. + :type value: str + """ + + allowed_values = { + "components", + } + COMPONENTS: ClassVar["StatusPagesComponentGroupType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPagesComponentGroupType.COMPONENTS = StatusPagesComponentGroupType("components") diff --git a/src/datadog_api_client/v2/model/status_pages_user.py b/src/datadog_api_client/v2/model/status_pages_user.py new file mode 100644 index 0000000000..28adce9739 --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_user.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_attributes import StatusPagesUserAttributes + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class StatusPagesUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_attributes import StatusPagesUserAttributes + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "attributes": (StatusPagesUserAttributes,), + "id": (str,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + type: StatusPagesUserType, + attributes: Union[StatusPagesUserAttributes, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: + :type attributes: StatusPagesUserAttributes, optional + + :param id: + :type id: str, optional + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if id is not unset: + kwargs["id"] = id + super().__init__(kwargs) + + self_.type = type diff --git a/src/datadog_api_client/v2/model/status_pages_user_attributes.py b/src/datadog_api_client/v2/model/status_pages_user_attributes.py new file mode 100644 index 0000000000..657408c59b --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_user_attributes.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, + unset, + UnsetType, +) + + +class StatusPagesUserAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "email": (str,), + "handle": (str,), + "icon": (str,), + "name": (str,), + "uuid": (str,), + } + + attribute_map = { + "email": "email", + "handle": "handle", + "icon": "icon", + "name": "name", + "uuid": "uuid", + } + + def __init__( + self_, + email: Union[str, UnsetType] = unset, + handle: Union[str, UnsetType] = unset, + icon: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + uuid: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param email: + :type email: str, optional + + :param handle: + :type handle: str, optional + + :param icon: + :type icon: str, optional + + :param name: + :type name: str, optional + + :param uuid: + :type uuid: str, optional + """ + if email is not unset: + kwargs["email"] = email + if handle is not unset: + kwargs["handle"] = handle + if icon is not unset: + kwargs["icon"] = icon + if name is not unset: + kwargs["name"] = name + if uuid is not unset: + kwargs["uuid"] = uuid + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/status_pages_user_type.py b/src/datadog_api_client/v2/model/status_pages_user_type.py new file mode 100644 index 0000000000..4017be669c --- /dev/null +++ b/src/datadog_api_client/v2/model/status_pages_user_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 StatusPagesUserType(ModelSimple): + """ + Users resource type. + + :param value: If omitted defaults to "users". Must be one of ["users"]. + :type value: str + """ + + allowed_values = { + "users", + } + USERS: ClassVar["StatusPagesUserType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +StatusPagesUserType.USERS = StatusPagesUserType("users") diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index b56279b372..07366b40a4 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -999,6 +999,24 @@ from datadog_api_client.v2.model.create_case_request_data import CreateCaseRequestData from datadog_api_client.v2.model.create_case_request_data_attributes import CreateCaseRequestDataAttributes from datadog_api_client.v2.model.create_case_request_data_relationships import CreateCaseRequestDataRelationships +from datadog_api_client.v2.model.create_component_request import CreateComponentRequest +from datadog_api_client.v2.model.create_component_request_data import CreateComponentRequestData +from datadog_api_client.v2.model.create_component_request_data_attributes import CreateComponentRequestDataAttributes +from datadog_api_client.v2.model.create_component_request_data_attributes_components_items import ( + CreateComponentRequestDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.create_component_request_data_attributes_type import ( + CreateComponentRequestDataAttributesType, +) +from datadog_api_client.v2.model.create_component_request_data_relationships import ( + CreateComponentRequestDataRelationships, +) +from datadog_api_client.v2.model.create_component_request_data_relationships_group import ( + CreateComponentRequestDataRelationshipsGroup, +) +from datadog_api_client.v2.model.create_component_request_data_relationships_group_data import ( + CreateComponentRequestDataRelationshipsGroupData, +) from datadog_api_client.v2.model.create_connection_request import CreateConnectionRequest from datadog_api_client.v2.model.create_connection_request_data import CreateConnectionRequestData from datadog_api_client.v2.model.create_connection_request_data_attributes import CreateConnectionRequestDataAttributes @@ -1016,6 +1034,17 @@ CreateDataDeletionRequestBodyDataType, ) from datadog_api_client.v2.model.create_data_deletion_response_body import CreateDataDeletionResponseBody +from datadog_api_client.v2.model.create_degradation_request import CreateDegradationRequest +from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData +from datadog_api_client.v2.model.create_degradation_request_data_attributes import ( + CreateDegradationRequestDataAttributes, +) +from datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items import ( + CreateDegradationRequestDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( + CreateDegradationRequestDataAttributesStatus, +) from datadog_api_client.v2.model.create_deployment_gate_params import CreateDeploymentGateParams from datadog_api_client.v2.model.create_deployment_gate_params_data import CreateDeploymentGateParamsData from datadog_api_client.v2.model.create_deployment_gate_params_data_attributes import ( @@ -1087,6 +1116,21 @@ CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems, ) from datadog_api_client.v2.model.create_ruleset_request_data_type import CreateRulesetRequestDataType +from datadog_api_client.v2.model.create_status_page_request import CreateStatusPageRequest +from datadog_api_client.v2.model.create_status_page_request_data import CreateStatusPageRequestData +from datadog_api_client.v2.model.create_status_page_request_data_attributes import CreateStatusPageRequestDataAttributes +from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_components_items_components_items import ( + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_type import ( + CreateStatusPageRequestDataAttributesType, +) +from datadog_api_client.v2.model.create_status_page_request_data_attributes_visualization_type import ( + CreateStatusPageRequestDataAttributesVisualizationType, +) from datadog_api_client.v2.model.create_table_request import CreateTableRequest from datadog_api_client.v2.model.create_table_request_data import CreateTableRequestData from datadog_api_client.v2.model.create_table_request_data_attributes import CreateTableRequestDataAttributes @@ -1385,6 +1429,37 @@ from datadog_api_client.v2.model.datastore_primary_key_generation_strategy import DatastorePrimaryKeyGenerationStrategy from datadog_api_client.v2.model.datastore_trigger import DatastoreTrigger from datadog_api_client.v2.model.datastore_trigger_wrapper import DatastoreTriggerWrapper +from datadog_api_client.v2.model.degradation import Degradation +from datadog_api_client.v2.model.degradation_array import DegradationArray +from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded +from datadog_api_client.v2.model.degradation_data import DegradationData +from datadog_api_client.v2.model.degradation_data_attributes import DegradationDataAttributes +from datadog_api_client.v2.model.degradation_data_attributes_components_affected_items import ( + DegradationDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.degradation_data_attributes_updates_items import DegradationDataAttributesUpdatesItems +from datadog_api_client.v2.model.degradation_data_attributes_updates_items_components_affected_items import ( + DegradationDataAttributesUpdatesItemsComponentsAffectedItems, +) +from datadog_api_client.v2.model.degradation_data_relationships import DegradationDataRelationships +from datadog_api_client.v2.model.degradation_data_relationships_created_by_user import ( + DegradationDataRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.degradation_data_relationships_created_by_user_data import ( + DegradationDataRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user import ( + DegradationDataRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.degradation_data_relationships_last_modified_by_user_data import ( + DegradationDataRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.degradation_data_relationships_status_page import ( + DegradationDataRelationshipsStatusPage, +) +from datadog_api_client.v2.model.degradation_data_relationships_status_page_data import ( + DegradationDataRelationshipsStatusPageData, +) from datadog_api_client.v2.model.delete_app_response import DeleteAppResponse from datadog_api_client.v2.model.delete_app_response_data import DeleteAppResponseData from datadog_api_client.v2.model.delete_apps_datastore_item_request import DeleteAppsDatastoreItemRequest @@ -3599,6 +3674,19 @@ from datadog_api_client.v2.model.patch_attachment_request_data_attributes_attachment import ( PatchAttachmentRequestDataAttributesAttachment, ) +from datadog_api_client.v2.model.patch_component_request import PatchComponentRequest +from datadog_api_client.v2.model.patch_component_request_data import PatchComponentRequestData +from datadog_api_client.v2.model.patch_component_request_data_attributes import PatchComponentRequestDataAttributes +from datadog_api_client.v2.model.patch_degradation_request import PatchDegradationRequest +from datadog_api_client.v2.model.patch_degradation_request_data import PatchDegradationRequestData +from datadog_api_client.v2.model.patch_degradation_request_data_attributes import PatchDegradationRequestDataAttributes +from datadog_api_client.v2.model.patch_degradation_request_data_attributes_components_affected_items import ( + PatchDegradationRequestDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.patch_degradation_request_data_attributes_status import ( + PatchDegradationRequestDataAttributesStatus, +) +from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType from datadog_api_client.v2.model.patch_incident_notification_template_request import ( PatchIncidentNotificationTemplateRequest, ) @@ -3607,6 +3695,9 @@ from datadog_api_client.v2.model.patch_notification_rule_parameters_data_attributes import ( PatchNotificationRuleParametersDataAttributes, ) +from datadog_api_client.v2.model.patch_status_page_request import PatchStatusPageRequest +from datadog_api_client.v2.model.patch_status_page_request_data import PatchStatusPageRequestData +from datadog_api_client.v2.model.patch_status_page_request_data_attributes import PatchStatusPageRequestDataAttributes from datadog_api_client.v2.model.patch_table_request import PatchTableRequest from datadog_api_client.v2.model.patch_table_request_data import PatchTableRequestData from datadog_api_client.v2.model.patch_table_request_data_attributes import PatchTableRequestDataAttributes @@ -4749,6 +4840,130 @@ from datadog_api_client.v2.model.statsig_integration import StatsigIntegration from datadog_api_client.v2.model.statsig_integration_type import StatsigIntegrationType from datadog_api_client.v2.model.statsig_integration_update import StatsigIntegrationUpdate +from datadog_api_client.v2.model.status_page import StatusPage +from datadog_api_client.v2.model.status_page_array import StatusPageArray +from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded +from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded +from datadog_api_client.v2.model.status_page_as_included_attributes import StatusPageAsIncludedAttributes +from datadog_api_client.v2.model.status_page_as_included_attributes_components_items import ( + StatusPageAsIncludedAttributesComponentsItems, +) +from datadog_api_client.v2.model.status_page_as_included_attributes_components_items_components_items import ( + StatusPageAsIncludedAttributesComponentsItemsComponentsItems, +) +from datadog_api_client.v2.model.status_page_as_included_relationships import StatusPageAsIncludedRelationships +from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user import ( + StatusPageAsIncludedRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.status_page_as_included_relationships_created_by_user_data import ( + StatusPageAsIncludedRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user import ( + StatusPageAsIncludedRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.status_page_as_included_relationships_last_modified_by_user_data import ( + StatusPageAsIncludedRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.status_page_data import StatusPageData +from datadog_api_client.v2.model.status_page_data_attributes import StatusPageDataAttributes +from datadog_api_client.v2.model.status_page_data_attributes_components_items import ( + StatusPageDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.status_page_data_attributes_components_items_components_items import ( + StatusPageDataAttributesComponentsItemsComponentsItems, +) +from datadog_api_client.v2.model.status_page_data_relationships import StatusPageDataRelationships +from datadog_api_client.v2.model.status_page_data_relationships_created_by_user import ( + StatusPageDataRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.status_page_data_relationships_created_by_user_data import ( + StatusPageDataRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user import ( + StatusPageDataRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.status_page_data_relationships_last_modified_by_user_data import ( + StatusPageDataRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType +from datadog_api_client.v2.model.status_pages_component import StatusPagesComponent +from datadog_api_client.v2.model.status_pages_component_array import StatusPagesComponentArray +from datadog_api_client.v2.model.status_pages_component_array_included import StatusPagesComponentArrayIncluded +from datadog_api_client.v2.model.status_pages_component_data import StatusPagesComponentData +from datadog_api_client.v2.model.status_pages_component_data_attributes import StatusPagesComponentDataAttributes +from datadog_api_client.v2.model.status_pages_component_data_attributes_components_items import ( + StatusPagesComponentDataAttributesComponentsItems, +) +from datadog_api_client.v2.model.status_pages_component_data_attributes_status import ( + StatusPagesComponentDataAttributesStatus, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships import StatusPagesComponentDataRelationships +from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user import ( + StatusPagesComponentDataRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_created_by_user_data import ( + StatusPagesComponentDataRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_group import ( + StatusPagesComponentDataRelationshipsGroup, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_group_data import ( + StatusPagesComponentDataRelationshipsGroupData, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user import ( + StatusPagesComponentDataRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_last_modified_by_user_data import ( + StatusPagesComponentDataRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page import ( + StatusPagesComponentDataRelationshipsStatusPage, +) +from datadog_api_client.v2.model.status_pages_component_data_relationships_status_page_data import ( + StatusPagesComponentDataRelationshipsStatusPageData, +) +from datadog_api_client.v2.model.status_pages_component_group import StatusPagesComponentGroup +from datadog_api_client.v2.model.status_pages_component_group_attributes import StatusPagesComponentGroupAttributes +from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items import ( + StatusPagesComponentGroupAttributesComponentsItems, +) +from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_status import ( + StatusPagesComponentGroupAttributesComponentsItemsStatus, +) +from datadog_api_client.v2.model.status_pages_component_group_attributes_components_items_type import ( + StatusPagesComponentGroupAttributesComponentsItemsType, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships import ( + StatusPagesComponentGroupRelationships, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user import ( + StatusPagesComponentGroupRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_created_by_user_data import ( + StatusPagesComponentGroupRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_group import ( + StatusPagesComponentGroupRelationshipsGroup, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_group_data import ( + StatusPagesComponentGroupRelationshipsGroupData, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_last_modified_by_user_data import ( + StatusPagesComponentGroupRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page import ( + StatusPagesComponentGroupRelationshipsStatusPage, +) +from datadog_api_client.v2.model.status_pages_component_group_relationships_status_page_data import ( + StatusPagesComponentGroupRelationshipsStatusPageData, +) +from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType +from datadog_api_client.v2.model.status_pages_user import StatusPagesUser +from datadog_api_client.v2.model.status_pages_user_attributes import StatusPagesUserAttributes +from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType from datadog_api_client.v2.model.step import Step from datadog_api_client.v2.model.step_display import StepDisplay from datadog_api_client.v2.model.step_display_bounds import StepDisplayBounds @@ -5973,6 +6188,14 @@ "CreateCaseRequestData", "CreateCaseRequestDataAttributes", "CreateCaseRequestDataRelationships", + "CreateComponentRequest", + "CreateComponentRequestData", + "CreateComponentRequestDataAttributes", + "CreateComponentRequestDataAttributesComponentsItems", + "CreateComponentRequestDataAttributesType", + "CreateComponentRequestDataRelationships", + "CreateComponentRequestDataRelationshipsGroup", + "CreateComponentRequestDataRelationshipsGroupData", "CreateConnectionRequest", "CreateConnectionRequestData", "CreateConnectionRequestDataAttributes", @@ -5984,6 +6207,11 @@ "CreateDataDeletionRequestBodyData", "CreateDataDeletionRequestBodyDataType", "CreateDataDeletionResponseBody", + "CreateDegradationRequest", + "CreateDegradationRequestData", + "CreateDegradationRequestDataAttributes", + "CreateDegradationRequestDataAttributesComponentsAffectedItems", + "CreateDegradationRequestDataAttributesStatus", "CreateDeploymentGateParams", "CreateDeploymentGateParamsData", "CreateDeploymentGateParamsDataAttributes", @@ -6031,6 +6259,13 @@ "CreateRulesetRequestDataAttributesRulesItemsReferenceTable", "CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems", "CreateRulesetRequestDataType", + "CreateStatusPageRequest", + "CreateStatusPageRequestData", + "CreateStatusPageRequestDataAttributes", + "CreateStatusPageRequestDataAttributesComponentsItems", + "CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems", + "CreateStatusPageRequestDataAttributesType", + "CreateStatusPageRequestDataAttributesVisualizationType", "CreateTableRequest", "CreateTableRequestData", "CreateTableRequestDataAttributes", @@ -6227,6 +6462,21 @@ "DatastorePrimaryKeyGenerationStrategy", "DatastoreTrigger", "DatastoreTriggerWrapper", + "Degradation", + "DegradationArray", + "DegradationArrayIncluded", + "DegradationData", + "DegradationDataAttributes", + "DegradationDataAttributesComponentsAffectedItems", + "DegradationDataAttributesUpdatesItems", + "DegradationDataAttributesUpdatesItemsComponentsAffectedItems", + "DegradationDataRelationships", + "DegradationDataRelationshipsCreatedByUser", + "DegradationDataRelationshipsCreatedByUserData", + "DegradationDataRelationshipsLastModifiedByUser", + "DegradationDataRelationshipsLastModifiedByUserData", + "DegradationDataRelationshipsStatusPage", + "DegradationDataRelationshipsStatusPageData", "DeleteAppResponse", "DeleteAppResponseData", "DeleteAppsDatastoreItemRequest", @@ -7769,10 +8019,22 @@ "PatchAttachmentRequestData", "PatchAttachmentRequestDataAttributes", "PatchAttachmentRequestDataAttributesAttachment", + "PatchComponentRequest", + "PatchComponentRequestData", + "PatchComponentRequestDataAttributes", + "PatchDegradationRequest", + "PatchDegradationRequestData", + "PatchDegradationRequestDataAttributes", + "PatchDegradationRequestDataAttributesComponentsAffectedItems", + "PatchDegradationRequestDataAttributesStatus", + "PatchDegradationRequestDataType", "PatchIncidentNotificationTemplateRequest", "PatchNotificationRuleParameters", "PatchNotificationRuleParametersData", "PatchNotificationRuleParametersDataAttributes", + "PatchStatusPageRequest", + "PatchStatusPageRequestData", + "PatchStatusPageRequestDataAttributes", "PatchTableRequest", "PatchTableRequestData", "PatchTableRequestDataAttributes", @@ -8625,6 +8887,62 @@ "StatsigIntegration", "StatsigIntegrationType", "StatsigIntegrationUpdate", + "StatusPage", + "StatusPageArray", + "StatusPageArrayIncluded", + "StatusPageAsIncluded", + "StatusPageAsIncludedAttributes", + "StatusPageAsIncludedAttributesComponentsItems", + "StatusPageAsIncludedAttributesComponentsItemsComponentsItems", + "StatusPageAsIncludedRelationships", + "StatusPageAsIncludedRelationshipsCreatedByUser", + "StatusPageAsIncludedRelationshipsCreatedByUserData", + "StatusPageAsIncludedRelationshipsLastModifiedByUser", + "StatusPageAsIncludedRelationshipsLastModifiedByUserData", + "StatusPageData", + "StatusPageDataAttributes", + "StatusPageDataAttributesComponentsItems", + "StatusPageDataAttributesComponentsItemsComponentsItems", + "StatusPageDataRelationships", + "StatusPageDataRelationshipsCreatedByUser", + "StatusPageDataRelationshipsCreatedByUserData", + "StatusPageDataRelationshipsLastModifiedByUser", + "StatusPageDataRelationshipsLastModifiedByUserData", + "StatusPageDataType", + "StatusPagesComponent", + "StatusPagesComponentArray", + "StatusPagesComponentArrayIncluded", + "StatusPagesComponentData", + "StatusPagesComponentDataAttributes", + "StatusPagesComponentDataAttributesComponentsItems", + "StatusPagesComponentDataAttributesStatus", + "StatusPagesComponentDataRelationships", + "StatusPagesComponentDataRelationshipsCreatedByUser", + "StatusPagesComponentDataRelationshipsCreatedByUserData", + "StatusPagesComponentDataRelationshipsGroup", + "StatusPagesComponentDataRelationshipsGroupData", + "StatusPagesComponentDataRelationshipsLastModifiedByUser", + "StatusPagesComponentDataRelationshipsLastModifiedByUserData", + "StatusPagesComponentDataRelationshipsStatusPage", + "StatusPagesComponentDataRelationshipsStatusPageData", + "StatusPagesComponentGroup", + "StatusPagesComponentGroupAttributes", + "StatusPagesComponentGroupAttributesComponentsItems", + "StatusPagesComponentGroupAttributesComponentsItemsStatus", + "StatusPagesComponentGroupAttributesComponentsItemsType", + "StatusPagesComponentGroupRelationships", + "StatusPagesComponentGroupRelationshipsCreatedByUser", + "StatusPagesComponentGroupRelationshipsCreatedByUserData", + "StatusPagesComponentGroupRelationshipsGroup", + "StatusPagesComponentGroupRelationshipsGroupData", + "StatusPagesComponentGroupRelationshipsLastModifiedByUser", + "StatusPagesComponentGroupRelationshipsLastModifiedByUserData", + "StatusPagesComponentGroupRelationshipsStatusPage", + "StatusPagesComponentGroupRelationshipsStatusPageData", + "StatusPagesComponentGroupType", + "StatusPagesUser", + "StatusPagesUserAttributes", + "StatusPagesUserType", "Step", "StepDisplay", "StepDisplayBounds", diff --git a/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.frozen new file mode 100644 index 0000000000..f025fb0202 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:29.212Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.yaml new file mode 100644 index 0000000000..e79e570e7a --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_component_returns_created_response.yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"4757e87f9ce8314d","type":"component"}],"domain_prefix":"dd-integration-tests-4757e87f9ce8314d","enabled":true,"name":"[DD + Integration Tests] 4757e87f9ce8314d","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"9630d960-6b78-43fc-8bf2-c89f96c90fcc","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"cf53df23-442e-46ff-8d01-e131287162ca","name":"4757e87f9ce8314d","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:29.365591Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-4757e87f9ce8314d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:29.365591Z","name":"[DD + Integration Tests] 4757e87f9ce8314d","page_url":"https://frog.datadoghq.com/status-pages/9630d960-6b78-43fc-8bf2-c89f96c90fcc/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"name":"4757e87f9ce8314d","position":0,"type":"component"},"type":"components"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/9630d960-6b78-43fc-8bf2-c89f96c90fcc/components + response: + body: + string: '{"data":{"id":"29815cf0-ec53-4a76-a83a-1c0f1e7dd311","type":"components","attributes":{"created_at":"2026-01-09T15:10:29.884285Z","modified_at":"2026-01-09T15:10:29.884285Z","name":"4757e87f9ce8314d","position":0,"status":"operational","type":"component"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"group":{"data":null},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"9630d960-6b78-43fc-8bf2-c89f96c90fcc","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/9630d960-6b78-43fc-8bf2-c89f96c90fcc/components/29815cf0-ec53-4a76-a83a-1c0f1e7dd311 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/9630d960-6b78-43fc-8bf2-c89f96c90fcc + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.frozen new file mode 100644 index 0000000000..8315f6ceeb --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:30.540Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.yaml new file mode 100644 index 0000000000..4c3ab36757 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_degradation_returns_created_response.yaml @@ -0,0 +1,68 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"636ab3da70919775","type":"component"}],"domain_prefix":"dd-integration-tests-636ab3da70919775","enabled":true,"name":"[DD + Integration Tests] 636ab3da70919775","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"76134dd6-d6e9-480d-8004-3f1ad908457d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"4139718b-3133-40a7-835f-cf4497e13306","name":"636ab3da70919775","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:30.690398Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-636ab3da70919775","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:30.690398Z","name":"[DD + Integration Tests] 636ab3da70919775","page_url":"https://frog.datadoghq.com/status-pages/76134dd6-d6e9-480d-8004-3f1ad908457d/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"4139718b-3133-40a7-835f-cf4497e13306","status":"major_outage"}],"description":"636ab3da70919775","status":"investigating","title":"636ab3da70919775"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/76134dd6-d6e9-480d-8004-3f1ad908457d/degradations + response: + body: + string: '{"data":{"id":"a9b60bd0-2a32-4de6-aa84-3bb0943dc285","type":"degradations","attributes":{"components_affected":[{"id":"4139718b-3133-40a7-835f-cf4497e13306","name":"636ab3da70919775","status":"major_outage"}],"created_at":"2026-01-09T15:10:31.218323Z","description":"636ab3da70919775","modified_at":"2026-01-09T15:10:31.218323Z","status":"investigating","title":"636ab3da70919775","updates":[{"id":"5549656a-96a6-4862-aa64-887768a11f83","created_at":"2026-01-09T15:10:31.218323Z","modified_at":"2026-01-09T15:10:31.218323Z","started_at":"0001-01-01T00:00:00Z","status":"investigating","description":"636ab3da70919775","components_affected":[{"id":"4139718b-3133-40a7-835f-cf4497e13306","name":"636ab3da70919775","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"76134dd6-d6e9-480d-8004-3f1ad908457d","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/76134dd6-d6e9-480d-8004-3f1ad908457d/degradations/a9b60bd0-2a32-4de6-aa84-3bb0943dc285 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/76134dd6-d6e9-480d-8004-3f1ad908457d + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.frozen new file mode 100644 index 0000000000..2ce0b2eae0 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:31.884Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.yaml new file mode 100644 index 0000000000..e342e3f233 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_status_page_returns_created_response.yaml @@ -0,0 +1,36 @@ +interactions: +- request: + body: '{"data":{"attributes":{"domain_prefix":"dd-integrations-tests-1596605167a144b9","enabled":true,"name":"[DD + Integration Tests] 1596605167a144b9","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"763a57ab-77be-42f3-ab01-3446904814aa","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-09T15:10:32.045556Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integrations-tests-1596605167a144b9","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:32.045556Z","name":"[DD + Integration Tests] 1596605167a144b9","page_url":"https://frog.datadoghq.com/status-pages/763a57ab-77be-42f3-ab01-3446904814aa/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/763a57ab-77be-42f3-ab01-3446904814aa + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.frozen new file mode 100644 index 0000000000..6f60caab9d --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:32.946Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.yaml new file mode 100644 index 0000000000..878ecd013d --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_component_returns_no_content_response.yaml @@ -0,0 +1,50 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"c9c5ea54880643a9","type":"component"}],"domain_prefix":"dd-integration-tests-c9c5ea54880643a9","enabled":true,"name":"[DD + Integration Tests] c9c5ea54880643a9","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"4042dd87-6324-4c15-a7f0-a11726434782","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"5ddcb366-1172-4703-9f33-9375a24d0e98","name":"c9c5ea54880643a9","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:33.076426Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-c9c5ea54880643a9","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:33.076426Z","name":"[DD + Integration Tests] c9c5ea54880643a9","page_url":"https://frog.datadoghq.com/status-pages/4042dd87-6324-4c15-a7f0-a11726434782/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/4042dd87-6324-4c15-a7f0-a11726434782/components/5ddcb366-1172-4703-9f33-9375a24d0e98 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/4042dd87-6324-4c15-a7f0-a11726434782 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.frozen new file mode 100644 index 0000000000..542f198ae1 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:34.202Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.yaml new file mode 100644 index 0000000000..0970b2d154 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_degradation_returns_no_content_response.yaml @@ -0,0 +1,84 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"6e0ac73a3aac14d9","type":"component"}],"domain_prefix":"dd-integration-tests-6e0ac73a3aac14d9","enabled":true,"name":"[DD + Integration Tests] 6e0ac73a3aac14d9","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"c2bb233a-5c1c-44cd-9805-45a7db97251e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ccf4aff5-a66c-4745-95cd-6913b8fe923b","name":"6e0ac73a3aac14d9","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:34.337609Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-6e0ac73a3aac14d9","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:34.337609Z","name":"[DD + Integration Tests] 6e0ac73a3aac14d9","page_url":"https://frog.datadoghq.com/status-pages/c2bb233a-5c1c-44cd-9805-45a7db97251e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"ccf4aff5-a66c-4745-95cd-6913b8fe923b","status":"major_outage"}],"status":"investigating","title":"Test-Delete_degradation_returns_No_Content_response-1767971434"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/c2bb233a-5c1c-44cd-9805-45a7db97251e/degradations + response: + body: + string: '{"data":{"id":"4f486ca4-cc4f-4078-bd17-ae764a77788d","type":"degradations","attributes":{"components_affected":[{"id":"ccf4aff5-a66c-4745-95cd-6913b8fe923b","name":"6e0ac73a3aac14d9","status":"major_outage"}],"created_at":"2026-01-09T15:10:34.854568Z","description":"","modified_at":"2026-01-09T15:10:34.854568Z","status":"investigating","title":"Test-Delete_degradation_returns_No_Content_response-1767971434","updates":[{"id":"8c235e5d-20e2-465f-b4c5-8829c852aa64","created_at":"2026-01-09T15:10:34.854568Z","modified_at":"2026-01-09T15:10:34.854568Z","started_at":"0001-01-01T00:00:00Z","status":"investigating","description":"","components_affected":[{"id":"ccf4aff5-a66c-4745-95cd-6913b8fe923b","name":"6e0ac73a3aac14d9","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"c2bb233a-5c1c-44cd-9805-45a7db97251e","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/c2bb233a-5c1c-44cd-9805-45a7db97251e/degradations/4f486ca4-cc4f-4078-bd17-ae764a77788d + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/c2bb233a-5c1c-44cd-9805-45a7db97251e/degradations/4f486ca4-cc4f-4078-bd17-ae764a77788d + response: + body: + string: '{"errors":[{"title":"Generic Error","detail":"degradation not found"}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/c2bb233a-5c1c-44cd-9805-45a7db97251e + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.frozen b/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.frozen new file mode 100644 index 0000000000..21e29828a0 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:35.590Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.yaml b/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.yaml new file mode 100644 index 0000000000..c63f5ce00c --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_delete_status_page_returns_no_content_response.yaml @@ -0,0 +1,52 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"40b563f89cb4c39d","type":"component"}],"domain_prefix":"dd-integration-tests-40b563f89cb4c39d","enabled":true,"name":"[DD + Integration Tests] 40b563f89cb4c39d","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"48d99313-e0c7-4191-89a2-a53a8bc6b789","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"d2fc15ec-3955-4215-8d2f-70ec54d42ab8","name":"40b563f89cb4c39d","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:35.73108Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-40b563f89cb4c39d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:35.73108Z","name":"[DD + Integration Tests] 40b563f89cb4c39d","page_url":"https://frog.datadoghq.com/status-pages/48d99313-e0c7-4191-89a2-a53a8bc6b789/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/48d99313-e0c7-4191-89a2-a53a8bc6b789 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/48d99313-e0c7-4191-89a2-a53a8bc6b789 + response: + body: + string: '{"errors":[{"title":"Generic Error","detail":"status page not found"}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.frozen new file mode 100644 index 0000000000..b4766bb29f --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:36.762Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.yaml new file mode 100644 index 0000000000..76e2f67c2d --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_component_returns_ok_response.yaml @@ -0,0 +1,52 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"b431563880c76af5","type":"component"}],"domain_prefix":"dd-integration-tests-b431563880c76af5","enabled":true,"name":"[DD + Integration Tests] b431563880c76af5","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"6bcd6526-f434-400b-a122-5a85d756ac05","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"dd4873ec-14bf-4d53-a6e7-dcbadb247cbc","name":"b431563880c76af5","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:36.900813Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-b431563880c76af5","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:36.900813Z","name":"[DD + Integration Tests] b431563880c76af5","page_url":"https://frog.datadoghq.com/status-pages/6bcd6526-f434-400b-a122-5a85d756ac05/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/6bcd6526-f434-400b-a122-5a85d756ac05/components/dd4873ec-14bf-4d53-a6e7-dcbadb247cbc + response: + body: + string: '{"data":{"id":"dd4873ec-14bf-4d53-a6e7-dcbadb247cbc","type":"components","attributes":{"created_at":"2026-01-09T15:10:36.900813Z","modified_at":"2026-01-09T15:10:36.900813Z","name":"b431563880c76af5","position":0,"status":"operational","type":"component"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"group":{"data":null},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"6bcd6526-f434-400b-a122-5a85d756ac05","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/6bcd6526-f434-400b-a122-5a85d756ac05 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.frozen new file mode 100644 index 0000000000..77ec7855df --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:37.934Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.yaml new file mode 100644 index 0000000000..4765a89e08 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_degradation_returns_ok_response.yaml @@ -0,0 +1,84 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"899d733c0fb73689","type":"component"}],"domain_prefix":"dd-integration-tests-899d733c0fb73689","enabled":true,"name":"[DD + Integration Tests] 899d733c0fb73689","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"6fefe1b3-beb8-4bb0-88be-a66a80fb019e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"4ad10b7a-5042-48e8-8261-8280f0cb6068","name":"899d733c0fb73689","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:38.077815Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-899d733c0fb73689","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:38.077815Z","name":"[DD + Integration Tests] 899d733c0fb73689","page_url":"https://frog.datadoghq.com/status-pages/6fefe1b3-beb8-4bb0-88be-a66a80fb019e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"4ad10b7a-5042-48e8-8261-8280f0cb6068","status":"major_outage"}],"status":"investigating","title":"Test-Get_degradation_returns_OK_response-1767971437"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/6fefe1b3-beb8-4bb0-88be-a66a80fb019e/degradations + response: + body: + string: '{"data":{"id":"e8503dfd-7b3c-4dc7-817e-d31d1b993d21","type":"degradations","attributes":{"components_affected":[{"id":"4ad10b7a-5042-48e8-8261-8280f0cb6068","name":"899d733c0fb73689","status":"major_outage"}],"created_at":"2026-01-09T15:10:38.577046Z","description":"","modified_at":"2026-01-09T15:10:38.577046Z","status":"investigating","title":"Test-Get_degradation_returns_OK_response-1767971437","updates":[{"id":"a32880c7-6124-41cc-9dcb-6a98381bf007","created_at":"2026-01-09T15:10:38.577046Z","modified_at":"2026-01-09T15:10:38.577046Z","started_at":"0001-01-01T00:00:00Z","status":"investigating","description":"","components_affected":[{"id":"4ad10b7a-5042-48e8-8261-8280f0cb6068","name":"899d733c0fb73689","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"6fefe1b3-beb8-4bb0-88be-a66a80fb019e","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/6fefe1b3-beb8-4bb0-88be-a66a80fb019e/degradations/e8503dfd-7b3c-4dc7-817e-d31d1b993d21 + response: + body: + string: '{"data":{"id":"e8503dfd-7b3c-4dc7-817e-d31d1b993d21","type":"degradations","attributes":{"components_affected":[{"id":"4ad10b7a-5042-48e8-8261-8280f0cb6068","name":"899d733c0fb73689","status":"major_outage"}],"created_at":"2026-01-09T15:10:38.577046Z","description":"","modified_at":"2026-01-09T15:10:38.577046Z","status":"investigating","title":"Test-Get_degradation_returns_OK_response-1767971437","updates":[{"id":"a32880c7-6124-41cc-9dcb-6a98381bf007","created_at":"2026-01-09T15:10:38.577046Z","modified_at":"2026-01-09T15:10:38.577046Z","started_at":"0001-01-01T00:00:00Z","status":"investigating","description":"","components_affected":[{"id":"4ad10b7a-5042-48e8-8261-8280f0cb6068","name":"899d733c0fb73689","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"6fefe1b3-beb8-4bb0-88be-a66a80fb019e","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/6fefe1b3-beb8-4bb0-88be-a66a80fb019e/degradations/e8503dfd-7b3c-4dc7-817e-d31d1b993d21 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/6fefe1b3-beb8-4bb0-88be-a66a80fb019e + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.frozen new file mode 100644 index 0000000000..768b9333a1 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:39.311Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.yaml new file mode 100644 index 0000000000..b99cc8a35b --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_status_page_returns_ok_response.yaml @@ -0,0 +1,53 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"abe8887f2e64dfa4","type":"component"}],"domain_prefix":"dd-integration-tests-abe8887f2e64dfa4","enabled":true,"name":"[DD + Integration Tests] abe8887f2e64dfa4","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"46c35c5d-07d3-456c-9e5c-f254b74cc28e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"584cde9f-4221-4e98-9d3f-087a867abd06","name":"abe8887f2e64dfa4","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:39.435658Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-abe8887f2e64dfa4","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:39.435658Z","name":"[DD + Integration Tests] abe8887f2e64dfa4","page_url":"https://frog.datadoghq.com/status-pages/46c35c5d-07d3-456c-9e5c-f254b74cc28e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/46c35c5d-07d3-456c-9e5c-f254b74cc28e + response: + body: + string: '{"data":{"id":"46c35c5d-07d3-456c-9e5c-f254b74cc28e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"584cde9f-4221-4e98-9d3f-087a867abd06","name":"abe8887f2e64dfa4","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:39.435658Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-abe8887f2e64dfa4","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:39.435658Z","name":"[DD + Integration Tests] abe8887f2e64dfa4","page_url":"https://frog.datadoghq.com/status-pages/46c35c5d-07d3-456c-9e5c-f254b74cc28e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/46c35c5d-07d3-456c-9e5c-f254b74cc28e + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.frozen new file mode 100644 index 0000000000..63d8cd0067 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:40.428Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.yaml new file mode 100644 index 0000000000..f4daa00620 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_components_returns_ok_response.yaml @@ -0,0 +1,52 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"c516461d84658757","type":"component"}],"domain_prefix":"dd-integration-tests-c516461d84658757","enabled":true,"name":"[DD + Integration Tests] c516461d84658757","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"4a0b33cf-63b3-4157-bc15-9b51998e83cc","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"a2c27d85-60eb-42cf-95d7-8929fae0ff5f","name":"c516461d84658757","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:40.571898Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-c516461d84658757","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:40.571898Z","name":"[DD + Integration Tests] c516461d84658757","page_url":"https://frog.datadoghq.com/status-pages/4a0b33cf-63b3-4157-bc15-9b51998e83cc/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/4a0b33cf-63b3-4157-bc15-9b51998e83cc/components + response: + body: + string: '{"data":[{"id":"a2c27d85-60eb-42cf-95d7-8929fae0ff5f","type":"components","attributes":{"created_at":"2026-01-09T15:10:40.571898Z","modified_at":"2026-01-09T15:10:40.571898Z","name":"c516461d84658757","position":0,"status":"operational","type":"component"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"group":{"data":null},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"4a0b33cf-63b3-4157-bc15-9b51998e83cc","type":"status_pages"}}}}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/4a0b33cf-63b3-4157-bc15-9b51998e83cc + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.frozen new file mode 100644 index 0000000000..f10199284d --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:41.484Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.yaml new file mode 100644 index 0000000000..e9c073b656 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_degradations_returns_ok_response.yaml @@ -0,0 +1,84 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"ba5854b43ab30d6e","type":"component"}],"domain_prefix":"dd-integration-tests-ba5854b43ab30d6e","enabled":true,"name":"[DD + Integration Tests] ba5854b43ab30d6e","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"e7066362-3fa7-459a-a52c-b375b49681dc","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"e1649bff-ecfb-4c92-95b3-577eae4bd08c","name":"ba5854b43ab30d6e","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:41.613246Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-ba5854b43ab30d6e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:41.613246Z","name":"[DD + Integration Tests] ba5854b43ab30d6e","page_url":"https://frog.datadoghq.com/status-pages/e7066362-3fa7-459a-a52c-b375b49681dc/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"e1649bff-ecfb-4c92-95b3-577eae4bd08c","status":"major_outage"}],"status":"investigating","title":"Test-List_degradations_returns_OK_response-1767971441"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/e7066362-3fa7-459a-a52c-b375b49681dc/degradations + response: + body: + string: '{"data":{"id":"3df8f703-c9d1-4ab5-9e21-f0357ee64df6","type":"degradations","attributes":{"components_affected":[{"id":"e1649bff-ecfb-4c92-95b3-577eae4bd08c","name":"ba5854b43ab30d6e","status":"major_outage"}],"created_at":"2026-01-09T15:10:42.12258Z","description":"","modified_at":"2026-01-09T15:10:42.12258Z","status":"investigating","title":"Test-List_degradations_returns_OK_response-1767971441","updates":[{"id":"ac710e62-ea83-4ba9-9124-0c16d4797bb3","created_at":"2026-01-09T15:10:42.12258Z","modified_at":"2026-01-09T15:10:42.12258Z","started_at":"0001-01-01T00:00:00Z","status":"investigating","description":"","components_affected":[{"id":"e1649bff-ecfb-4c92-95b3-577eae4bd08c","name":"ba5854b43ab30d6e","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"e7066362-3fa7-459a-a52c-b375b49681dc","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages/degradations + response: + body: + string: '{"data":[{"id":"3df8f703-c9d1-4ab5-9e21-f0357ee64df6","type":"degradations","attributes":{"components_affected":[{"id":"e1649bff-ecfb-4c92-95b3-577eae4bd08c","name":"ba5854b43ab30d6e","status":"major_outage"}],"created_at":"2026-01-09T15:10:42.12258Z","description":"","modified_at":"2026-01-09T15:10:42.12258Z","status":"investigating","title":"Test-List_degradations_returns_OK_response-1767971441","updates":[{"id":"ac710e62-ea83-4ba9-9124-0c16d4797bb3","created_at":"2026-01-09T15:10:42.12258Z","modified_at":"2026-01-09T15:10:42.12258Z","started_at":"0001-01-01T00:00:00Z","status":"investigating","description":"","components_affected":[{"id":"e1649bff-ecfb-4c92-95b3-577eae4bd08c","name":"ba5854b43ab30d6e","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"e7066362-3fa7-459a-a52c-b375b49681dc","type":"status_pages"}}}}],"meta":{"page":{"type":"offset_limit","offset":0,"limit":50,"total":1,"first_offset":0,"prev_offset":null,"next_offset":null,"last_offset":0}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/e7066362-3fa7-459a-a52c-b375b49681dc/degradations/3df8f703-c9d1-4ab5-9e21-f0357ee64df6 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/e7066362-3fa7-459a-a52c-b375b49681dc + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.frozen new file mode 100644 index 0000000000..4dd141e72b --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:42.881Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.yaml new file mode 100644 index 0000000000..f1dec09ce4 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_status_pages_returns_ok_response.yaml @@ -0,0 +1,79 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"5e73c258cf890af1","type":"component"}],"domain_prefix":"dd-integration-tests-5e73c258cf890af1","enabled":true,"name":"[DD + Integration Tests] 5e73c258cf890af1","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"49f512f1-cc33-433b-9856-546a9b6bc558","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"87854501-5e38-4291-9347-9b26b30f7cc1","name":"5e73c258cf890af1","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:43.023408Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-5e73c258cf890af1","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:43.023408Z","name":"[DD + Integration Tests] 5e73c258cf890af1","page_url":"https://frog.datadoghq.com/status-pages/49f512f1-cc33-433b-9856-546a9b6bc558/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: null + headers: + accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":[{"id":"49f512f1-cc33-433b-9856-546a9b6bc558","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"87854501-5e38-4291-9347-9b26b30f7cc1","name":"5e73c258cf890af1","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:43.023408Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-5e73c258cf890af1","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:43.023408Z","name":"[DD + Integration Tests] 5e73c258cf890af1","page_url":"https://frog.datadoghq.com/status-pages/49f512f1-cc33-433b-9856-546a9b6bc558/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"6e7cd26d-79d2-4dfa-bc03-14d914aa44ec","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"b2100c9b-d016-40d4-b67f-647abb9d7916","name":"9ba6df06aa644d8b","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T22:05:22.623944Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-9ba6df06aa644d8b","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T22:05:22.623944Z","name":"[DD + Integration Test] 9ba6df06aa644d8b","page_url":"https://frog.datadoghq.com/status-pages/6e7cd26d-79d2-4dfa-bc03-14d914aa44ec/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"6535d2c8-2d61-4534-8151-16c3c574bcfb","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2178a015-9c63-4745-bef0-1c7135d1b589","name":"54fe6e4053ebf532","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T22:05:19.225268Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-54fe6e4053ebf532","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T22:05:19.225268Z","name":"[DD + Integration Test] 54fe6e4053ebf532","page_url":"https://frog.datadoghq.com/status-pages/6535d2c8-2d61-4534-8151-16c3c574bcfb/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"3db89765-421e-4a36-9f60-ceb162065641","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"5e73ceed-9884-45e7-965e-f1ee95179c35","name":"077d555eebe600d3","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T21:55:48.801746Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-077d555eebe600d3","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:55:48.801746Z","name":"[DD + Integration Test] 077d555eebe600d3","page_url":"https://frog.datadoghq.com/status-pages/3db89765-421e-4a36-9f60-ceb162065641/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"5d678e15-7600-4155-b3b3-48508819494e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"38fbfc07-c795-4da4-9a29-7efccdd3dcd3","name":"c6ab27006fcf9f4f","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T21:55:46.101889Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-c6ab27006fcf9f4f","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:55:46.101889Z","name":"[DD + Integration Test] c6ab27006fcf9f4f","page_url":"https://frog.datadoghq.com/status-pages/5d678e15-7600-4155-b3b3-48508819494e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"90de0053-004c-49f5-ac0f-8629155e9fe4","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"f6b66363-15fd-4463-8054-4ac69d3646a5","name":"b21466a263ea70bd","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T21:49:26.186112Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-b21466a263ea70bd","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:49:26.186112Z","name":"[DD + Integration Test] b21466a263ea70bd","page_url":"https://frog.datadoghq.com/status-pages/90de0053-004c-49f5-ac0f-8629155e9fe4/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"d47b09d6-7037-407c-af7b-f88633cf7462","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"d866aa95-5d0c-4045-9a44-4067ca52124b","name":"9ccc29ccc7ee9a0b","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T21:49:23.174194Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-9ccc29ccc7ee9a0b","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:49:23.174194Z","name":"[DD + Integration Test] 9ccc29ccc7ee9a0b","page_url":"https://frog.datadoghq.com/status-pages/d47b09d6-7037-407c-af7b-f88633cf7462/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"bc304f2e-115b-4845-824c-1bb53290a052","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"b14a8692-41db-4235-9243-2b80078e5992","name":"3143901166b0273b","type":"component","status":"operational","position":0},{"id":"9d65e710-e914-4120-9b8f-523e57ad350b","name":"3143901166b0273b","type":"component","status":"operational","position":1}],"created_at":"2026-01-07T21:49:18.933778Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-3143901166b0273b","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:49:18.933778Z","name":"[DD + Integration Test] 3143901166b0273b","page_url":"https://frog.datadoghq.com/status-pages/bc304f2e-115b-4845-824c-1bb53290a052/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"6a519e03-8ded-4dc5-a2b3-d7044df1e27e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"248244d7-3563-4af1-8f7a-cc27535c7906","name":"1c37956378cc69f6","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T21:41:50.317387Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-1c37956378cc69f6","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:41:50.317387Z","name":"[DD + Integration Test] 1c37956378cc69f6","page_url":"https://frog.datadoghq.com/status-pages/6a519e03-8ded-4dc5-a2b3-d7044df1e27e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"fd9e7865-b7e1-4b26-9dbf-f413f7f4344d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"a0a76efc-9290-4dd2-9510-72352f66275c","name":"61f869c3aa19a4b7","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T21:41:47.280186Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-61f869c3aa19a4b7","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:41:47.280186Z","name":"[DD + Integration Test] 61f869c3aa19a4b7","page_url":"https://frog.datadoghq.com/status-pages/fd9e7865-b7e1-4b26-9dbf-f413f7f4344d/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"4fabae47-e7e4-468a-a789-401f9d495ba8","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"c3dc1706-689f-4384-b1a7-642d659c7aaa","name":"870bec4063819bfd","type":"component","status":"operational","position":0},{"id":"36b2e214-b16b-4f4e-9c82-a2a2f5f58754","name":"870bec4063819bfd","type":"component","status":"operational","position":1}],"created_at":"2026-01-07T21:41:42.385118Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-870bec4063819bfd","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:41:42.385118Z","name":"[DD + Integration Test] 870bec4063819bfd","page_url":"https://frog.datadoghq.com/status-pages/4fabae47-e7e4-468a-a789-401f9d495ba8/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"ed901017-3b6a-412c-a09d-1fe4b50d5e36","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:22:43.675027Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-e05459544e87a3fe","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:22:43.675027Z","name":"[DD + Integration Test] e05459544e87a3fe","page_url":"https://frog.datadoghq.com/status-pages/ed901017-3b6a-412c-a09d-1fe4b50d5e36/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"c262df8c-9002-4e61-a03b-d323920b114a","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:22:40.516393Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-30e3c8ba4f62d497","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:22:40.516393Z","name":"[DD + Integration Test] 30e3c8ba4f62d497","page_url":"https://frog.datadoghq.com/status-pages/c262df8c-9002-4e61-a03b-d323920b114a/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"ae02ad48-4559-4e8b-9889-0a956faa575c","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:22:38.425471Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-1ba103377093c75e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:22:38.425471Z","name":"[DD + Integration Test] 1ba103377093c75e","page_url":"https://frog.datadoghq.com/status-pages/ae02ad48-4559-4e8b-9889-0a956faa575c/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"a27d141d-5dbd-49db-98ec-73282ec8c80d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2ff20b5f-9491-4c47-a206-0ed62ed48830","name":"64ab73a5b8f98b8d","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T21:22:37.706128Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-test-64ab73a5b8f98b8d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T21:22:37.706128Z","name":"[DD + Integration Test] 64ab73a5b8f98b8d","page_url":"https://frog.datadoghq.com/status-pages/a27d141d-5dbd-49db-98ec-73282ec8c80d/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"a1c25dbe-c831-48bd-aace-c3409677af46","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:11:56.780114Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-0db702e3d8a7bd3c","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:11:56.780114Z","name":"[DD + Integration Tests] 0db702e3d8a7bd3c","page_url":"https://dd-integration-tests-0db702e3d8a7bd3c.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"e8e27aab-fd3a-464f-a92c-1dffbaf8d87b","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:11:54.033448Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-82646388753265bf","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:11:54.033448Z","name":"[DD + Integration Tests] 82646388753265bf","page_url":"https://dd-integration-tests-82646388753265bf.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"eeeeb3bb-f4cb-478e-bf7d-67f64c956a06","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:11:52.229036Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-00e82e0f4dc68aae","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:11:52.229036Z","name":"[DD + Integration Tests] 00e82e0f4dc68aae","page_url":"https://dd-integration-tests-00e82e0f4dc68aae.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"9b1f5e72-5969-4853-ad19-6a5020b033b8","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:10:11.1415Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-4e4bc320b5b5f2c0","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:10:11.1415Z","name":"[DD + Integration Tests] 4e4bc320b5b5f2c0","page_url":"https://dd-integration-tests-4e4bc320b5b5f2c0.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"8ca981f1-be34-4764-80fa-616b982116c9","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:10:07.983695Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-8057687cf2d73daa","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:10:07.983695Z","name":"[DD + Integration Tests] 8057687cf2d73daa","page_url":"https://dd-integration-tests-8057687cf2d73daa.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"d392d939-0c15-41bb-bace-4b06b83387e6","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:10:06.271298Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-fc83cc60c0c3a755","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:10:06.271298Z","name":"[DD + Integration Tests] fc83cc60c0c3a755","page_url":"https://dd-integration-tests-fc83cc60c0c3a755.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"83fd9094-3cfa-4633-8ed0-82007f67f8a5","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"c1500be3-201d-4e96-959f-1b82966d4fcf","name":"f12dadf4e55361ae","type":"component","status":"operational","position":0}],"created_at":"2026-01-07T21:10:05.67638Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-f12dadf4e55361ae","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:10:05.67638Z","name":"[DD + Integration Tests] f12dadf4e55361ae","page_url":"https://dd-integration-tests-f12dadf4e55361ae.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"d4389eb4-44e3-4702-a529-3e8222d7df14","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:03:50.757662Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-5ab57055089e6436","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:03:50.757662Z","name":"[DD + Integration Tests] 5ab57055089e6436","page_url":"https://dd-integration-tests-5ab57055089e6436.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"5753e1d2-108f-4638-a1f0-97b9610ef01e","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:03:47.811848Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-9e473b8c7d84baba","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:03:47.811848Z","name":"[DD + Integration Tests] 9e473b8c7d84baba","page_url":"https://dd-integration-tests-9e473b8c7d84baba.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"8d518371-6de9-4d93-8678-f0bd40e4fe9e","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T21:03:45.784706Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-edc47fe7bdd8355b","email_header_image":null,"enabled":false,"favicon":null,"modified_at":"2026-01-07T21:03:45.784706Z","name":"[DD + Integration Tests] edc47fe7bdd8355b","page_url":"https://dd-integration-tests-edc47fe7bdd8355b.statuspage.datadoghq.com","subscriptions_enabled":false,"type":"public","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"e1ca6871-b3a2-4e66-9558-1b375ba35fe5","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T20:43:44.147307Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integrations-tests-test-page-2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T20:43:44.147307Z","name":"[DD + Integration Tests] test page 2","page_url":"https://frog.datadoghq.com/status-pages/e1ca6871-b3a2-4e66-9558-1b375ba35fe5/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}},{"id":"67a67cf9-02ea-48d6-baf7-e6c2d8c20baf","type":"status_pages","attributes":{"company_logo":null,"components":[],"created_at":"2026-01-07T20:36:07.947173Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integrations-tests-test-page","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-07T20:36:07.947173Z","name":"[DD + Integration Tests] test page","page_url":"https://frog.datadoghq.com/status-pages/67a67cf9-02ea-48d6-baf7-e6c2d8c20baf/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}],"meta":{"page":{"type":"offset_limit","offset":0,"limit":50,"total":null,"first_offset":0,"prev_offset":null,"next_offset":50,"last_offset":null}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/49f512f1-cc33-433b-9856-546a9b6bc558 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.frozen new file mode 100644 index 0000000000..5060d5d722 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:44.231Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.yaml new file mode 100644 index 0000000000..bfe124257a --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_component_returns_ok_response.yaml @@ -0,0 +1,54 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"6465bfa84faaf0b2","type":"component"}],"domain_prefix":"dd-integration-tests-6465bfa84faaf0b2","enabled":true,"name":"[DD + Integration Tests] 6465bfa84faaf0b2","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"99c044f8-e2d0-42e1-a002-8f17a0d0a2b3","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"a934b735-7f6a-4af8-b271-07648058f3aa","name":"6465bfa84faaf0b2","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:44.359918Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-6465bfa84faaf0b2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:44.359918Z","name":"[DD + Integration Tests] 6465bfa84faaf0b2","page_url":"https://frog.datadoghq.com/status-pages/99c044f8-e2d0-42e1-a002-8f17a0d0a2b3/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"name":"6465bfa84faaf0b2"},"id":"a934b735-7f6a-4af8-b271-07648058f3aa","type":"components"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: PATCH + uri: https://api.datadoghq.com/api/v2/statuspages/99c044f8-e2d0-42e1-a002-8f17a0d0a2b3/components/a934b735-7f6a-4af8-b271-07648058f3aa + response: + body: + string: '{"data":{"id":"a934b735-7f6a-4af8-b271-07648058f3aa","type":"components","attributes":{"created_at":"2026-01-09T15:10:44.359918Z","modified_at":"2026-01-09T15:10:44.823098Z","name":"6465bfa84faaf0b2","position":0,"status":"operational","type":"component"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"group":{"data":null},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"99c044f8-e2d0-42e1-a002-8f17a0d0a2b3","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/99c044f8-e2d0-42e1-a002-8f17a0d0a2b3 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.frozen new file mode 100644 index 0000000000..91a2d8e61a --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:45.230Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.yaml new file mode 100644 index 0000000000..452cc7cad3 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_degradation_returns_ok_response.yaml @@ -0,0 +1,86 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"390bb05612120734","type":"component"}],"domain_prefix":"dd-integration-tests-390bb05612120734","enabled":true,"name":"[DD + Integration Tests] 390bb05612120734","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"8b4b0e3f-fad2-4522-af29-6b62e4d39605","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"3c0f50a3-5c70-4b03-86ad-75d4748000f2","name":"390bb05612120734","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:45.376117Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-390bb05612120734","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:45.376117Z","name":"[DD + Integration Tests] 390bb05612120734","page_url":"https://frog.datadoghq.com/status-pages/8b4b0e3f-fad2-4522-af29-6b62e4d39605/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"components_affected":[{"id":"3c0f50a3-5c70-4b03-86ad-75d4748000f2","status":"major_outage"}],"status":"investigating","title":"Test-Update_degradation_returns_OK_response-1767971445"},"type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/8b4b0e3f-fad2-4522-af29-6b62e4d39605/degradations + response: + body: + string: '{"data":{"id":"425e21e9-e614-4a50-8f1f-8b657122b375","type":"degradations","attributes":{"components_affected":[{"id":"3c0f50a3-5c70-4b03-86ad-75d4748000f2","name":"390bb05612120734","status":"major_outage"}],"created_at":"2026-01-09T15:10:45.83538Z","description":"","modified_at":"2026-01-09T15:10:45.83538Z","status":"investigating","title":"Test-Update_degradation_returns_OK_response-1767971445","updates":[{"id":"87dcf959-5909-4fc4-8e6a-d038a2d5f61f","created_at":"2026-01-09T15:10:45.83538Z","modified_at":"2026-01-09T15:10:45.83538Z","started_at":"0001-01-01T00:00:00Z","status":"investigating","description":"","components_affected":[{"id":"3c0f50a3-5c70-4b03-86ad-75d4748000f2","name":"390bb05612120734","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"8b4b0e3f-fad2-4522-af29-6b62e4d39605","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"title":"390bb05612120734"},"id":"425e21e9-e614-4a50-8f1f-8b657122b375","type":"degradations"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: PATCH + uri: https://api.datadoghq.com/api/v2/statuspages/8b4b0e3f-fad2-4522-af29-6b62e4d39605/degradations/425e21e9-e614-4a50-8f1f-8b657122b375 + response: + body: + string: '{"data":{"id":"425e21e9-e614-4a50-8f1f-8b657122b375","type":"degradations","attributes":{"components_affected":[{"id":"3c0f50a3-5c70-4b03-86ad-75d4748000f2","name":"390bb05612120734","status":"major_outage"}],"created_at":"2026-01-09T15:10:45.83538Z","description":"","modified_at":"2026-01-09T15:10:45.999809Z","status":"investigating","title":"390bb05612120734","updates":[{"id":"87dcf959-5909-4fc4-8e6a-d038a2d5f61f","created_at":"2026-01-09T15:10:45.83538Z","modified_at":"2026-01-09T15:10:45.83538Z","started_at":"0001-01-01T00:00:00Z","status":"investigating","description":"","components_affected":[{"id":"3c0f50a3-5c70-4b03-86ad-75d4748000f2","name":"390bb05612120734","status":"major_outage"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"status_page":{"data":{"id":"8b4b0e3f-fad2-4522-af29-6b62e4d39605","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/8b4b0e3f-fad2-4522-af29-6b62e4d39605/degradations/425e21e9-e614-4a50-8f1f-8b657122b375 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/8b4b0e3f-fad2-4522-af29-6b62e4d39605 + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.frozen new file mode 100644 index 0000000000..d84d5839c9 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-01-09T15:10:46.583Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.yaml new file mode 100644 index 0000000000..13d01a1cbd --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_status_page_returns_ok_response.yaml @@ -0,0 +1,55 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"name":"080487af61d0e9df","type":"component"}],"domain_prefix":"dd-integration-tests-080487af61d0e9df","enabled":true,"name":"[DD + Integration Tests] 080487af61d0e9df","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages + response: + body: + string: '{"data":{"id":"714c1ee4-c984-4ce7-9e08-abf4a690f94e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"a98eaced-6615-4662-a2a2-96d600c79ec4","name":"080487af61d0e9df","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:46.745983Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-080487af61d0e9df","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:46.745983Z","name":"[DD + Integration Tests] 080487af61d0e9df","page_url":"https://frog.datadoghq.com/status-pages/714c1ee4-c984-4ce7-9e08-abf4a690f94e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"name":"[DD Integration Tests] 080487af61d0e9df"},"id":"714c1ee4-c984-4ce7-9e08-abf4a690f94e","type":"status_pages"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: PATCH + uri: https://api.datadoghq.com/api/v2/statuspages/714c1ee4-c984-4ce7-9e08-abf4a690f94e + response: + body: + string: '{"data":{"id":"714c1ee4-c984-4ce7-9e08-abf4a690f94e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"a98eaced-6615-4662-a2a2-96d600c79ec4","name":"080487af61d0e9df","type":"component","status":"operational","position":0}],"created_at":"2026-01-09T15:10:46.745983Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dd-integration-tests-080487af61d0e9df","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-09T15:10:47.266518Z","name":"[DD + Integration Tests] 080487af61d0e9df","page_url":"https://frog.datadoghq.com/status-pages/714c1ee4-c984-4ce7-9e08-abf4a690f94e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +- request: + body: null + headers: + accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/statuspages/714c1ee4-c984-4ce7-9e08-abf4a690f94e + response: + body: + string: '' + headers: {} + status: + code: 204 + message: No Content +version: 1 diff --git a/tests/v2/features/given.json b/tests/v2/features/given.json index aa08181879..b9d2199fd7 100644 --- a/tests/v2/features/given.json +++ b/tests/v2/features/given.json @@ -1185,6 +1185,34 @@ "tag": "Service Level Objectives", "operationId": "CreateSLOReportJob" }, + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"name\": \"[DD Integration Tests] {{ unique_hash }}\",\n \"domain_prefix\": \"dd-integration-tests-{{ unique_hash }}\",\n \"components\": [{\"name\": \"{{ unique_hash }}\", \"type\": \"component\"}],\n \"type\": \"internal\",\n \"visualization_type\": \"bars_and_uptime_percentage\",\n \"enabled\": true\n },\n \"type\": \"status_pages\"\n }\n}" + } + ], + "step": "there is a valid \"status_page\" in the system", + "key": "status_page", + "tag": "Status Pages", + "operationId": "CreateStatusPage" + }, + { + "parameters": [ + { + "name": "page_id", + "source": "status_page.data.id" + }, + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"title\": \"{{ unique }}\",\n \"status\": \"investigating\",\n \"components_affected\": [\n {\n \"id\": \"{{ status_page.data.attributes.components[0].id }}\",\n \"status\": \"major_outage\"\n }\n ]\n },\n \"type\": \"degradations\"\n }\n}" + } + ], + "step": "there is a valid \"degradation\" in the system", + "key": "degradation", + "tag": "Status Pages", + "operationId": "CreateDegradation" + }, { "parameters": [ { diff --git a/tests/v2/features/status_pages.feature b/tests/v2/features/status_pages.feature new file mode 100644 index 0000000000..a3c946ad9f --- /dev/null +++ b/tests/v2/features/status_pages.feature @@ -0,0 +1,140 @@ +@endpoint(status-pages) @endpoint(status-pages-v2) +Feature: Status Pages + Auto-generated tag Status Pages + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "StatusPages" API + + @team:DataDog/incident-app + Scenario: Create component returns "Created" response + Given there is a valid "status_page" in the system + And new "CreateComponent" request + And request contains "page_id" parameter from "status_page.data.id" + And body with value {"data": {"attributes": {"name": "{{ unique_hash }}", "position": 0, "type": "component"}, "type": "components"}} + When the request is sent + Then the response status is 201 Created + + @team:DataDog/incident-app + Scenario: Create degradation returns "Created" response + Given there is a valid "status_page" in the system + And new "CreateDegradation" request + And request contains "page_id" parameter from "status_page.data.id" + And body with value {"data": {"attributes": {"components_affected": [{"id": "{{ status_page.data.attributes.components[0].id }}", "status": "major_outage"}], "description": "{{ unique_hash }}", "status": "investigating", "title": "{{ unique_hash }}"}, "type": "degradations"}} + When the request is sent + Then the response status is 201 Created + + @team:DataDog/incident-app + Scenario: Create status page returns "Created" response + Given new "CreateStatusPage" request + And body with value {"data": {"attributes": {"name": "[DD Integration Tests] {{ unique_hash }}", "domain_prefix": "dd-integrations-tests-{{ unique_hash }}", "enabled": true, "type": "internal", "visualization_type": "bars_and_uptime_percentage"}, "type": "status_pages"}} + When the request is sent + Then the response status is 201 Created + + @team:DataDog/incident-app + Scenario: Delete component returns "No Content" response + Given new "DeleteComponent" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "component_id" parameter from "status_page.data.attributes.components[0].id" + When the request is sent + Then the response status is 204 No Content + + @team:DataDog/incident-app + Scenario: Delete degradation returns "No Content" response + Given new "DeleteDegradation" request + And there is a valid "status_page" in the system + And there is a valid "degradation" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "degradation_id" parameter from "degradation.data.id" + When the request is sent + Then the response status is 204 No Content + + @team:DataDog/incident-app + Scenario: Delete status page returns "No Content" response + Given new "DeleteStatusPage" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + When the request is sent + Then the response status is 204 No Content + + @team:DataDog/incident-app + Scenario: Get component returns "OK" response + Given new "GetComponent" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "component_id" parameter from "status_page.data.attributes.components[0].id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: Get degradation returns "OK" response + Given new "GetDegradation" request + And there is a valid "status_page" in the system + And there is a valid "degradation" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "degradation_id" parameter from "degradation.data.id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: Get status page returns "OK" response + Given new "GetStatusPage" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: List components returns "OK" response + Given new "ListComponents" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: List degradations returns "OK" response + Given new "ListDegradations" request + And there is a valid "status_page" in the system + And there is a valid "degradation" in the system + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: List status pages returns "OK" response + Given new "ListStatusPages" request + And there is a valid "status_page" in the system + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: Update component returns "OK" response + Given new "UpdateComponent" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "component_id" parameter from "status_page.data.attributes.components[0].id" + And body with value {"data": {"attributes": {"name": "{{ unique_hash }}"}, "id": "{{ status_page.data.attributes.components[0].id }}", "type": "components"}} + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: Update degradation returns "OK" response + Given new "UpdateDegradation" request + And there is a valid "status_page" in the system + And there is a valid "degradation" in the system + And request contains "page_id" parameter from "status_page.data.id" + And request contains "degradation_id" parameter from "degradation.data.id" + And body with value {"data": {"attributes": {"title": "{{ unique_hash }}"}, "id": "{{ degradation.data.id }}", "type": "degradations"}} + When the request is sent + Then the response status is 200 OK + + @team:DataDog/incident-app + Scenario: Update status page returns "OK" response + Given new "UpdateStatusPage" request + And there is a valid "status_page" in the system + And request contains "page_id" parameter from "status_page.data.id" + And body with value {"data": {"attributes": {"name": "[DD Integration Tests] {{ unique_hash }}"}, "id": "{{ status_page.data.id }}", "type": "status_pages"}} + 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 1dc732f700..5ac23f9616 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -4516,6 +4516,125 @@ "type": "safe" } }, + "ListStatusPages": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "CreateStatusPage": { + "tag": "Status Pages", + "undo": { + "operationId": "DeleteStatusPage", + "parameters": [ + { + "name": "page_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "ListDegradations": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "DeleteStatusPage": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "GetStatusPage": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "UpdateStatusPage": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "ListComponents": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "CreateComponent": { + "tag": "Status Pages", + "undo": { + "operationId": "DeleteComponent", + "parameters": [ + { + "name": "page_id", + "source": "data.relationships.status_page.data.id" + }, + { + "name": "component_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteComponent": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "GetComponent": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "UpdateComponent": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "CreateDegradation": { + "tag": "Status Pages", + "undo": { + "operationId": "DeleteDegradation", + "parameters": [ + { + "name": "page_id", + "source": "data.relationships.status_page.data.id" + }, + { + "name": "degradation_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteDegradation": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, + "GetDegradation": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "UpdateDegradation": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, "GetOnDemandConcurrencyCap": { "tag": "Synthetics", "undo": {