From a4015daa2c80db3251cd268b7d6282c62c047c18 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Fri, 20 Feb 2026 02:26:25 +0000 Subject: [PATCH] Regenerate client from commit 7f23863 of spec repo --- .generator/schemas/v2/openapi.yaml | 690 +++++++++++++++++- docs/datadog_api_client.v2.model.rst | 203 +++++- examples/v2/status-pages/CreateMaintenance.py | 54 ++ examples/v2/status-pages/GetMaintenance.py | 23 + examples/v2/status-pages/ListMaintenances.py | 13 + examples/v2/status-pages/UpdateMaintenance.py | 37 + .../v2/api/status_pages_api.py | 325 +++++++++ .../v2/model/create_maintenance_request.py | 42 ++ .../model/create_maintenance_request_data.py | 54 ++ ...ate_maintenance_request_data_attributes.py | 98 +++ ...ta_attributes_components_affected_items.py | 69 ++ .../v2/model/degradation.py | 12 +- .../v2/model/degradation_array.py | 12 +- ...ay_included.py => degradation_included.py} | 2 +- .../v2/model/maintenance.py | 58 ++ .../v2/model/maintenance_array.py | 68 ++ .../v2/model/maintenance_data.py | 75 ++ .../v2/model/maintenance_data_attributes.py | 139 ++++ ...ta_attributes_components_affected_items.py | 69 ++ .../maintenance_data_attributes_status.py | 44 ++ ...intenance_data_attributes_updates_items.py | 116 +++ ...updates_items_components_affected_items.py | 69 ++ .../model/maintenance_data_relationships.py | 78 ++ ...ance_data_relationships_created_by_user.py | 44 ++ ...data_relationships_created_by_user_data.py | 47 ++ ...ata_relationships_last_modified_by_user.py | 44 ++ ...elationships_last_modified_by_user_data.py | 47 ++ ...ntenance_data_relationships_status_page.py | 44 ++ ...nce_data_relationships_status_page_data.py | 47 ++ .../v2/model/pagination_meta.py | 42 ++ .../v2/model/pagination_meta_page.py | 97 +++ .../v2/model/patch_maintenance_request.py | 42 ++ .../model/patch_maintenance_request_data.py | 65 ++ ...tch_maintenance_request_data_attributes.py | 111 +++ ...ta_attributes_components_affected_items.py | 69 ++ ...ibutes_components_affected_items_status.py | 42 ++ .../patch_maintenance_request_data_type.py | 35 + src/datadog_api_client/v2/models/__init__.py | 82 ++- ..._component_returns_created_response.frozen | 2 +- ...te_component_returns_created_response.yaml | 14 +- ...egradation_returns_created_response.frozen | 2 +- ..._degradation_returns_created_response.yaml | 22 +- ...aintenance_returns_created_response.frozen | 1 + ..._maintenance_returns_created_response.yaml | 63 ++ ...tatus_page_returns_created_response.frozen | 2 +- ..._status_page_returns_created_response.yaml | 8 +- ...mponent_returns_no_content_response.frozen | 2 +- ...component_returns_no_content_response.yaml | 10 +- ...adation_returns_no_content_response.frozen | 2 +- ...gradation_returns_no_content_response.yaml | 24 +- ...us_page_returns_no_content_response.frozen | 2 +- ...atus_page_returns_no_content_response.yaml | 10 +- ...t_get_component_returns_ok_response.frozen | 2 +- ...est_get_component_returns_ok_response.yaml | 12 +- ...get_degradation_returns_ok_response.frozen | 2 +- ...t_get_degradation_returns_ok_response.yaml | 32 +- ...get_maintenance_returns_ok_response.frozen | 1 + ...t_get_maintenance_returns_ok_response.yaml | 84 +++ ...get_status_page_returns_ok_response.frozen | 2 +- ...t_get_status_page_returns_ok_response.yaml | 14 +- ...list_components_returns_ok_response.frozen | 2 +- ...t_list_components_returns_ok_response.yaml | 12 +- ...st_degradations_returns_ok_response.frozen | 2 +- ...list_degradations_returns_ok_response.yaml | 30 +- ...st_maintenances_returns_ok_response.frozen | 1 + ...list_maintenances_returns_ok_response.yaml | 243 ++++++ ...st_status_pages_returns_ok_response.frozen | 2 +- ...list_status_pages_returns_ok_response.yaml | 61 +- ...pdate_component_returns_ok_response.frozen | 2 +- ..._update_component_returns_ok_response.yaml | 16 +- ...ate_degradation_returns_ok_response.frozen | 2 +- ...pdate_degradation_returns_ok_response.yaml | 34 +- ...ate_maintenance_returns_ok_response.frozen | 1 + ...pdate_maintenance_returns_ok_response.yaml | 89 +++ ...ate_status_page_returns_ok_response.frozen | 2 +- ...pdate_status_page_returns_ok_response.yaml | 16 +- tests/v2/features/given.json | 16 + tests/v2/features/status_pages.feature | 39 + tests/v2/features/undo.json | 24 + 79 files changed, 3937 insertions(+), 178 deletions(-) create mode 100644 examples/v2/status-pages/CreateMaintenance.py create mode 100644 examples/v2/status-pages/GetMaintenance.py create mode 100644 examples/v2/status-pages/ListMaintenances.py create mode 100644 examples/v2/status-pages/UpdateMaintenance.py create mode 100644 src/datadog_api_client/v2/model/create_maintenance_request.py create mode 100644 src/datadog_api_client/v2/model/create_maintenance_request_data.py create mode 100644 src/datadog_api_client/v2/model/create_maintenance_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/create_maintenance_request_data_attributes_components_affected_items.py rename src/datadog_api_client/v2/model/{degradation_array_included.py => degradation_included.py} (97%) create mode 100644 src/datadog_api_client/v2/model/maintenance.py create mode 100644 src/datadog_api_client/v2/model/maintenance_array.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_attributes_components_affected_items.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_attributes_status.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_attributes_updates_items.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_attributes_updates_items_components_affected_items.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_relationships.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_relationships_created_by_user.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_relationships_created_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_relationships_last_modified_by_user.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_relationships_last_modified_by_user_data.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_relationships_status_page.py create mode 100644 src/datadog_api_client/v2/model/maintenance_data_relationships_status_page_data.py create mode 100644 src/datadog_api_client/v2/model/pagination_meta.py create mode 100644 src/datadog_api_client/v2/model/pagination_meta_page.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_request.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_request_data.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes_components_affected_items.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes_components_affected_items_status.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_request_data_type.py create mode 100644 tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.yaml create mode 100644 tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.frozen create mode 100644 tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.yaml diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 707fe9d7de..c669399cd4 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -15122,6 +15122,88 @@ components: - findings - project type: object + CreateMaintenanceRequest: + example: + data: + attributes: + completed_date: '2026-02-18T19:51:13.332360075Z' + completed_description: We have completed maintenance on the API to improve + performance. + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + in_progress_description: We are currently performing maintenance on the + API to improve performance. + scheduled_description: We will be performing maintenance on the API to + improve performance. + start_date: '2026-02-18T19:21:13.332360075Z' + title: API Maintenance + id: 00000000-0000-0000-0000-000000000000 + type: maintenances + properties: + data: + $ref: '#/components/schemas/CreateMaintenanceRequestData' + type: object + CreateMaintenanceRequestData: + properties: + attributes: + $ref: '#/components/schemas/CreateMaintenanceRequestDataAttributes' + type: + $ref: '#/components/schemas/PatchMaintenanceRequestDataType' + required: + - attributes + - type + type: object + CreateMaintenanceRequestDataAttributes: + description: The supported attributes for creating a maintenance. + properties: + completed_date: + description: Timestamp of when the maintenance was completed. + format: date-time + type: string + completed_description: + description: The description shown when the maintenance is completed. + type: string + components_affected: + description: The components affected by the maintenance. + items: + $ref: '#/components/schemas/CreateMaintenanceRequestDataAttributesComponentsAffectedItems' + type: array + in_progress_description: + description: The description shown while the maintenance is in progress. + type: string + scheduled_description: + description: The description shown when the maintenance is scheduled. + type: string + start_date: + description: Timestamp of when the maintenance is scheduled to start. + format: date-time + type: string + title: + description: The title of the maintenance. + example: API Maintenance + type: string + required: + - components_affected + - title + type: object + CreateMaintenanceRequestDataAttributesComponentsAffectedItems: + properties: + id: + description: The ID of the component. Must be a component of type `component`. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + name: + description: The name of the component. + readOnly: true + type: string + status: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus' + required: + - id + - status + type: object CreateNotificationChannelAttributes: description: Attributes for creating an on-call notification channel. properties: @@ -19894,7 +19976,7 @@ components: description: The included related resources of a degradation. Client must explicitly request these resources by name in the `include` query parameter. items: - $ref: '#/components/schemas/DegradationArrayIncluded' + $ref: '#/components/schemas/DegradationIncluded' type: array type: object DegradationArray: @@ -19907,17 +19989,13 @@ components: description: The included related resources of a degradation. Client must explicitly request these resources by name in the `include` query parameter. items: - $ref: '#/components/schemas/DegradationArrayIncluded' + $ref: '#/components/schemas/DegradationIncluded' type: array meta: $ref: '#/components/schemas/StatusPagesResponseMeta' required: - data type: object - DegradationArrayIncluded: - oneOf: - - $ref: '#/components/schemas/StatusPagesUser' - - $ref: '#/components/schemas/StatusPageAsIncluded' DegradationData: properties: attributes: @@ -20097,6 +20175,10 @@ components: - type - id type: object + DegradationIncluded: + oneOf: + - $ref: '#/components/schemas/StatusPagesUser' + - $ref: '#/components/schemas/StatusPageAsIncluded' DeleteAppResponse: description: The response object after an app is successfully deleted. properties: @@ -36252,6 +36334,248 @@ components: - ms_channel_name - redirect_url type: object + Maintenance: + properties: + data: + $ref: '#/components/schemas/MaintenanceData' + included: + description: The included related resources of a maintenance. Client must + explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + type: object + MaintenanceArray: + properties: + data: + items: + $ref: '#/components/schemas/MaintenanceData' + type: array + included: + description: The included related resources of a maintenance. Client must + explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + meta: + $ref: '#/components/schemas/PaginationMeta' + required: + - data + type: object + MaintenanceData: + properties: + attributes: + $ref: '#/components/schemas/MaintenanceDataAttributes' + id: + description: The ID of the maintenance. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/MaintenanceDataRelationships' + type: + $ref: '#/components/schemas/PatchMaintenanceRequestDataType' + required: + - type + type: object + MaintenanceDataAttributes: + description: The attributes of a maintenance. + properties: + completed_date: + description: Timestamp of when the maintenance was completed. + format: date-time + type: string + completed_description: + description: The description shown when the maintenance is completed. + type: string + components_affected: + description: Components affected by the maintenance. + items: + $ref: '#/components/schemas/MaintenanceDataAttributesComponentsAffectedItems' + type: array + in_progress_description: + description: The description shown while the maintenance is in progress. + type: string + modified_at: + description: Timestamp of when the maintenance was last modified. + format: date-time + type: string + published_date: + description: Timestamp of when the maintenance was published. + format: date-time + type: string + scheduled_description: + description: The description shown when the maintenance is scheduled. + type: string + start_date: + description: Timestamp of when the maintenance is scheduled to start. + format: date-time + type: string + status: + $ref: '#/components/schemas/MaintenanceDataAttributesStatus' + description: The status of the maintenance. + title: + description: Title of the maintenance. + type: string + updates: + description: Past updates made to the maintenance. + items: + $ref: '#/components/schemas/MaintenanceDataAttributesUpdatesItems' + type: array + type: object + MaintenanceDataAttributesComponentsAffectedItems: + properties: + id: + description: The ID of the component. Must be a component of type `component`. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + name: + description: The name of the component. + readOnly: true + type: string + status: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus' + required: + - id + - status + type: object + MaintenanceDataAttributesStatus: + description: The status of the maintenance. + enum: + - scheduled + - in_progress + - completed + - canceled + type: string + x-enum-varnames: + - SCHEDULED + - IN_PROGRESS + - COMPLETED + - CANCELED + MaintenanceDataAttributesUpdatesItems: + properties: + components_affected: + description: The components affected at the time of the update. + items: + $ref: '#/components/schemas/MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems' + type: array + created_at: + description: Timestamp of when the update was created. + format: date-time + readOnly: true + type: string + description: + description: Description of the update. + type: string + id: + description: Identifier of the update. + format: uuid + readOnly: true + type: string + manual_transition: + readOnly: true + type: boolean + modified_at: + description: Timestamp of when the update was last modified. + format: date-time + readOnly: true + type: string + started_at: + description: Timestamp of when the update started. + format: date-time + type: string + status: + description: The status of the update. + type: string + type: object + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems: + properties: + id: + description: Identifier of the component affected at the time of the update. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + name: + description: The name of the component affected at the time of the update. + readOnly: true + type: string + status: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus' + description: The status of the component affected at the time of the update. + required: + - id + - status + type: object + MaintenanceDataRelationships: + description: The relationships of a maintenance. + properties: + created_by_user: + $ref: '#/components/schemas/MaintenanceDataRelationshipsCreatedByUser' + description: The Datadog user who created the maintenance. + last_modified_by_user: + $ref: '#/components/schemas/MaintenanceDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the maintenance. + status_page: + $ref: '#/components/schemas/MaintenanceDataRelationshipsStatusPage' + description: The status page the maintenance belongs to. + type: object + MaintenanceDataRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsCreatedByUserData' + required: + - data + type: object + MaintenanceDataRelationshipsCreatedByUserData: + properties: + id: + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + MaintenanceDataRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + MaintenanceDataRelationshipsLastModifiedByUserData: + properties: + id: + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + MaintenanceDataRelationshipsStatusPage: + properties: + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsStatusPageData' + required: + - data + type: object + MaintenanceDataRelationshipsStatusPageData: + properties: + id: + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object MemberTeam: description: A member team properties: @@ -45781,6 +46105,41 @@ components: format: int64 type: integer type: object + PaginationMeta: + properties: + page: + $ref: '#/components/schemas/PaginationMetaPage' + type: object + PaginationMetaPage: + properties: + first_offset: + format: int64 + type: integer + last_offset: + format: int64 + nullable: true + type: integer + limit: + format: int64 + type: integer + next_offset: + format: int64 + nullable: true + type: integer + offset: + format: int64 + type: integer + prev_offset: + format: int64 + nullable: true + type: integer + total: + format: int64 + nullable: true + type: integer + type: + type: string + type: object Parameter: description: The definition of `Parameter` object. properties: @@ -46088,6 +46447,107 @@ components: required: - data type: object + PatchMaintenanceRequest: + example: + data: + attributes: + completed_date: '2026-02-18T20:01:13.332360075Z' + in_progress_description: We are currently performing maintenance on the + API to improve performance for 40 minutes. + scheduled_description: We will be performing maintenance on the API to + improve performance for 40 minutes. + start_date: '2026-02-18T19:21:13.332360075Z' + title: null + id: 00000000-0000-0000-0000-000000000000 + type: maintenances + properties: + data: + $ref: '#/components/schemas/PatchMaintenanceRequestData' + type: object + PatchMaintenanceRequestData: + properties: + attributes: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributes' + id: + description: The ID of the maintenance. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + type: + $ref: '#/components/schemas/PatchMaintenanceRequestDataType' + required: + - attributes + - type + - id + type: object + PatchMaintenanceRequestDataAttributes: + description: The supported attributes for updating a maintenance. + properties: + completed_date: + description: Timestamp of when the maintenance was completed. + format: date-time + type: string + completed_description: + description: The description shown when the maintenance is completed. + type: string + components_affected: + description: The components affected by the maintenance. + items: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItems' + type: array + in_progress_description: + description: The description shown while the maintenance is in progress. + type: string + scheduled_description: + description: The description shown when the maintenance is scheduled. + type: string + start_date: + description: Timestamp of when the maintenance is scheduled to start. + format: date-time + type: string + status: + $ref: '#/components/schemas/MaintenanceDataAttributesStatus' + description: The status of the maintenance. + title: + description: The title of the maintenance. + type: string + type: object + PatchMaintenanceRequestDataAttributesComponentsAffectedItems: + properties: + id: + description: The ID of the component. Must be a component of type `component`. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + name: + description: The name of the component. + readOnly: true + type: string + status: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus' + required: + - id + - status + type: object + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus: + description: The status of the component. + enum: + - operational + - maintenance + example: operational + type: string + x-enum-varnames: + - OPERATIONAL + - MAINTENANCE + PatchMaintenanceRequestDataType: + default: maintenances + description: Maintenances resource type. + enum: + - maintenances + example: maintenances + type: string + x-enum-varnames: + - MAINTENANCES PatchNotificationRuleParameters: description: Body of the notification rule patch request. properties: @@ -101283,6 +101743,12 @@ paths: name: filter[status] schema: type: string + - description: 'Sort order. Prefix with ''-'' for descending. Supported values: + created_at, -created_at, modified_at, -modified_at.' + in: query + name: sort + schema: + type: string responses: '200': content: @@ -101303,6 +101769,67 @@ paths: operator: AND permissions: - status_pages_settings_read + /api/v2/statuspages/maintenances: + get: + description: Lists all maintenances for the organization. Optionally filter + by status and page. + operationId: ListMaintenances + 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 maintenances 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 maintenance status filter. Supported values: scheduled, + in_progress, completed, canceled.' + in: query + name: filter[status] + schema: + type: string + - description: 'Sort order. Prefix with ''-'' for descending. Supported values: + created_at, -created_at, start_date, -start_date.' + in: query + name: sort + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List maintenances + 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. @@ -101831,6 +102358,157 @@ paths: operator: AND permissions: - status_pages_incident_write + /api/v2/statuspages/{page_id}/maintenances: + post: + description: Creates a new maintenance. + operationId: CreateMaintenance + 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 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/CreateMaintenanceRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Maintenance' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create maintenance + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/maintenances/{maintenance_id}: + get: + description: Retrieves a specific maintenance by its ID. + operationId: GetMaintenance + 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 maintenance. + in: path + name: maintenance_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/Maintenance' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get maintenance + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing maintenance's attributes. + operationId: UpdateMaintenance + 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 maintenance. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: The ID of the maintenance. + in: path + name: maintenance_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/PatchMaintenanceRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Maintenance' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update maintenance + 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. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 5e413a37b3..0045705456 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -6143,6 +6143,34 @@ datadog\_api\_client.v2.model.create\_jira\_issue\_request\_data\_relationships :members: :show-inheritance: +datadog\_api\_client.v2.model.create\_maintenance\_request module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_maintenance_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_maintenance\_request\_data module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_maintenance_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_maintenance\_request\_data\_attributes module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_maintenance_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.create\_maintenance\_request\_data\_attributes\_components\_affected\_items module +---------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.create_maintenance_request_data_attributes_components_affected_items + :members: + :show-inheritance: + datadog\_api\_client.v2.model.create\_notification\_channel\_attributes module ------------------------------------------------------------------------------ @@ -7851,13 +7879,6 @@ datadog\_api\_client.v2.model.degradation\_array module :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 ------------------------------------------------------ @@ -7942,6 +7963,13 @@ datadog\_api\_client.v2.model.degradation\_data\_relationships\_status\_page\_da :members: :show-inheritance: +datadog\_api\_client.v2.model.degradation\_included module +---------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_included + :members: + :show-inheritance: + datadog\_api\_client.v2.model.delete\_app\_response module ---------------------------------------------------------- @@ -15684,6 +15712,111 @@ datadog\_api\_client.v2.model.logs\_warning module :members: :show-inheritance: +datadog\_api\_client.v2.model.maintenance module +------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.maintenance + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_array module +------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_array + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data module +------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.maintenance_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_attributes module +------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.maintenance_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_attributes\_components\_affected\_items module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_attributes_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_attributes\_status module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_attributes_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_attributes\_updates\_items module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_attributes_updates_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_attributes\_updates\_items\_components\_affected\_items module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_attributes_updates_items_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_relationships module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_relationships\_created\_by\_user module +---------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_relationships_created_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_relationships\_created\_by\_user\_data module +---------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_relationships_created_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_relationships\_last\_modified\_by\_user module +----------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_relationships_last_modified_by_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_relationships\_last\_modified\_by\_user\_data module +----------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_relationships_last_modified_by_user_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_relationships\_status\_page module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_relationships_status_page + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_data\_relationships\_status\_page\_data module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_data_relationships_status_page_data + :members: + :show-inheritance: + datadog\_api\_client.v2.model.member\_team module ------------------------------------------------- @@ -19919,6 +20052,20 @@ datadog\_api\_client.v2.model.pagination module :members: :show-inheritance: +datadog\_api\_client.v2.model.pagination\_meta module +----------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.pagination_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.pagination\_meta\_page module +----------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.pagination_meta_page + :members: + :show-inheritance: + datadog\_api\_client.v2.model.parameter module ---------------------------------------------- @@ -20059,6 +20206,48 @@ datadog\_api\_client.v2.model.patch\_incident\_notification\_template\_request m :members: :show-inheritance: +datadog\_api\_client.v2.model.patch\_maintenance\_request module +---------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_maintenance\_request\_data module +---------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_maintenance\_request\_data\_attributes module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_maintenance\_request\_data\_attributes\_components\_affected\_items module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_maintenance\_request\_data\_attributes\_components\_affected\_items\_status module +----------------------------------------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_maintenance\_request\_data\_type module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_request_data_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters module -------------------------------------------------------------------------- diff --git a/examples/v2/status-pages/CreateMaintenance.py b/examples/v2/status-pages/CreateMaintenance.py new file mode 100644 index 0000000000..907000ac93 --- /dev/null +++ b/examples/v2/status-pages/CreateMaintenance.py @@ -0,0 +1,54 @@ +""" +Create maintenance returns "Created" response +""" + +from datetime import datetime +from dateutil.relativedelta import relativedelta +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_maintenance_request import CreateMaintenanceRequest +from datadog_api_client.v2.model.create_maintenance_request_data import CreateMaintenanceRequestData +from datadog_api_client.v2.model.create_maintenance_request_data_attributes import ( + CreateMaintenanceRequestDataAttributes, +) +from datadog_api_client.v2.model.create_maintenance_request_data_attributes_components_affected_items import ( + CreateMaintenanceRequestDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, +) +from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID = environ[ + "STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID" +] +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +body = CreateMaintenanceRequest( + data=CreateMaintenanceRequestData( + attributes=CreateMaintenanceRequestDataAttributes( + title="API Maintenance", + scheduled_description="We will be performing maintenance on the API to improve performance.", + in_progress_description="We are currently performing maintenance on the API to improve performance.", + completed_description="We have completed maintenance on the API to improve performance.", + start_date=(datetime.now() + relativedelta(hours=1)), + completed_date=(datetime.now() + relativedelta(hours=2)), + components_affected=[ + CreateMaintenanceRequestDataAttributesComponentsAffectedItems( + id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID, + status=PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus.OPERATIONAL, + ), + ], + ), + type=PatchMaintenanceRequestDataType.MAINTENANCES, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.create_maintenance(page_id=STATUS_PAGE_DATA_ID, body=body) + + print(response) diff --git a/examples/v2/status-pages/GetMaintenance.py b/examples/v2/status-pages/GetMaintenance.py new file mode 100644 index 0000000000..3330d67894 --- /dev/null +++ b/examples/v2/status-pages/GetMaintenance.py @@ -0,0 +1,23 @@ +""" +Get maintenance 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 "maintenance" in the system +MAINTENANCE_DATA_ID = environ["MAINTENANCE_DATA_ID"] + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.get_maintenance( + page_id=STATUS_PAGE_DATA_ID, + maintenance_id=MAINTENANCE_DATA_ID, + ) + + print(response) diff --git a/examples/v2/status-pages/ListMaintenances.py b/examples/v2/status-pages/ListMaintenances.py new file mode 100644 index 0000000000..401719f4f3 --- /dev/null +++ b/examples/v2/status-pages/ListMaintenances.py @@ -0,0 +1,13 @@ +""" +List maintenances 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_maintenances() + + print(response) diff --git a/examples/v2/status-pages/UpdateMaintenance.py b/examples/v2/status-pages/UpdateMaintenance.py new file mode 100644 index 0000000000..5cdbbf5dcd --- /dev/null +++ b/examples/v2/status-pages/UpdateMaintenance.py @@ -0,0 +1,37 @@ +""" +Update maintenance 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_maintenance_request import PatchMaintenanceRequest +from datadog_api_client.v2.model.patch_maintenance_request_data import PatchMaintenanceRequestData +from datadog_api_client.v2.model.patch_maintenance_request_data_attributes import PatchMaintenanceRequestDataAttributes +from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + +# there is a valid "status_page" in the system +STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"] + +# there is a valid "maintenance" in the system +MAINTENANCE_DATA_ID = environ["MAINTENANCE_DATA_ID"] + +body = PatchMaintenanceRequest( + data=PatchMaintenanceRequestData( + attributes=PatchMaintenanceRequestDataAttributes( + scheduled_description="We will be performing maintenance on the API to improve performance for 40 minutes.", + in_progress_description="We are currently performing maintenance on the API to improve performance for 40 minutes.", + ), + id=MAINTENANCE_DATA_ID, + type=PatchMaintenanceRequestDataType.MAINTENANCES, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.update_maintenance( + page_id=STATUS_PAGE_DATA_ID, maintenance_id=MAINTENANCE_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 index 4f4024f2c3..9a291fbf6d 100644 --- a/src/datadog_api_client/v2/api/status_pages_api.py +++ b/src/datadog_api_client/v2/api/status_pages_api.py @@ -16,6 +16,7 @@ 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.maintenance_array import MaintenanceArray 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 @@ -24,6 +25,9 @@ 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 +from datadog_api_client.v2.model.maintenance import Maintenance +from datadog_api_client.v2.model.create_maintenance_request import CreateMaintenanceRequest +from datadog_api_client.v2.model.patch_maintenance_request import PatchMaintenanceRequest class StatusPagesApi: @@ -103,6 +107,42 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._create_maintenance_endpoint = _Endpoint( + settings={ + "response_type": (Maintenance,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/maintenances", + "operation_id": "create_maintenance", + "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": (CreateMaintenanceRequest,), + "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,), @@ -277,6 +317,40 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._get_maintenance_endpoint = _Endpoint( + settings={ + "response_type": (Maintenance,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/maintenances/{maintenance_id}", + "operation_id": "get_maintenance", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "maintenance_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "maintenance_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,), @@ -368,6 +442,58 @@ def __init__(self, api_client=None): "attribute": "filter[status]", "location": "query", }, + "sort": { + "openapi_types": (str,), + "attribute": "sort", + "location": "query", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_maintenances_endpoint = _Endpoint( + settings={ + "response_type": (MaintenanceArray,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/maintenances", + "operation_id": "list_maintenances", + "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", + }, + "sort": { + "openapi_types": (str,), + "attribute": "sort", + "location": "query", + }, }, headers_map={ "accept": ["application/json"], @@ -486,6 +612,48 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._update_maintenance_endpoint = _Endpoint( + settings={ + "response_type": (Maintenance,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/maintenances/{maintenance_id}", + "operation_id": "update_maintenance", + "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", + }, + "maintenance_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "maintenance_id", + "location": "path", + }, + "include": { + "openapi_types": (str,), + "attribute": "include", + "location": "query", + }, + "body": { + "required": True, + "openapi_types": (PatchMaintenanceRequest,), + "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,), @@ -584,6 +752,40 @@ def create_degradation( return self._create_degradation_endpoint.call_with_http_info(**kwargs) + def create_maintenance( + self, + page_id: UUID, + body: CreateMaintenanceRequest, + *, + notify_subscribers: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> Maintenance: + """Create maintenance. + + Creates a new maintenance. + + :param page_id: The ID of the status page. + :type page_id: UUID + :type body: CreateMaintenanceRequest + :param notify_subscribers: Whether to notify page subscribers of the 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: Maintenance + """ + 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_maintenance_endpoint.call_with_http_info(**kwargs) + def create_status_page( self, body: CreateStatusPageRequest, @@ -726,6 +928,35 @@ def get_degradation( return self._get_degradation_endpoint.call_with_http_info(**kwargs) + def get_maintenance( + self, + page_id: UUID, + maintenance_id: UUID, + *, + include: Union[str, UnsetType] = unset, + ) -> Maintenance: + """Get maintenance. + + Retrieves a specific maintenance by its ID. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param maintenance_id: The ID of the maintenance. + :type maintenance_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: Maintenance + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["maintenance_id"] = maintenance_id + + if include is not unset: + kwargs["include"] = include + + return self._get_maintenance_endpoint.call_with_http_info(**kwargs) + def get_status_page( self, page_id: UUID, @@ -782,6 +1013,7 @@ def list_degradations( page_limit: Union[int, UnsetType] = unset, include: Union[str, UnsetType] = unset, filter_status: Union[str, UnsetType] = unset, + sort: Union[str, UnsetType] = unset, ) -> DegradationArray: """List degradations. @@ -797,6 +1029,8 @@ def list_degradations( :type include: str, optional :param filter_status: Optional degradation status filter. Supported values: investigating, identified, monitoring, resolved. :type filter_status: str, optional + :param sort: Sort order. Prefix with '-' for descending. Supported values: created_at, -created_at, modified_at, -modified_at. + :type sort: str, optional :rtype: DegradationArray """ kwargs: Dict[str, Any] = {} @@ -815,8 +1049,60 @@ def list_degradations( if filter_status is not unset: kwargs["filter_status"] = filter_status + if sort is not unset: + kwargs["sort"] = sort + return self._list_degradations_endpoint.call_with_http_info(**kwargs) + def list_maintenances( + 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, + sort: Union[str, UnsetType] = unset, + ) -> MaintenanceArray: + """List maintenances. + + Lists all maintenances 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 maintenances 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 maintenance status filter. Supported values: scheduled, in_progress, completed, canceled. + :type filter_status: str, optional + :param sort: Sort order. Prefix with '-' for descending. Supported values: created_at, -created_at, start_date, -start_date. + :type sort: str, optional + :rtype: MaintenanceArray + """ + 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 + + if sort is not unset: + kwargs["sort"] = sort + + return self._list_maintenances_endpoint.call_with_http_info(**kwargs) + def list_status_pages( self, *, @@ -920,6 +1206,45 @@ def update_degradation( return self._update_degradation_endpoint.call_with_http_info(**kwargs) + def update_maintenance( + self, + page_id: UUID, + maintenance_id: UUID, + body: PatchMaintenanceRequest, + *, + notify_subscribers: Union[bool, UnsetType] = unset, + include: Union[str, UnsetType] = unset, + ) -> Maintenance: + """Update maintenance. + + Updates an existing maintenance's attributes. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param maintenance_id: The ID of the maintenance. + :type maintenance_id: UUID + :type body: PatchMaintenanceRequest + :param notify_subscribers: Whether to notify page subscribers of the 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: Maintenance + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + if notify_subscribers is not unset: + kwargs["notify_subscribers"] = notify_subscribers + + kwargs["maintenance_id"] = maintenance_id + + if include is not unset: + kwargs["include"] = include + + kwargs["body"] = body + + return self._update_maintenance_endpoint.call_with_http_info(**kwargs) + def update_status_page( self, page_id: UUID, diff --git a/src/datadog_api_client/v2/model/create_maintenance_request.py b/src/datadog_api_client/v2/model/create_maintenance_request.py new file mode 100644 index 0000000000..298def9423 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_maintenance_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_maintenance_request_data import CreateMaintenanceRequestData + + +class CreateMaintenanceRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_maintenance_request_data import CreateMaintenanceRequestData + + return { + "data": (CreateMaintenanceRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[CreateMaintenanceRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: CreateMaintenanceRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/create_maintenance_request_data.py b/src/datadog_api_client/v2/model/create_maintenance_request_data.py new file mode 100644 index 0000000000..943ce441b9 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_maintenance_request_data.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_maintenance_request_data_attributes import ( + CreateMaintenanceRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + + +class CreateMaintenanceRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_maintenance_request_data_attributes import ( + CreateMaintenanceRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + + return { + "attributes": (CreateMaintenanceRequestDataAttributes,), + "type": (PatchMaintenanceRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, attributes: CreateMaintenanceRequestDataAttributes, type: PatchMaintenanceRequestDataType, **kwargs + ): + """ + + + :param attributes: The supported attributes for creating a maintenance. + :type attributes: CreateMaintenanceRequestDataAttributes + + :param type: Maintenances resource type. + :type type: PatchMaintenanceRequestDataType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/create_maintenance_request_data_attributes.py b/src/datadog_api_client/v2/model/create_maintenance_request_data_attributes.py new file mode 100644 index 0000000000..a44f057436 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_maintenance_request_data_attributes.py @@ -0,0 +1,98 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 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.create_maintenance_request_data_attributes_components_affected_items import ( + CreateMaintenanceRequestDataAttributesComponentsAffectedItems, + ) + + +class CreateMaintenanceRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_maintenance_request_data_attributes_components_affected_items import ( + CreateMaintenanceRequestDataAttributesComponentsAffectedItems, + ) + + return { + "completed_date": (datetime,), + "completed_description": (str,), + "components_affected": ([CreateMaintenanceRequestDataAttributesComponentsAffectedItems],), + "in_progress_description": (str,), + "scheduled_description": (str,), + "start_date": (datetime,), + "title": (str,), + } + + attribute_map = { + "completed_date": "completed_date", + "completed_description": "completed_description", + "components_affected": "components_affected", + "in_progress_description": "in_progress_description", + "scheduled_description": "scheduled_description", + "start_date": "start_date", + "title": "title", + } + + def __init__( + self_, + components_affected: List[CreateMaintenanceRequestDataAttributesComponentsAffectedItems], + title: str, + completed_date: Union[datetime, UnsetType] = unset, + completed_description: Union[str, UnsetType] = unset, + in_progress_description: Union[str, UnsetType] = unset, + scheduled_description: Union[str, UnsetType] = unset, + start_date: Union[datetime, UnsetType] = unset, + **kwargs, + ): + """ + The supported attributes for creating a maintenance. + + :param completed_date: Timestamp of when the maintenance was completed. + :type completed_date: datetime, optional + + :param completed_description: The description shown when the maintenance is completed. + :type completed_description: str, optional + + :param components_affected: The components affected by the maintenance. + :type components_affected: [CreateMaintenanceRequestDataAttributesComponentsAffectedItems] + + :param in_progress_description: The description shown while the maintenance is in progress. + :type in_progress_description: str, optional + + :param scheduled_description: The description shown when the maintenance is scheduled. + :type scheduled_description: str, optional + + :param start_date: Timestamp of when the maintenance is scheduled to start. + :type start_date: datetime, optional + + :param title: The title of the maintenance. + :type title: str + """ + if completed_date is not unset: + kwargs["completed_date"] = completed_date + if completed_description is not unset: + kwargs["completed_description"] = completed_description + if in_progress_description is not unset: + kwargs["in_progress_description"] = in_progress_description + if scheduled_description is not unset: + kwargs["scheduled_description"] = scheduled_description + if start_date is not unset: + kwargs["start_date"] = start_date + super().__init__(kwargs) + + self_.components_affected = components_affected + self_.title = title diff --git a/src/datadog_api_client/v2/model/create_maintenance_request_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/create_maintenance_request_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..bcf9b01636 --- /dev/null +++ b/src/datadog_api_client/v2/model/create_maintenance_request_data_attributes_components_affected_items.py @@ -0,0 +1,69 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + ) + + +class CreateMaintenanceRequestDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + ) + + return { + "id": (UUID,), + "name": (str,), + "status": (PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, + id: UUID, + status: PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + name: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: The ID of the component. Must be a component of type ``component``. + :type id: UUID + + :param name: The name of the component. + :type name: str, optional + + :param status: The status of the component. + :type status: PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + """ + 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.py b/src/datadog_api_client/v2/model/degradation.py index 8cfe1918aa..d42ea04daa 100644 --- a/src/datadog_api_client/v2/model/degradation.py +++ b/src/datadog_api_client/v2/model/degradation.py @@ -15,7 +15,7 @@ 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.degradation_included import DegradationIncluded from datadog_api_client.v2.model.status_pages_user import StatusPagesUser from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded @@ -24,11 +24,11 @@ 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 + from datadog_api_client.v2.model.degradation_included import DegradationIncluded return { "data": (DegradationData,), - "included": ([DegradationArrayIncluded],), + "included": ([DegradationIncluded],), } attribute_map = { @@ -39,9 +39,7 @@ def openapi_types(_): def __init__( self_, data: Union[DegradationData, UnsetType] = unset, - included: Union[ - List[Union[DegradationArrayIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType - ] = unset, + included: Union[List[Union[DegradationIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType] = unset, **kwargs, ): """ @@ -51,7 +49,7 @@ def __init__( :type data: DegradationData, optional :param included: The included related resources of a degradation. Client must explicitly request these resources by name in the ``include`` query parameter. - :type included: [DegradationArrayIncluded], optional + :type included: [DegradationIncluded], optional """ if data is not unset: kwargs["data"] = data diff --git a/src/datadog_api_client/v2/model/degradation_array.py b/src/datadog_api_client/v2/model/degradation_array.py index 6f838f40e6..d0db2aaa94 100644 --- a/src/datadog_api_client/v2/model/degradation_array.py +++ b/src/datadog_api_client/v2/model/degradation_array.py @@ -15,7 +15,7 @@ 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.degradation_included import DegradationIncluded from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta from datadog_api_client.v2.model.status_pages_user import StatusPagesUser from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded @@ -25,12 +25,12 @@ 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 + from datadog_api_client.v2.model.degradation_included import DegradationIncluded from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta return { "data": ([DegradationData],), - "included": ([DegradationArrayIncluded],), + "included": ([DegradationIncluded],), "meta": (StatusPagesResponseMeta,), } @@ -46,9 +46,7 @@ def openapi_types(_): def __init__( self_, data: List[DegradationData], - included: Union[ - List[Union[DegradationArrayIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType - ] = unset, + included: Union[List[Union[DegradationIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType] = unset, meta: Union[StatusPagesResponseMeta, UnsetType] = unset, **kwargs, ): @@ -59,7 +57,7 @@ def __init__( :type data: [DegradationData] :param included: The included related resources of a degradation. Client must explicitly request these resources by name in the ``include`` query parameter. - :type included: [DegradationArrayIncluded], optional + :type included: [DegradationIncluded], optional :param meta: Response metadata. :type meta: StatusPagesResponseMeta, optional diff --git a/src/datadog_api_client/v2/model/degradation_array_included.py b/src/datadog_api_client/v2/model/degradation_included.py similarity index 97% rename from src/datadog_api_client/v2/model/degradation_array_included.py rename to src/datadog_api_client/v2/model/degradation_included.py index d128527578..bd19eee125 100644 --- a/src/datadog_api_client/v2/model/degradation_array_included.py +++ b/src/datadog_api_client/v2/model/degradation_included.py @@ -10,7 +10,7 @@ ) -class DegradationArrayIncluded(ModelComposed): +class DegradationIncluded(ModelComposed): def __init__(self, **kwargs): """ diff --git a/src/datadog_api_client/v2/model/maintenance.py b/src/datadog_api_client/v2/model/maintenance.py new file mode 100644 index 0000000000..d9ee9283bd --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance.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 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.maintenance_data import MaintenanceData + from datadog_api_client.v2.model.degradation_included import DegradationIncluded + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + + +class Maintenance(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data import MaintenanceData + from datadog_api_client.v2.model.degradation_included import DegradationIncluded + + return { + "data": (MaintenanceData,), + "included": ([DegradationIncluded],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, + data: Union[MaintenanceData, UnsetType] = unset, + included: Union[List[Union[DegradationIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: MaintenanceData, optional + + :param included: The included related resources of a maintenance. Client must explicitly request these resources by name in the ``include`` query parameter. + :type included: [DegradationIncluded], 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/maintenance_array.py b/src/datadog_api_client/v2/model/maintenance_array.py new file mode 100644 index 0000000000..beeb5ef696 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_array.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 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.maintenance_data import MaintenanceData + from datadog_api_client.v2.model.degradation_included import DegradationIncluded + from datadog_api_client.v2.model.pagination_meta import PaginationMeta + from datadog_api_client.v2.model.status_pages_user import StatusPagesUser + from datadog_api_client.v2.model.status_page_as_included import StatusPageAsIncluded + + +class MaintenanceArray(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data import MaintenanceData + from datadog_api_client.v2.model.degradation_included import DegradationIncluded + from datadog_api_client.v2.model.pagination_meta import PaginationMeta + + return { + "data": ([MaintenanceData],), + "included": ([DegradationIncluded],), + "meta": (PaginationMeta,), + } + + attribute_map = { + "data": "data", + "included": "included", + "meta": "meta", + } + + def __init__( + self_, + data: List[MaintenanceData], + included: Union[List[Union[DegradationIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType] = unset, + meta: Union[PaginationMeta, UnsetType] = unset, + **kwargs, + ): + """ + + + :param data: + :type data: [MaintenanceData] + + :param included: The included related resources of a maintenance. Client must explicitly request these resources by name in the ``include`` query parameter. + :type included: [DegradationIncluded], optional + + :param meta: + :type meta: PaginationMeta, optional + """ + if included is not unset: + kwargs["included"] = included + if meta is not unset: + kwargs["meta"] = meta + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/maintenance_data.py b/src/datadog_api_client/v2/model/maintenance_data.py new file mode 100644 index 0000000000..3de2328d66 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data.py @@ -0,0 +1,75 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.maintenance_data_attributes import MaintenanceDataAttributes + from datadog_api_client.v2.model.maintenance_data_relationships import MaintenanceDataRelationships + from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + + +class MaintenanceData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data_attributes import MaintenanceDataAttributes + from datadog_api_client.v2.model.maintenance_data_relationships import MaintenanceDataRelationships + from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + + return { + "attributes": (MaintenanceDataAttributes,), + "id": (UUID,), + "relationships": (MaintenanceDataRelationships,), + "type": (PatchMaintenanceRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + type: PatchMaintenanceRequestDataType, + attributes: Union[MaintenanceDataAttributes, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + relationships: Union[MaintenanceDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + + + :param attributes: The attributes of a maintenance. + :type attributes: MaintenanceDataAttributes, optional + + :param id: The ID of the maintenance. + :type id: UUID, optional + + :param relationships: The relationships of a maintenance. + :type relationships: MaintenanceDataRelationships, optional + + :param type: Maintenances resource type. + :type type: PatchMaintenanceRequestDataType + """ + 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/maintenance_data_attributes.py b/src/datadog_api_client/v2/model/maintenance_data_attributes.py new file mode 100644 index 0000000000..6a304a4495 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data_attributes.py @@ -0,0 +1,139 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 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.maintenance_data_attributes_components_affected_items import ( + MaintenanceDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.maintenance_data_attributes_status import MaintenanceDataAttributesStatus + from datadog_api_client.v2.model.maintenance_data_attributes_updates_items import ( + MaintenanceDataAttributesUpdatesItems, + ) + + +class MaintenanceDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data_attributes_components_affected_items import ( + MaintenanceDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.maintenance_data_attributes_status import MaintenanceDataAttributesStatus + from datadog_api_client.v2.model.maintenance_data_attributes_updates_items import ( + MaintenanceDataAttributesUpdatesItems, + ) + + return { + "completed_date": (datetime,), + "completed_description": (str,), + "components_affected": ([MaintenanceDataAttributesComponentsAffectedItems],), + "in_progress_description": (str,), + "modified_at": (datetime,), + "published_date": (datetime,), + "scheduled_description": (str,), + "start_date": (datetime,), + "status": (MaintenanceDataAttributesStatus,), + "title": (str,), + "updates": ([MaintenanceDataAttributesUpdatesItems],), + } + + attribute_map = { + "completed_date": "completed_date", + "completed_description": "completed_description", + "components_affected": "components_affected", + "in_progress_description": "in_progress_description", + "modified_at": "modified_at", + "published_date": "published_date", + "scheduled_description": "scheduled_description", + "start_date": "start_date", + "status": "status", + "title": "title", + "updates": "updates", + } + + def __init__( + self_, + completed_date: Union[datetime, UnsetType] = unset, + completed_description: Union[str, UnsetType] = unset, + components_affected: Union[List[MaintenanceDataAttributesComponentsAffectedItems], UnsetType] = unset, + in_progress_description: Union[str, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + published_date: Union[datetime, UnsetType] = unset, + scheduled_description: Union[str, UnsetType] = unset, + start_date: Union[datetime, UnsetType] = unset, + status: Union[MaintenanceDataAttributesStatus, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + updates: Union[List[MaintenanceDataAttributesUpdatesItems], UnsetType] = unset, + **kwargs, + ): + """ + The attributes of a maintenance. + + :param completed_date: Timestamp of when the maintenance was completed. + :type completed_date: datetime, optional + + :param completed_description: The description shown when the maintenance is completed. + :type completed_description: str, optional + + :param components_affected: Components affected by the maintenance. + :type components_affected: [MaintenanceDataAttributesComponentsAffectedItems], optional + + :param in_progress_description: The description shown while the maintenance is in progress. + :type in_progress_description: str, optional + + :param modified_at: Timestamp of when the maintenance was last modified. + :type modified_at: datetime, optional + + :param published_date: Timestamp of when the maintenance was published. + :type published_date: datetime, optional + + :param scheduled_description: The description shown when the maintenance is scheduled. + :type scheduled_description: str, optional + + :param start_date: Timestamp of when the maintenance is scheduled to start. + :type start_date: datetime, optional + + :param status: The status of the maintenance. + :type status: MaintenanceDataAttributesStatus, optional + + :param title: Title of the maintenance. + :type title: str, optional + + :param updates: Past updates made to the maintenance. + :type updates: [MaintenanceDataAttributesUpdatesItems], optional + """ + if completed_date is not unset: + kwargs["completed_date"] = completed_date + if completed_description is not unset: + kwargs["completed_description"] = completed_description + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if in_progress_description is not unset: + kwargs["in_progress_description"] = in_progress_description + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if published_date is not unset: + kwargs["published_date"] = published_date + if scheduled_description is not unset: + kwargs["scheduled_description"] = scheduled_description + if start_date is not unset: + kwargs["start_date"] = start_date + 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/maintenance_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/maintenance_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..8bbae4c85c --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data_attributes_components_affected_items.py @@ -0,0 +1,69 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + ) + + +class MaintenanceDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + ) + + return { + "id": (UUID,), + "name": (str,), + "status": (PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, + id: UUID, + status: PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + name: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: The ID of the component. Must be a component of type ``component``. + :type id: UUID + + :param name: The name of the component. + :type name: str, optional + + :param status: The status of the component. + :type status: PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + """ + 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/maintenance_data_attributes_status.py b/src/datadog_api_client/v2/model/maintenance_data_attributes_status.py new file mode 100644 index 0000000000..05dab8b383 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_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 MaintenanceDataAttributesStatus(ModelSimple): + """ + The status of the maintenance. + + :param value: Must be one of ["scheduled", "in_progress", "completed", "canceled"]. + :type value: str + """ + + allowed_values = { + "scheduled", + "in_progress", + "completed", + "canceled", + } + SCHEDULED: ClassVar["MaintenanceDataAttributesStatus"] + IN_PROGRESS: ClassVar["MaintenanceDataAttributesStatus"] + COMPLETED: ClassVar["MaintenanceDataAttributesStatus"] + CANCELED: ClassVar["MaintenanceDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +MaintenanceDataAttributesStatus.SCHEDULED = MaintenanceDataAttributesStatus("scheduled") +MaintenanceDataAttributesStatus.IN_PROGRESS = MaintenanceDataAttributesStatus("in_progress") +MaintenanceDataAttributesStatus.COMPLETED = MaintenanceDataAttributesStatus("completed") +MaintenanceDataAttributesStatus.CANCELED = MaintenanceDataAttributesStatus("canceled") diff --git a/src/datadog_api_client/v2/model/maintenance_data_attributes_updates_items.py b/src/datadog_api_client/v2/model/maintenance_data_attributes_updates_items.py new file mode 100644 index 0000000000..251081b1ad --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data_attributes_updates_items.py @@ -0,0 +1,116 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 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, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.maintenance_data_attributes_updates_items_components_affected_items import ( + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems, + ) + + +class MaintenanceDataAttributesUpdatesItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data_attributes_updates_items_components_affected_items import ( + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems, + ) + + return { + "components_affected": ([MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems],), + "created_at": (datetime,), + "description": (str,), + "id": (UUID,), + "manual_transition": (bool,), + "modified_at": (datetime,), + "started_at": (datetime,), + "status": (str,), + } + + attribute_map = { + "components_affected": "components_affected", + "created_at": "created_at", + "description": "description", + "id": "id", + "manual_transition": "manual_transition", + "modified_at": "modified_at", + "started_at": "started_at", + "status": "status", + } + read_only_vars = { + "created_at", + "id", + "manual_transition", + "modified_at", + } + + def __init__( + self_, + components_affected: Union[ + List[MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems], UnsetType + ] = unset, + created_at: Union[datetime, UnsetType] = unset, + description: Union[str, UnsetType] = unset, + id: Union[UUID, UnsetType] = unset, + manual_transition: Union[bool, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + started_at: Union[datetime, UnsetType] = unset, + status: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param components_affected: The components affected at the time of the update. + :type components_affected: [MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems], optional + + :param created_at: Timestamp of when the update was created. + :type created_at: datetime, optional + + :param description: Description of the update. + :type description: str, optional + + :param id: Identifier of the update. + :type id: UUID, optional + + :param manual_transition: + :type manual_transition: bool, optional + + :param modified_at: Timestamp of when the update was last modified. + :type modified_at: datetime, optional + + :param started_at: Timestamp of when the update started. + :type started_at: datetime, optional + + :param status: The status of the update. + :type status: str, 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 manual_transition is not unset: + kwargs["manual_transition"] = manual_transition + 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/maintenance_data_attributes_updates_items_components_affected_items.py b/src/datadog_api_client/v2/model/maintenance_data_attributes_updates_items_components_affected_items.py new file mode 100644 index 0000000000..f8783718df --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data_attributes_updates_items_components_affected_items.py @@ -0,0 +1,69 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + ) + + +class MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + ) + + return { + "id": (UUID,), + "name": (str,), + "status": (PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, + id: UUID, + status: PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + name: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: Identifier of the component affected at the time of the update. + :type id: UUID + + :param name: The name of the component affected at the time of the update. + :type name: str, optional + + :param status: The status of the component. + :type status: PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + """ + 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/maintenance_data_relationships.py b/src/datadog_api_client/v2/model/maintenance_data_relationships.py new file mode 100644 index 0000000000..1bf436ceb5 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_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.maintenance_data_relationships_created_by_user import ( + MaintenanceDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.maintenance_data_relationships_last_modified_by_user import ( + MaintenanceDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.maintenance_data_relationships_status_page import ( + MaintenanceDataRelationshipsStatusPage, + ) + + +class MaintenanceDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data_relationships_created_by_user import ( + MaintenanceDataRelationshipsCreatedByUser, + ) + from datadog_api_client.v2.model.maintenance_data_relationships_last_modified_by_user import ( + MaintenanceDataRelationshipsLastModifiedByUser, + ) + from datadog_api_client.v2.model.maintenance_data_relationships_status_page import ( + MaintenanceDataRelationshipsStatusPage, + ) + + return { + "created_by_user": (MaintenanceDataRelationshipsCreatedByUser,), + "last_modified_by_user": (MaintenanceDataRelationshipsLastModifiedByUser,), + "status_page": (MaintenanceDataRelationshipsStatusPage,), + } + + 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[MaintenanceDataRelationshipsCreatedByUser, UnsetType] = unset, + last_modified_by_user: Union[MaintenanceDataRelationshipsLastModifiedByUser, UnsetType] = unset, + status_page: Union[MaintenanceDataRelationshipsStatusPage, UnsetType] = unset, + **kwargs, + ): + """ + The relationships of a maintenance. + + :param created_by_user: + :type created_by_user: MaintenanceDataRelationshipsCreatedByUser, optional + + :param last_modified_by_user: + :type last_modified_by_user: MaintenanceDataRelationshipsLastModifiedByUser, optional + + :param status_page: + :type status_page: MaintenanceDataRelationshipsStatusPage, 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/maintenance_data_relationships_created_by_user.py b/src/datadog_api_client/v2/model/maintenance_data_relationships_created_by_user.py new file mode 100644 index 0000000000..859885b91d --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_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.maintenance_data_relationships_created_by_user_data import ( + MaintenanceDataRelationshipsCreatedByUserData, + ) + + +class MaintenanceDataRelationshipsCreatedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data_relationships_created_by_user_data import ( + MaintenanceDataRelationshipsCreatedByUserData, + ) + + return { + "data": (MaintenanceDataRelationshipsCreatedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: MaintenanceDataRelationshipsCreatedByUserData, **kwargs): + """ + + + :param data: + :type data: MaintenanceDataRelationshipsCreatedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/maintenance_data_relationships_created_by_user_data.py b/src/datadog_api_client/v2/model/maintenance_data_relationships_created_by_user_data.py new file mode 100644 index 0000000000..e9d2292f46 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data_relationships_created_by_user_data.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class MaintenanceDataRelationshipsCreatedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (UUID,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: UUID + + :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/maintenance_data_relationships_last_modified_by_user.py b/src/datadog_api_client/v2/model/maintenance_data_relationships_last_modified_by_user.py new file mode 100644 index 0000000000..daa9533a41 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_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.maintenance_data_relationships_last_modified_by_user_data import ( + MaintenanceDataRelationshipsLastModifiedByUserData, + ) + + +class MaintenanceDataRelationshipsLastModifiedByUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data_relationships_last_modified_by_user_data import ( + MaintenanceDataRelationshipsLastModifiedByUserData, + ) + + return { + "data": (MaintenanceDataRelationshipsLastModifiedByUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: MaintenanceDataRelationshipsLastModifiedByUserData, **kwargs): + """ + + + :param data: + :type data: MaintenanceDataRelationshipsLastModifiedByUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/maintenance_data_relationships_last_modified_by_user_data.py b/src/datadog_api_client/v2/model/maintenance_data_relationships_last_modified_by_user_data.py new file mode 100644 index 0000000000..88a90e04f4 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data_relationships_last_modified_by_user_data.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class MaintenanceDataRelationshipsLastModifiedByUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (UUID,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPagesUserType, **kwargs): + """ + + + :param id: + :type id: UUID + + :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/maintenance_data_relationships_status_page.py b/src/datadog_api_client/v2/model/maintenance_data_relationships_status_page.py new file mode 100644 index 0000000000..08c6b7611b --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_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.maintenance_data_relationships_status_page_data import ( + MaintenanceDataRelationshipsStatusPageData, + ) + + +class MaintenanceDataRelationshipsStatusPage(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_data_relationships_status_page_data import ( + MaintenanceDataRelationshipsStatusPageData, + ) + + return { + "data": (MaintenanceDataRelationshipsStatusPageData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: MaintenanceDataRelationshipsStatusPageData, **kwargs): + """ + + + :param data: + :type data: MaintenanceDataRelationshipsStatusPageData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/maintenance_data_relationships_status_page_data.py b/src/datadog_api_client/v2/model/maintenance_data_relationships_status_page_data.py new file mode 100644 index 0000000000..dfc57dd7e3 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data_relationships_status_page_data.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + +class MaintenanceDataRelationshipsStatusPageData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_page_data_type import StatusPageDataType + + return { + "id": (UUID,), + "type": (StatusPageDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPageDataType, **kwargs): + """ + + + :param id: + :type id: UUID + + :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/pagination_meta.py b/src/datadog_api_client/v2/model/pagination_meta.py new file mode 100644 index 0000000000..5e6015e908 --- /dev/null +++ b/src/datadog_api_client/v2/model/pagination_meta.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.pagination_meta_page import PaginationMetaPage + + +class PaginationMeta(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.pagination_meta_page import PaginationMetaPage + + return { + "page": (PaginationMetaPage,), + } + + attribute_map = { + "page": "page", + } + + def __init__(self_, page: Union[PaginationMetaPage, UnsetType] = unset, **kwargs): + """ + + + :param page: + :type page: PaginationMetaPage, optional + """ + if page is not unset: + kwargs["page"] = page + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/pagination_meta_page.py b/src/datadog_api_client/v2/model/pagination_meta_page.py new file mode 100644 index 0000000000..496112f451 --- /dev/null +++ b/src/datadog_api_client/v2/model/pagination_meta_page.py @@ -0,0 +1,97 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + none_type, + unset, + UnsetType, +) + + +class PaginationMetaPage(ModelNormal): + @cached_property + def openapi_types(_): + return { + "first_offset": (int,), + "last_offset": (int, none_type), + "limit": (int,), + "next_offset": (int, none_type), + "offset": (int,), + "prev_offset": (int, none_type), + "total": (int, none_type), + "type": (str,), + } + + attribute_map = { + "first_offset": "first_offset", + "last_offset": "last_offset", + "limit": "limit", + "next_offset": "next_offset", + "offset": "offset", + "prev_offset": "prev_offset", + "total": "total", + "type": "type", + } + + def __init__( + self_, + first_offset: Union[int, UnsetType] = unset, + last_offset: Union[int, none_type, UnsetType] = unset, + limit: Union[int, UnsetType] = unset, + next_offset: Union[int, none_type, UnsetType] = unset, + offset: Union[int, UnsetType] = unset, + prev_offset: Union[int, none_type, UnsetType] = unset, + total: Union[int, none_type, UnsetType] = unset, + type: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param first_offset: + :type first_offset: int, optional + + :param last_offset: + :type last_offset: int, none_type, optional + + :param limit: + :type limit: int, optional + + :param next_offset: + :type next_offset: int, none_type, optional + + :param offset: + :type offset: int, optional + + :param prev_offset: + :type prev_offset: int, none_type, optional + + :param total: + :type total: int, none_type, optional + + :param type: + :type type: str, optional + """ + if first_offset is not unset: + kwargs["first_offset"] = first_offset + if last_offset is not unset: + kwargs["last_offset"] = last_offset + if limit is not unset: + kwargs["limit"] = limit + if next_offset is not unset: + kwargs["next_offset"] = next_offset + if offset is not unset: + kwargs["offset"] = offset + if prev_offset is not unset: + kwargs["prev_offset"] = prev_offset + if total is not unset: + kwargs["total"] = total + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_maintenance_request.py b/src/datadog_api_client/v2/model/patch_maintenance_request.py new file mode 100644 index 0000000000..c5df665110 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_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_maintenance_request_data import PatchMaintenanceRequestData + + +class PatchMaintenanceRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_request_data import PatchMaintenanceRequestData + + return { + "data": (PatchMaintenanceRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[PatchMaintenanceRequestData, UnsetType] = unset, **kwargs): + """ + + + :param data: + :type data: PatchMaintenanceRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_maintenance_request_data.py b/src/datadog_api_client/v2/model/patch_maintenance_request_data.py new file mode 100644 index 0000000000..7b2890ba89 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_request_data.py @@ -0,0 +1,65 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes import ( + PatchMaintenanceRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + + +class PatchMaintenanceRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes import ( + PatchMaintenanceRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + + return { + "attributes": (PatchMaintenanceRequestDataAttributes,), + "id": (UUID,), + "type": (PatchMaintenanceRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: PatchMaintenanceRequestDataAttributes, + id: UUID, + type: PatchMaintenanceRequestDataType, + **kwargs, + ): + """ + + + :param attributes: The supported attributes for updating a maintenance. + :type attributes: PatchMaintenanceRequestDataAttributes + + :param id: The ID of the maintenance. + :type id: UUID + + :param type: Maintenances resource type. + :type type: PatchMaintenanceRequestDataType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes.py new file mode 100644 index 0000000000..6d694ffc0f --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_request_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.patch_maintenance_request_data_attributes_components_affected_items import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.maintenance_data_attributes_status import MaintenanceDataAttributesStatus + + +class PatchMaintenanceRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.maintenance_data_attributes_status import MaintenanceDataAttributesStatus + + return { + "completed_date": (datetime,), + "completed_description": (str,), + "components_affected": ([PatchMaintenanceRequestDataAttributesComponentsAffectedItems],), + "in_progress_description": (str,), + "scheduled_description": (str,), + "start_date": (datetime,), + "status": (MaintenanceDataAttributesStatus,), + "title": (str,), + } + + attribute_map = { + "completed_date": "completed_date", + "completed_description": "completed_description", + "components_affected": "components_affected", + "in_progress_description": "in_progress_description", + "scheduled_description": "scheduled_description", + "start_date": "start_date", + "status": "status", + "title": "title", + } + + def __init__( + self_, + completed_date: Union[datetime, UnsetType] = unset, + completed_description: Union[str, UnsetType] = unset, + components_affected: Union[ + List[PatchMaintenanceRequestDataAttributesComponentsAffectedItems], UnsetType + ] = unset, + in_progress_description: Union[str, UnsetType] = unset, + scheduled_description: Union[str, UnsetType] = unset, + start_date: Union[datetime, UnsetType] = unset, + status: Union[MaintenanceDataAttributesStatus, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + The supported attributes for updating a maintenance. + + :param completed_date: Timestamp of when the maintenance was completed. + :type completed_date: datetime, optional + + :param completed_description: The description shown when the maintenance is completed. + :type completed_description: str, optional + + :param components_affected: The components affected by the maintenance. + :type components_affected: [PatchMaintenanceRequestDataAttributesComponentsAffectedItems], optional + + :param in_progress_description: The description shown while the maintenance is in progress. + :type in_progress_description: str, optional + + :param scheduled_description: The description shown when the maintenance is scheduled. + :type scheduled_description: str, optional + + :param start_date: Timestamp of when the maintenance is scheduled to start. + :type start_date: datetime, optional + + :param status: The status of the maintenance. + :type status: MaintenanceDataAttributesStatus, optional + + :param title: The title of the maintenance. + :type title: str, optional + """ + if completed_date is not unset: + kwargs["completed_date"] = completed_date + if completed_description is not unset: + kwargs["completed_description"] = completed_description + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if in_progress_description is not unset: + kwargs["in_progress_description"] = in_progress_description + if scheduled_description is not unset: + kwargs["scheduled_description"] = scheduled_description + if start_date is not unset: + kwargs["start_date"] = start_date + 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_maintenance_request_data_attributes_components_affected_items.py b/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes_components_affected_items.py new file mode 100644 index 0000000000..bafc11d922 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes_components_affected_items.py @@ -0,0 +1,69 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + ) + + +class PatchMaintenanceRequestDataAttributesComponentsAffectedItems(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + ) + + return { + "id": (UUID,), + "name": (str,), + "status": (PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus,), + } + + attribute_map = { + "id": "id", + "name": "name", + "status": "status", + } + read_only_vars = { + "name", + } + + def __init__( + self_, + id: UUID, + status: PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, + name: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + + + :param id: The ID of the component. Must be a component of type ``component``. + :type id: UUID + + :param name: The name of the component. + :type name: str, optional + + :param status: The status of the component. + :type status: PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + """ + 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_maintenance_request_data_attributes_components_affected_items_status.py b/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes_components_affected_items_status.py new file mode 100644 index 0000000000..c56eaa88b2 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes_components_affected_items_status.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 datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus(ModelSimple): + """ + The status of the component. + + :param value: Must be one of ["operational", "maintenance"]. + :type value: str + """ + + allowed_values = { + "operational", + "maintenance", + } + OPERATIONAL: ClassVar["PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus"] + MAINTENANCE: ClassVar["PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus.OPERATIONAL = ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus("operational") +) +PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus.MAINTENANCE = ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus("maintenance") +) diff --git a/src/datadog_api_client/v2/model/patch_maintenance_request_data_type.py b/src/datadog_api_client/v2/model/patch_maintenance_request_data_type.py new file mode 100644 index 0000000000..473193ac02 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_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 PatchMaintenanceRequestDataType(ModelSimple): + """ + Maintenances resource type. + + :param value: If omitted defaults to "maintenances". Must be one of ["maintenances"]. + :type value: str + """ + + allowed_values = { + "maintenances", + } + MAINTENANCES: ClassVar["PatchMaintenanceRequestDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +PatchMaintenanceRequestDataType.MAINTENANCES = PatchMaintenanceRequestDataType("maintenances") diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 21f05de7be..adaea0960f 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -1176,6 +1176,14 @@ from datadog_api_client.v2.model.create_jira_issue_request_data_relationships import ( CreateJiraIssueRequestDataRelationships, ) +from datadog_api_client.v2.model.create_maintenance_request import CreateMaintenanceRequest +from datadog_api_client.v2.model.create_maintenance_request_data import CreateMaintenanceRequestData +from datadog_api_client.v2.model.create_maintenance_request_data_attributes import ( + CreateMaintenanceRequestDataAttributes, +) +from datadog_api_client.v2.model.create_maintenance_request_data_attributes_components_affected_items import ( + CreateMaintenanceRequestDataAttributesComponentsAffectedItems, +) from datadog_api_client.v2.model.create_notification_channel_attributes import CreateNotificationChannelAttributes from datadog_api_client.v2.model.create_notification_channel_config import CreateNotificationChannelConfig from datadog_api_client.v2.model.create_notification_channel_data import CreateNotificationChannelData @@ -1585,7 +1593,6 @@ 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 ( @@ -1614,6 +1621,7 @@ from datadog_api_client.v2.model.degradation_data_relationships_status_page_data import ( DegradationDataRelationshipsStatusPageData, ) +from datadog_api_client.v2.model.degradation_included import DegradationIncluded 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 @@ -2921,6 +2929,37 @@ from datadog_api_client.v2.model.logs_warning import LogsWarning from datadog_api_client.v2.model.ms_teams_integration_metadata import MSTeamsIntegrationMetadata from datadog_api_client.v2.model.ms_teams_integration_metadata_teams_item import MSTeamsIntegrationMetadataTeamsItem +from datadog_api_client.v2.model.maintenance import Maintenance +from datadog_api_client.v2.model.maintenance_array import MaintenanceArray +from datadog_api_client.v2.model.maintenance_data import MaintenanceData +from datadog_api_client.v2.model.maintenance_data_attributes import MaintenanceDataAttributes +from datadog_api_client.v2.model.maintenance_data_attributes_components_affected_items import ( + MaintenanceDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.maintenance_data_attributes_status import MaintenanceDataAttributesStatus +from datadog_api_client.v2.model.maintenance_data_attributes_updates_items import MaintenanceDataAttributesUpdatesItems +from datadog_api_client.v2.model.maintenance_data_attributes_updates_items_components_affected_items import ( + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems, +) +from datadog_api_client.v2.model.maintenance_data_relationships import MaintenanceDataRelationships +from datadog_api_client.v2.model.maintenance_data_relationships_created_by_user import ( + MaintenanceDataRelationshipsCreatedByUser, +) +from datadog_api_client.v2.model.maintenance_data_relationships_created_by_user_data import ( + MaintenanceDataRelationshipsCreatedByUserData, +) +from datadog_api_client.v2.model.maintenance_data_relationships_last_modified_by_user import ( + MaintenanceDataRelationshipsLastModifiedByUser, +) +from datadog_api_client.v2.model.maintenance_data_relationships_last_modified_by_user_data import ( + MaintenanceDataRelationshipsLastModifiedByUserData, +) +from datadog_api_client.v2.model.maintenance_data_relationships_status_page import ( + MaintenanceDataRelationshipsStatusPage, +) +from datadog_api_client.v2.model.maintenance_data_relationships_status_page_data import ( + MaintenanceDataRelationshipsStatusPageData, +) from datadog_api_client.v2.model.member_team import MemberTeam from datadog_api_client.v2.model.member_team_type import MemberTeamType from datadog_api_client.v2.model.metadata import Metadata @@ -4071,6 +4110,8 @@ from datadog_api_client.v2.model.output_schema_parameters_type import OutputSchemaParametersType from datadog_api_client.v2.model.page_urgency import PageUrgency from datadog_api_client.v2.model.pagination import Pagination +from datadog_api_client.v2.model.pagination_meta import PaginationMeta +from datadog_api_client.v2.model.pagination_meta_page import PaginationMetaPage from datadog_api_client.v2.model.parameter import Parameter from datadog_api_client.v2.model.partial_api_key import PartialAPIKey from datadog_api_client.v2.model.partial_api_key_attributes import PartialAPIKeyAttributes @@ -4099,6 +4140,16 @@ from datadog_api_client.v2.model.patch_incident_notification_template_request import ( PatchIncidentNotificationTemplateRequest, ) +from datadog_api_client.v2.model.patch_maintenance_request import PatchMaintenanceRequest +from datadog_api_client.v2.model.patch_maintenance_request_data import PatchMaintenanceRequestData +from datadog_api_client.v2.model.patch_maintenance_request_data_attributes import PatchMaintenanceRequestDataAttributes +from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItems, +) +from datadog_api_client.v2.model.patch_maintenance_request_data_attributes_components_affected_items_status import ( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus, +) +from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType from datadog_api_client.v2.model.patch_notification_rule_parameters import PatchNotificationRuleParameters from datadog_api_client.v2.model.patch_notification_rule_parameters_data import PatchNotificationRuleParametersData from datadog_api_client.v2.model.patch_notification_rule_parameters_data_attributes import ( @@ -7044,6 +7095,10 @@ "CreateJiraIssueRequestData", "CreateJiraIssueRequestDataAttributes", "CreateJiraIssueRequestDataRelationships", + "CreateMaintenanceRequest", + "CreateMaintenanceRequestData", + "CreateMaintenanceRequestDataAttributes", + "CreateMaintenanceRequestDataAttributesComponentsAffectedItems", "CreateNotificationChannelAttributes", "CreateNotificationChannelConfig", "CreateNotificationChannelData", @@ -7321,7 +7376,6 @@ "DatastoreTriggerWrapper", "Degradation", "DegradationArray", - "DegradationArrayIncluded", "DegradationData", "DegradationDataAttributes", "DegradationDataAttributesComponentsAffectedItems", @@ -7334,6 +7388,7 @@ "DegradationDataRelationshipsLastModifiedByUserData", "DegradationDataRelationshipsStatusPage", "DegradationDataRelationshipsStatusPageData", + "DegradationIncluded", "DeleteAppResponse", "DeleteAppResponseData", "DeleteAppsDatastoreItemRequest", @@ -8409,6 +8464,21 @@ "LogsWarning", "MSTeamsIntegrationMetadata", "MSTeamsIntegrationMetadataTeamsItem", + "Maintenance", + "MaintenanceArray", + "MaintenanceData", + "MaintenanceDataAttributes", + "MaintenanceDataAttributesComponentsAffectedItems", + "MaintenanceDataAttributesStatus", + "MaintenanceDataAttributesUpdatesItems", + "MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems", + "MaintenanceDataRelationships", + "MaintenanceDataRelationshipsCreatedByUser", + "MaintenanceDataRelationshipsCreatedByUserData", + "MaintenanceDataRelationshipsLastModifiedByUser", + "MaintenanceDataRelationshipsLastModifiedByUserData", + "MaintenanceDataRelationshipsStatusPage", + "MaintenanceDataRelationshipsStatusPageData", "MemberTeam", "MemberTeamType", "Metadata", @@ -9013,6 +9083,8 @@ "OutputSchemaParametersType", "PageUrgency", "Pagination", + "PaginationMeta", + "PaginationMetaPage", "Parameter", "PartialAPIKey", "PartialAPIKeyAttributes", @@ -9033,6 +9105,12 @@ "PatchDegradationRequestDataAttributesStatus", "PatchDegradationRequestDataType", "PatchIncidentNotificationTemplateRequest", + "PatchMaintenanceRequest", + "PatchMaintenanceRequestData", + "PatchMaintenanceRequestDataAttributes", + "PatchMaintenanceRequestDataAttributesComponentsAffectedItems", + "PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus", + "PatchMaintenanceRequestDataType", "PatchNotificationRuleParameters", "PatchNotificationRuleParametersData", "PatchNotificationRuleParametersDataAttributes", 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 index 7323200d4a..12319307ca 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:35.707Z \ No newline at end of file +2026-02-19T21:09:17.751Z \ 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 index ee27713c84..8c569b19fe 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"8b6cd6e80c23846d","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"f76567de039160c9","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"b53231b9-4737-47eb-8bb8-90d2b51e0803","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"1cdd6cef-6732-4202-934c-69eb21701b5a","name":"Application","type":"group","position":0,"components":[{"id":"85c38440-50b4-4db7-b9fc-4372c4b36555","name":"Login","type":"component","status":"operational","position":0},{"id":"bfd82882-3607-4d7d-8242-072ec5b94492","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:35.875217Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"8b6cd6e80c23846d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:35.875217Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/b53231b9-4737-47eb-8bb8-90d2b51e0803/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"}}}}}' + string: '{"data":{"id":"47e17ba1-f5eb-46ff-b0be-6d715956bde1","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"142d8de6-6bb4-4b62-8211-baaf16e09b87","name":"Application","type":"group","position":0,"components":[{"id":"cd5fb685-7435-4fca-b94e-b581cb2a6ea7","name":"Login","type":"component","status":"operational","position":0},{"id":"822f70b7-aae3-4b1f-b906-b5a71021bdd7","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:18.085798Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f76567de039160c9","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:18.085798Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/47e17ba1-f5eb-46ff-b0be-6d715956bde1/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 @@ -27,10 +27,10 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/statuspages/b53231b9-4737-47eb-8bb8-90d2b51e0803/components + uri: https://api.datadoghq.com/api/v2/statuspages/47e17ba1-f5eb-46ff-b0be-6d715956bde1/components response: body: - string: '{"data":{"id":"42f96d69-9136-4888-b822-ca0dc2013978","type":"components","attributes":{"created_at":"2026-01-21T21:23:36.340483Z","modified_at":"2026-01-21T21:23:36.340483Z","name":"Logs","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":"b53231b9-4737-47eb-8bb8-90d2b51e0803","type":"status_pages"}}}}}' + string: '{"data":{"id":"ef596910-80a3-4802-84dd-1ef84472450a","type":"components","attributes":{"created_at":"2026-02-19T21:09:18.543075Z","modified_at":"2026-02-19T21:09:18.543075Z","name":"Logs","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":"47e17ba1-f5eb-46ff-b0be-6d715956bde1","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -43,7 +43,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/b53231b9-4737-47eb-8bb8-90d2b51e0803/components/42f96d69-9136-4888-b822-ca0dc2013978 + uri: https://api.datadoghq.com/api/v2/statuspages/47e17ba1-f5eb-46ff-b0be-6d715956bde1/components/ef596910-80a3-4802-84dd-1ef84472450a response: body: string: '' @@ -57,7 +57,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/b53231b9-4737-47eb-8bb8-90d2b51e0803 + uri: https://api.datadoghq.com/api/v2/statuspages/47e17ba1-f5eb-46ff-b0be-6d715956bde1 response: body: string: '' 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 index 2c73d07804..7ac5b5338e 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:36.959Z \ No newline at end of file +2026-02-19T21:09:19.360Z \ 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 index 29fc9040d7..ed49edabc6 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"f594e675bf08d5d7","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"891e5c9c73a3787d","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"bb4afad2-f893-464a-82a4-d2ab29d5105c","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"8b6c8c24-95a9-449b-b508-9d3320e5cba2","name":"Application","type":"group","position":0,"components":[{"id":"43c959d9-3dda-4dc9-ae42-74b71ea39f08","name":"Login","type":"component","status":"operational","position":0},{"id":"5dcfa87c-9147-4c77-9ef9-658ae70db253","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:37.073734Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f594e675bf08d5d7","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:37.073734Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/bb4afad2-f893-464a-82a4-d2ab29d5105c/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"}}}}}' + string: '{"data":{"id":"0c6c59bf-b579-4d33-9470-8ad98d37d15d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2eda5bf2-de31-41b0-be23-3f2192283aa8","name":"Application","type":"group","position":0,"components":[{"id":"2640a34a-b6cd-44ab-8459-c9c1f0c28400","name":"Login","type":"component","status":"operational","position":0},{"id":"80b0238c-cf81-4f71-95e6-9d715911a685","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:19.703338Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"891e5c9c73a3787d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:19.703338Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/0c6c59bf-b579-4d33-9470-8ad98d37d15d/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 @@ -20,7 +20,7 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"components_affected":[{"id":"43c959d9-3dda-4dc9-ae42-74b71ea39f08","status":"major_outage"}],"description":"Our + body: '{"data":{"attributes":{"components_affected":[{"id":"2640a34a-b6cd-44ab-8459-c9c1f0c28400","status":"major_outage"}],"description":"Our API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated API Latency"},"type":"degradations"}}' headers: @@ -29,13 +29,13 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/statuspages/bb4afad2-f893-464a-82a4-d2ab29d5105c/degradations + uri: https://api.datadoghq.com/api/v2/statuspages/0c6c59bf-b579-4d33-9470-8ad98d37d15d/degradations response: body: - string: '{"data":{"id":"e4e76067-6b16-48d1-b943-734d0d81f715","type":"degradations","attributes":{"components_affected":[{"id":"43c959d9-3dda-4dc9-ae42-74b71ea39f08","name":"Login","status":"major_outage"}],"created_at":"2026-01-21T21:23:37.592566Z","description":"Our - API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-21T21:23:37.592566Z","status":"investigating","title":"Elevated - API Latency","updates":[{"id":"af2de416-ec54-4e72-a973-7be879f26886","created_at":"2026-01-21T21:23:37.592566Z","modified_at":"2026-01-21T21:23:37.592566Z","status":"investigating","description":"Our - API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"43c959d9-3dda-4dc9-ae42-74b71ea39f08","name":"Login","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":"bb4afad2-f893-464a-82a4-d2ab29d5105c","type":"status_pages"}}}}}' + string: '{"data":{"id":"163da211-144f-4842-ba85-1248bbba7eb0","type":"degradations","attributes":{"components_affected":[{"id":"2640a34a-b6cd-44ab-8459-c9c1f0c28400","name":"Login","status":"major_outage"}],"created_at":"2026-02-19T21:09:20.491296Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-19T21:09:20.491296Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"47063361-a699-46a7-b53e-7cd49110e242","created_at":"2026-02-19T21:09:20.491296Z","modified_at":"2026-02-19T21:09:20.491296Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"2640a34a-b6cd-44ab-8459-c9c1f0c28400","name":"Login","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":"0c6c59bf-b579-4d33-9470-8ad98d37d15d","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -48,7 +48,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/bb4afad2-f893-464a-82a4-d2ab29d5105c/degradations/e4e76067-6b16-48d1-b943-734d0d81f715 + uri: https://api.datadoghq.com/api/v2/statuspages/0c6c59bf-b579-4d33-9470-8ad98d37d15d/degradations/163da211-144f-4842-ba85-1248bbba7eb0 response: body: string: '' @@ -62,7 +62,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/bb4afad2-f893-464a-82a4-d2ab29d5105c + uri: https://api.datadoghq.com/api/v2/statuspages/0c6c59bf-b579-4d33-9470-8ad98d37d15d response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.frozen new file mode 100644 index 0000000000..2576e0a0f1 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.frozen @@ -0,0 +1 @@ +2026-02-19T21:09:21.400Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.yaml new file mode 100644 index 0000000000..b0b958d882 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.yaml @@ -0,0 +1,63 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"b6dd52ec533b50a4","enabled":true,"name":"A + Status Page","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":"5f928e28-74e7-4f4d-8ca1-732742061a01","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"8f246542-87b5-4794-a8aa-15c112db4203","name":"Application","type":"group","position":0,"components":[{"id":"805b30a0-22bf-42e1-9232-a9a83d3c438c","name":"Login","type":"component","status":"operational","position":0},{"id":"740bb3f1-aea3-4a06-8b27-471e6cba3142","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:21.765345Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"b6dd52ec533b50a4","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:21.765345Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/5f928e28-74e7-4f4d-8ca1-732742061a01/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":{"completed_date":"2026-02-19T23:09:21.400Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"805b30a0-22bf-42e1-9232-a9a83d3c438c","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:21.400Z","title":"API + Maintenance"},"type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/5f928e28-74e7-4f4d-8ca1-732742061a01/maintenances + response: + body: + string: '{"data":{"id":"ad83d272-470e-45ec-a61f-3852b2cba3bc","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:09:21.4Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"805b30a0-22bf-42e1-9232-a9a83d3c438c","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T21:09:22.350609Z","published_date":"2026-02-19T21:09:22.350609Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:21.4Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"d87352a2-565b-4d6d-a90a-7310698d4562","created_at":"2026-02-19T21:09:22.350609Z","modified_at":"2026-02-19T21:09:22.350609Z","started_at":"2026-02-19T21:09:22.350609Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"805b30a0-22bf-42e1-9232-a9a83d3c438c","name":"Login","status":"operational"}]}]},"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":"5f928e28-74e7-4f4d-8ca1-732742061a01","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/5f928e28-74e7-4f4d-8ca1-732742061a01 + 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 index f09a7049e4..b43a55e9de 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:38.324Z \ No newline at end of file +2026-02-19T21:09:22.909Z \ 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 index a4376f13e0..c5e6c6119f 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"domain_prefix":"bd769f64d06a9cdb","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"domain_prefix":"48b4b1f5feb870a5","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"f59e184f-4019-40d6-be90-b59f2381976d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"c66f749f-12f7-4813-92a3-0e70df06cbd8","name":"Login","type":"component","status":"operational","position":0},{"id":"2478dc16-435c-493d-93ad-dcea6421a281","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-01-21T21:23:38.486999Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"bd769f64d06a9cdb","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:38.486999Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/f59e184f-4019-40d6-be90-b59f2381976d/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"}}}}}' + string: '{"data":{"id":"241bdfcf-4e32-4c33-9d82-ff079cc74040","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"803fdee3-c46a-40cf-8dce-6ae8db73a204","name":"Login","type":"component","status":"operational","position":0},{"id":"00955671-5931-47be-8212-c62d9ace91a4","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-02-19T21:09:23.271414Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"48b4b1f5feb870a5","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:23.271414Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/241bdfcf-4e32-4c33-9d82-ff079cc74040/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 @@ -25,7 +25,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/f59e184f-4019-40d6-be90-b59f2381976d + uri: https://api.datadoghq.com/api/v2/statuspages/241bdfcf-4e32-4c33-9d82-ff079cc74040 response: body: string: '' 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 index dccc0cd79e..c1266252f6 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:39.373Z \ No newline at end of file +2026-02-19T21:09:24.403Z \ 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 index b3e19dca62..8fa2a45ad1 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"52506f44627e27d9","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"163bff3a57492cc4","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"e4365564-6c49-4a14-b9c2-736c038a62a9","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"be6cbe05-c28b-4cd1-be92-0323c2399a6c","name":"Application","type":"group","position":0,"components":[{"id":"da518ded-9db2-4cba-919e-0ad04d208561","name":"Login","type":"component","status":"operational","position":0},{"id":"06e4ed67-1231-409e-a0b1-da84785d64a0","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:39.487738Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"52506f44627e27d9","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:39.487738Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/e4365564-6c49-4a14-b9c2-736c038a62a9/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"}}}}}' + string: '{"data":{"id":"d65c44fe-e2c4-4bf8-ae41-528a98bb69a9","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"830deeec-9de6-45af-86a9-42a2498b707b","name":"Application","type":"group","position":0,"components":[{"id":"2797a0b9-3e35-48d9-b4ec-9ad4955941d1","name":"Login","type":"component","status":"operational","position":0},{"id":"bff8f38d-1919-4154-9228-f43a1870bed3","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:24.757518Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"163bff3a57492cc4","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:24.757518Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/d65c44fe-e2c4-4bf8-ae41-528a98bb69a9/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 @@ -25,7 +25,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/e4365564-6c49-4a14-b9c2-736c038a62a9/components/be6cbe05-c28b-4cd1-be92-0323c2399a6c + uri: https://api.datadoghq.com/api/v2/statuspages/d65c44fe-e2c4-4bf8-ae41-528a98bb69a9/components/830deeec-9de6-45af-86a9-42a2498b707b response: body: string: '' @@ -39,7 +39,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/e4365564-6c49-4a14-b9c2-736c038a62a9 + uri: https://api.datadoghq.com/api/v2/statuspages/d65c44fe-e2c4-4bf8-ae41-528a98bb69a9 response: body: string: '' 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 index f9dac8fe0f..a5db03ab45 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:40.553Z \ No newline at end of file +2026-02-19T21:09:25.961Z \ 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 index 28de8acd31..d804f6e2fc 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"854d0635d9daaa12","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"0f841c59b5d015f6","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"6be99142-8929-473e-9799-041e6372f114","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"82cd6444-b15f-467d-bba2-b0c946de1965","name":"Application","type":"group","position":0,"components":[{"id":"45221c15-9e84-469a-bc08-be9e3988f3ea","name":"Login","type":"component","status":"operational","position":0},{"id":"694d84bb-afb7-4a0a-854f-d9eee42fff7f","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:40.659745Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"854d0635d9daaa12","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:40.659745Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/6be99142-8929-473e-9799-041e6372f114/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"}}}}}' + string: '{"data":{"id":"28f7f975-36e6-42d0-a03f-065e4a00372d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"119292d5-0f21-4394-8271-4cabdaa6df70","name":"Application","type":"group","position":0,"components":[{"id":"b503614e-95e3-4334-b29b-c42366505dd3","name":"Login","type":"component","status":"operational","position":0},{"id":"af1433f0-d069-4c33-87f5-c8cf65542d9a","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:26.302536Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"0f841c59b5d015f6","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:26.302536Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/28f7f975-36e6-42d0-a03f-065e4a00372d/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 @@ -20,7 +20,7 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"components_affected":[{"id":"45221c15-9e84-469a-bc08-be9e3988f3ea","status":"major_outage"}],"description":"Our + body: '{"data":{"attributes":{"components_affected":[{"id":"b503614e-95e3-4334-b29b-c42366505dd3","status":"major_outage"}],"description":"Our API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated API Latency"},"type":"degradations"}}' headers: @@ -29,13 +29,13 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/statuspages/6be99142-8929-473e-9799-041e6372f114/degradations + uri: https://api.datadoghq.com/api/v2/statuspages/28f7f975-36e6-42d0-a03f-065e4a00372d/degradations response: body: - string: '{"data":{"id":"bd0e77e0-83e5-4556-809b-f582969f1441","type":"degradations","attributes":{"components_affected":[{"id":"45221c15-9e84-469a-bc08-be9e3988f3ea","name":"Login","status":"major_outage"}],"created_at":"2026-01-21T21:23:41.199085Z","description":"Our - API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-21T21:23:41.199085Z","status":"investigating","title":"Elevated - API Latency","updates":[{"id":"a899c951-a528-4edb-86e7-8eca80ff1a92","created_at":"2026-01-21T21:23:41.199085Z","modified_at":"2026-01-21T21:23:41.199085Z","status":"investigating","description":"Our - API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"45221c15-9e84-469a-bc08-be9e3988f3ea","name":"Login","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":"6be99142-8929-473e-9799-041e6372f114","type":"status_pages"}}}}}' + string: '{"data":{"id":"58b316c0-b55b-42c6-80ef-074b906284e3","type":"degradations","attributes":{"components_affected":[{"id":"b503614e-95e3-4334-b29b-c42366505dd3","name":"Login","status":"major_outage"}],"created_at":"2026-02-19T21:09:26.913653Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-19T21:09:26.913653Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"91723c26-b5b6-4b6c-8966-5682fb00c5b9","created_at":"2026-02-19T21:09:26.913653Z","modified_at":"2026-02-19T21:09:26.913653Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"b503614e-95e3-4334-b29b-c42366505dd3","name":"Login","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":"28f7f975-36e6-42d0-a03f-065e4a00372d","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -48,7 +48,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/6be99142-8929-473e-9799-041e6372f114/degradations/bd0e77e0-83e5-4556-809b-f582969f1441 + uri: https://api.datadoghq.com/api/v2/statuspages/28f7f975-36e6-42d0-a03f-065e4a00372d/degradations/58b316c0-b55b-42c6-80ef-074b906284e3 response: body: string: '' @@ -62,7 +62,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/6be99142-8929-473e-9799-041e6372f114/degradations/bd0e77e0-83e5-4556-809b-f582969f1441 + uri: https://api.datadoghq.com/api/v2/statuspages/28f7f975-36e6-42d0-a03f-065e4a00372d/degradations/58b316c0-b55b-42c6-80ef-074b906284e3 response: body: string: '{"errors":[{"title":"Generic Error","detail":"degradation not found"}]}' @@ -78,7 +78,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/6be99142-8929-473e-9799-041e6372f114 + uri: https://api.datadoghq.com/api/v2/statuspages/28f7f975-36e6-42d0-a03f-065e4a00372d response: body: string: '' 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 index dbcea3ddf9..ab15423874 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:41.981Z \ No newline at end of file +2026-02-19T21:09:27.807Z \ 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 index a0fa0ffd50..b96c3e33df 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"cb21c38e7fab0cfc","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"66b6b291edf9027c","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"bc81fd89-62a4-4c28-b5e1-167c63ce3249","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"e6286170-1f58-4d8d-9432-7112ebc32be7","name":"Application","type":"group","position":0,"components":[{"id":"c7753c9e-7f28-4111-b7ab-f801c75b4945","name":"Login","type":"component","status":"operational","position":0},{"id":"a6e70d8d-7457-4d09-88a7-ef5cd4674698","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:42.084545Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"cb21c38e7fab0cfc","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:42.084545Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/bc81fd89-62a4-4c28-b5e1-167c63ce3249/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"}}}}}' + string: '{"data":{"id":"803668b9-3f95-40ed-9092-a96da0c098ee","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"069e49b9-8922-42df-a98c-7e64e631de68","name":"Application","type":"group","position":0,"components":[{"id":"2a890a79-ee45-4d88-8b77-fb615cac67e8","name":"Login","type":"component","status":"operational","position":0},{"id":"a4bcdcee-5aa9-4b3b-838c-4d49ab3a9a09","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:28.141704Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"66b6b291edf9027c","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:28.141704Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/803668b9-3f95-40ed-9092-a96da0c098ee/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 @@ -25,7 +25,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/bc81fd89-62a4-4c28-b5e1-167c63ce3249 + uri: https://api.datadoghq.com/api/v2/statuspages/803668b9-3f95-40ed-9092-a96da0c098ee response: body: string: '' @@ -39,7 +39,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/bc81fd89-62a4-4c28-b5e1-167c63ce3249 + uri: https://api.datadoghq.com/api/v2/statuspages/803668b9-3f95-40ed-9092-a96da0c098ee response: body: string: '{"errors":[{"title":"Generic Error","detail":"status page not found"}]}' 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 index 06ecf5ee7c..dcdce40faf 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:43.141Z \ No newline at end of file +2026-02-19T21:09:29.140Z \ 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 index 5a4b180cd9..50d46d368a 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"06de602b320cfdb0","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"3b22f4c10f2df21a","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"70f5256d-c03f-45e1-8057-bc036d4793eb","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"7a270e4e-a064-44d0-bf07-326cf1f51cad","name":"Application","type":"group","position":0,"components":[{"id":"3a6c227c-52ea-4ed1-849c-4b4c1179881a","name":"Login","type":"component","status":"operational","position":0},{"id":"dff9c5c3-0b49-4f04-b801-83cdec88432a","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:43.257592Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"06de602b320cfdb0","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:43.257592Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/70f5256d-c03f-45e1-8057-bc036d4793eb/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"}}}}}' + string: '{"data":{"id":"73b33de0-a4a8-4f86-bca3-5910af211fce","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"88206000-8c65-4baa-93f9-0438b05d9985","name":"Application","type":"group","position":0,"components":[{"id":"d957cba2-61b8-4612-a494-cb3c8adf914e","name":"Login","type":"component","status":"operational","position":0},{"id":"34513918-9a87-4b51-b933-62ad9b986e94","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:29.495271Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"3b22f4c10f2df21a","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:29.495271Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/73b33de0-a4a8-4f86-bca3-5910af211fce/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 @@ -25,10 +25,10 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/statuspages/70f5256d-c03f-45e1-8057-bc036d4793eb/components/7a270e4e-a064-44d0-bf07-326cf1f51cad + uri: https://api.datadoghq.com/api/v2/statuspages/73b33de0-a4a8-4f86-bca3-5910af211fce/components/88206000-8c65-4baa-93f9-0438b05d9985 response: body: - string: '{"data":{"id":"7a270e4e-a064-44d0-bf07-326cf1f51cad","type":"components","attributes":{"components":[{"id":"3a6c227c-52ea-4ed1-849c-4b4c1179881a","name":"Login","type":"component","status":"operational","position":0},{"id":"dff9c5c3-0b49-4f04-b801-83cdec88432a","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-01-21T21:23:43.257592Z","modified_at":"2026-01-21T21:23:43.257592Z","name":"Application","position":0,"type":"group"},"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":"70f5256d-c03f-45e1-8057-bc036d4793eb","type":"status_pages"}}}}}' + string: '{"data":{"id":"88206000-8c65-4baa-93f9-0438b05d9985","type":"components","attributes":{"components":[{"id":"d957cba2-61b8-4612-a494-cb3c8adf914e","name":"Login","type":"component","status":"operational","position":0},{"id":"34513918-9a87-4b51-b933-62ad9b986e94","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-02-19T21:09:29.495271Z","modified_at":"2026-02-19T21:09:29.495271Z","name":"Application","position":0,"type":"group"},"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":"73b33de0-a4a8-4f86-bca3-5910af211fce","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -41,7 +41,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/70f5256d-c03f-45e1-8057-bc036d4793eb + uri: https://api.datadoghq.com/api/v2/statuspages/73b33de0-a4a8-4f86-bca3-5910af211fce response: body: string: '' 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 index 5bf876ce9e..5ae3370308 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:44.279Z \ No newline at end of file +2026-02-19T21:09:30.579Z \ 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 index caf6058134..03e97d2e44 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"5eb6437773268884","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"2f9b2becfee9c7e6","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"3397266a-8b0e-49c9-bc1c-0866a14eca08","name":"Application","type":"group","position":0,"components":[{"id":"bd226a05-e4f4-41bd-bb65-6c575acb55df","name":"Login","type":"component","status":"operational","position":0},{"id":"5db10808-905b-43a6-9226-97057e049486","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:44.415385Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"5eb6437773268884","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:44.415385Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45/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"}}}}}' + string: '{"data":{"id":"31d2b0c8-d4c4-4336-9286-f656f17db3e6","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"1cf3ef81-f392-4ca0-934f-5255ef3a0747","name":"Application","type":"group","position":0,"components":[{"id":"4bb4cfaf-c2b8-4dec-bba3-689caecb1f39","name":"Login","type":"component","status":"operational","position":0},{"id":"6ddadacd-6897-4851-a41c-bfe2f9f10919","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:30.917541Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"2f9b2becfee9c7e6","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:30.917541Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/31d2b0c8-d4c4-4336-9286-f656f17db3e6/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 @@ -20,7 +20,7 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"components_affected":[{"id":"bd226a05-e4f4-41bd-bb65-6c575acb55df","status":"major_outage"}],"description":"Our + body: '{"data":{"attributes":{"components_affected":[{"id":"4bb4cfaf-c2b8-4dec-bba3-689caecb1f39","status":"major_outage"}],"description":"Our API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated API Latency"},"type":"degradations"}}' headers: @@ -29,13 +29,13 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/statuspages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45/degradations + uri: https://api.datadoghq.com/api/v2/statuspages/31d2b0c8-d4c4-4336-9286-f656f17db3e6/degradations response: body: - string: '{"data":{"id":"ce318082-f158-4f69-a325-dfcc3a4e0cd4","type":"degradations","attributes":{"components_affected":[{"id":"bd226a05-e4f4-41bd-bb65-6c575acb55df","name":"Login","status":"major_outage"}],"created_at":"2026-01-21T21:23:44.970381Z","description":"Our - API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-21T21:23:44.970381Z","status":"investigating","title":"Elevated - API Latency","updates":[{"id":"07162b04-aa24-4bb9-8f4e-549ceda01252","created_at":"2026-01-21T21:23:44.970381Z","modified_at":"2026-01-21T21:23:44.970381Z","status":"investigating","description":"Our - API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"bd226a05-e4f4-41bd-bb65-6c575acb55df","name":"Login","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":"a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45","type":"status_pages"}}}}}' + string: '{"data":{"id":"1428e2ae-f8e1-42a5-a008-d0dce5470a75","type":"degradations","attributes":{"components_affected":[{"id":"4bb4cfaf-c2b8-4dec-bba3-689caecb1f39","name":"Login","status":"major_outage"}],"created_at":"2026-02-19T21:09:31.624248Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-19T21:09:31.624248Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"6493b9ae-cbbf-48d8-8343-c903be2f5bc2","created_at":"2026-02-19T21:09:31.624248Z","modified_at":"2026-02-19T21:09:31.624248Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"4bb4cfaf-c2b8-4dec-bba3-689caecb1f39","name":"Login","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":"31d2b0c8-d4c4-4336-9286-f656f17db3e6","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -48,13 +48,13 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/statuspages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45/degradations/ce318082-f158-4f69-a325-dfcc3a4e0cd4 + uri: https://api.datadoghq.com/api/v2/statuspages/31d2b0c8-d4c4-4336-9286-f656f17db3e6/degradations/1428e2ae-f8e1-42a5-a008-d0dce5470a75 response: body: - string: '{"data":{"id":"ce318082-f158-4f69-a325-dfcc3a4e0cd4","type":"degradations","attributes":{"components_affected":[{"id":"bd226a05-e4f4-41bd-bb65-6c575acb55df","name":"Login","status":"major_outage"}],"created_at":"2026-01-21T21:23:44.970381Z","description":"Our - API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-21T21:23:44.970381Z","status":"investigating","title":"Elevated - API Latency","updates":[{"id":"07162b04-aa24-4bb9-8f4e-549ceda01252","created_at":"2026-01-21T21:23:44.970381Z","modified_at":"2026-01-21T21:23:44.970381Z","status":"investigating","description":"Our - API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"bd226a05-e4f4-41bd-bb65-6c575acb55df","name":"Login","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":"a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45","type":"status_pages"}}}}}' + string: '{"data":{"id":"1428e2ae-f8e1-42a5-a008-d0dce5470a75","type":"degradations","attributes":{"components_affected":[{"id":"4bb4cfaf-c2b8-4dec-bba3-689caecb1f39","name":"Login","status":"major_outage"}],"created_at":"2026-02-19T21:09:31.624248Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-19T21:09:31.624248Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"6493b9ae-cbbf-48d8-8343-c903be2f5bc2","created_at":"2026-02-19T21:09:31.624248Z","modified_at":"2026-02-19T21:09:31.624248Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"4bb4cfaf-c2b8-4dec-bba3-689caecb1f39","name":"Login","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":"31d2b0c8-d4c4-4336-9286-f656f17db3e6","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -67,7 +67,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45/degradations/ce318082-f158-4f69-a325-dfcc3a4e0cd4 + uri: https://api.datadoghq.com/api/v2/statuspages/31d2b0c8-d4c4-4336-9286-f656f17db3e6/degradations/1428e2ae-f8e1-42a5-a008-d0dce5470a75 response: body: string: '' @@ -81,7 +81,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45 + uri: https://api.datadoghq.com/api/v2/statuspages/31d2b0c8-d4c4-4336-9286-f656f17db3e6 response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.frozen new file mode 100644 index 0000000000..a654dc1b8e --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-02-19T21:09:32.555Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.yaml new file mode 100644 index 0000000000..dc17f75317 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.yaml @@ -0,0 +1,84 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"8b002b194234f379","enabled":true,"name":"A + Status Page","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":"11437d68-2f35-4d09-be7a-ee618a110ddb","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"04f3a7c8-7f9c-42bc-99f2-f1bcc4fc22f7","name":"Application","type":"group","position":0,"components":[{"id":"11c88ebd-d05a-41c2-9d77-cbeb32d74dce","name":"Login","type":"component","status":"operational","position":0},{"id":"544744c0-3700-470f-9cc5-1b64f5fa265e","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:32.891286Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"8b002b194234f379","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:32.891286Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/11437d68-2f35-4d09-be7a-ee618a110ddb/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":{"completed_date":"2026-02-19T23:09:32.555Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"11c88ebd-d05a-41c2-9d77-cbeb32d74dce","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:32.555Z","title":"API + Maintenance"},"type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/11437d68-2f35-4d09-be7a-ee618a110ddb/maintenances + response: + body: + string: '{"data":{"id":"59df7b47-92b4-4834-88cf-b3c564420753","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:09:32.555Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"11c88ebd-d05a-41c2-9d77-cbeb32d74dce","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T21:09:33.606484Z","published_date":"2026-02-19T21:09:33.606484Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:32.555Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"341fecc7-ff4a-4284-98a3-1891f82f49d3","created_at":"2026-02-19T21:09:33.606484Z","modified_at":"2026-02-19T21:09:33.606484Z","started_at":"2026-02-19T21:09:33.606484Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"11c88ebd-d05a-41c2-9d77-cbeb32d74dce","name":"Login","status":"operational"}]}]},"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":"11437d68-2f35-4d09-be7a-ee618a110ddb","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/11437d68-2f35-4d09-be7a-ee618a110ddb/maintenances/59df7b47-92b4-4834-88cf-b3c564420753 + response: + body: + string: '{"data":{"id":"59df7b47-92b4-4834-88cf-b3c564420753","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:09:32.555Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"11c88ebd-d05a-41c2-9d77-cbeb32d74dce","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T21:09:33.606484Z","published_date":"2026-02-19T21:09:33.606484Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:32.555Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"341fecc7-ff4a-4284-98a3-1891f82f49d3","created_at":"2026-02-19T21:09:33.606484Z","modified_at":"2026-02-19T21:09:33.606484Z","started_at":"2026-02-19T21:09:33.606484Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"11c88ebd-d05a-41c2-9d77-cbeb32d74dce","name":"Login","status":"operational"}]}]},"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":"11437d68-2f35-4d09-be7a-ee618a110ddb","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/11437d68-2f35-4d09-be7a-ee618a110ddb + 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 index 712b01c472..070935fa57 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:45.761Z \ No newline at end of file +2026-02-19T21:09:34.270Z \ 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 index 5d5485eb57..5b39ad1db5 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"385491266043d794","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"49a23d4af2a80106","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"24205612-f1dc-444f-aec6-7010c3097cb5","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"70916c47-93e6-4e73-b97c-0e13b5450faf","name":"Application","type":"group","position":0,"components":[{"id":"dcb07405-f8ea-4518-9c37-9ccb6c3c247b","name":"Login","type":"component","status":"operational","position":0},{"id":"2287c0bf-d342-4a65-998d-22bb80c63c27","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:45.863862Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"385491266043d794","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:45.863862Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/24205612-f1dc-444f-aec6-7010c3097cb5/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"}}}}}' + string: '{"data":{"id":"51dd94af-6ed5-4c50-aa43-1e120bd06e09","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"0f4d2310-ba73-4a02-8c00-b1f1383961bb","name":"Application","type":"group","position":0,"components":[{"id":"156bb32c-3472-4c72-8778-cf0409ff41a4","name":"Login","type":"component","status":"operational","position":0},{"id":"f1e71af8-5eaa-4424-b0de-49a4db2e48c5","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:34.619287Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"49a23d4af2a80106","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:34.619287Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/51dd94af-6ed5-4c50-aa43-1e120bd06e09/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 @@ -25,11 +25,11 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/statuspages/24205612-f1dc-444f-aec6-7010c3097cb5 + uri: https://api.datadoghq.com/api/v2/statuspages/51dd94af-6ed5-4c50-aa43-1e120bd06e09 response: body: - string: '{"data":{"id":"24205612-f1dc-444f-aec6-7010c3097cb5","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"70916c47-93e6-4e73-b97c-0e13b5450faf","name":"Application","type":"group","position":0,"components":[{"id":"dcb07405-f8ea-4518-9c37-9ccb6c3c247b","name":"Login","type":"component","status":"operational","position":0},{"id":"2287c0bf-d342-4a65-998d-22bb80c63c27","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:45.863862Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"385491266043d794","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:45.863862Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/24205612-f1dc-444f-aec6-7010c3097cb5/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"}}}}}' + string: '{"data":{"id":"51dd94af-6ed5-4c50-aa43-1e120bd06e09","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"0f4d2310-ba73-4a02-8c00-b1f1383961bb","name":"Application","type":"group","position":0,"components":[{"id":"156bb32c-3472-4c72-8778-cf0409ff41a4","name":"Login","type":"component","status":"operational","position":0},{"id":"f1e71af8-5eaa-4424-b0de-49a4db2e48c5","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:34.619287Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"49a23d4af2a80106","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:34.619287Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/51dd94af-6ed5-4c50-aa43-1e120bd06e09/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 @@ -42,7 +42,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/24205612-f1dc-444f-aec6-7010c3097cb5 + uri: https://api.datadoghq.com/api/v2/statuspages/51dd94af-6ed5-4c50-aa43-1e120bd06e09 response: body: string: '' 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 index d9b768691c..d836dc5711 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:46.975Z \ No newline at end of file +2026-02-19T21:09:35.646Z \ 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 index b1a7699547..93fdf2c34f 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"f577abf9d8b6cac4","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"12cc1e5eee0a6b84","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"02b22755-8a22-449f-817b-c4f649f37ebd","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"bac73feb-3b3a-4f9b-81ad-b5532acfc96b","name":"Application","type":"group","position":0,"components":[{"id":"d993969d-ca6c-4b74-aed6-7a0f93016e7f","name":"Login","type":"component","status":"operational","position":0},{"id":"457c3e35-56a5-472f-a284-4e2222c77631","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:47.079687Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f577abf9d8b6cac4","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:47.079687Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/02b22755-8a22-449f-817b-c4f649f37ebd/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"}}}}}' + string: '{"data":{"id":"3b9255b3-79fe-44fb-b103-0300e1bcf3fc","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"1a88b96c-e2cf-4f64-8b2b-a8f183d1f96f","name":"Application","type":"group","position":0,"components":[{"id":"e4e7716e-b2e1-4d7c-af73-814a05548c67","name":"Login","type":"component","status":"operational","position":0},{"id":"954513aa-9365-4c93-8d43-c5dd372ea228","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:35.994517Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"12cc1e5eee0a6b84","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:35.994517Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/3b9255b3-79fe-44fb-b103-0300e1bcf3fc/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 @@ -25,10 +25,10 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/statuspages/02b22755-8a22-449f-817b-c4f649f37ebd/components + uri: https://api.datadoghq.com/api/v2/statuspages/3b9255b3-79fe-44fb-b103-0300e1bcf3fc/components response: body: - string: '{"data":[{"id":"bac73feb-3b3a-4f9b-81ad-b5532acfc96b","type":"components","attributes":{"components":[{"id":"d993969d-ca6c-4b74-aed6-7a0f93016e7f","name":"Login","type":"component","status":"operational","position":0},{"id":"457c3e35-56a5-472f-a284-4e2222c77631","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-01-21T21:23:47.079687Z","modified_at":"2026-01-21T21:23:47.079687Z","name":"Application","position":0,"type":"group"},"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":"02b22755-8a22-449f-817b-c4f649f37ebd","type":"status_pages"}}}}]}' + string: '{"data":[{"id":"1a88b96c-e2cf-4f64-8b2b-a8f183d1f96f","type":"components","attributes":{"components":[{"id":"e4e7716e-b2e1-4d7c-af73-814a05548c67","name":"Login","type":"component","status":"operational","position":0},{"id":"954513aa-9365-4c93-8d43-c5dd372ea228","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-02-19T21:09:35.994517Z","modified_at":"2026-02-19T21:09:35.994517Z","name":"Application","position":0,"type":"group"},"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":"3b9255b3-79fe-44fb-b103-0300e1bcf3fc","type":"status_pages"}}}}]}' headers: content-type: - application/vnd.api+json @@ -41,7 +41,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/02b22755-8a22-449f-817b-c4f649f37ebd + uri: https://api.datadoghq.com/api/v2/statuspages/3b9255b3-79fe-44fb-b103-0300e1bcf3fc response: body: string: '' 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 index 5ef43ee5a2..5d716f85dd 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:48.128Z \ No newline at end of file +2026-02-19T21:09:37.072Z \ 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 index 8db2ae1c20..84df41244a 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"9e7f8b0822635170","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"9df661c90212c9a4","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"fcf5cb92-aa21-43c1-b2c3-54ff692fef7b","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"0b52346d-8cd1-407b-a085-44f7f3c47ba4","name":"Application","type":"group","position":0,"components":[{"id":"b257b99d-355b-4b2c-82c0-335694c1e940","name":"Login","type":"component","status":"operational","position":0},{"id":"27415b2b-1759-49a9-a298-34fec18177c1","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:48.239521Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"9e7f8b0822635170","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:48.239521Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/fcf5cb92-aa21-43c1-b2c3-54ff692fef7b/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"}}}}}' + string: '{"data":{"id":"f9c156a1-d377-48bd-a8dd-dad962473707","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"c3eac08c-9ff3-4392-9bd3-0cc9d1515be3","name":"Application","type":"group","position":0,"components":[{"id":"b9d994fb-bc32-456d-a260-f69c840f88cb","name":"Login","type":"component","status":"operational","position":0},{"id":"e3dfb3ae-4272-41e3-ba7a-6c268197ff1c","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:37.422871Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"9df661c90212c9a4","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:37.422871Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/f9c156a1-d377-48bd-a8dd-dad962473707/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 @@ -20,7 +20,7 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"components_affected":[{"id":"b257b99d-355b-4b2c-82c0-335694c1e940","status":"major_outage"}],"description":"Our + body: '{"data":{"attributes":{"components_affected":[{"id":"b9d994fb-bc32-456d-a260-f69c840f88cb","status":"major_outage"}],"description":"Our API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated API Latency"},"type":"degradations"}}' headers: @@ -29,13 +29,13 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/statuspages/fcf5cb92-aa21-43c1-b2c3-54ff692fef7b/degradations + uri: https://api.datadoghq.com/api/v2/statuspages/f9c156a1-d377-48bd-a8dd-dad962473707/degradations response: body: - string: '{"data":{"id":"2339dce7-c32c-42f4-88c6-ce3ff16f0cbd","type":"degradations","attributes":{"components_affected":[{"id":"b257b99d-355b-4b2c-82c0-335694c1e940","name":"Login","status":"major_outage"}],"created_at":"2026-01-21T21:23:48.836304Z","description":"Our - API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-21T21:23:48.836304Z","status":"investigating","title":"Elevated - API Latency","updates":[{"id":"7959ea84-30c5-4c55-a12a-8272fab2b1cd","created_at":"2026-01-21T21:23:48.836304Z","modified_at":"2026-01-21T21:23:48.836304Z","status":"investigating","description":"Our - API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"b257b99d-355b-4b2c-82c0-335694c1e940","name":"Login","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":"fcf5cb92-aa21-43c1-b2c3-54ff692fef7b","type":"status_pages"}}}}}' + string: '{"data":{"id":"1513792c-27da-420c-b1c7-1d5e45955b1a","type":"degradations","attributes":{"components_affected":[{"id":"b9d994fb-bc32-456d-a260-f69c840f88cb","name":"Login","status":"major_outage"}],"created_at":"2026-02-19T21:09:38.061564Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-19T21:09:38.061564Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"c3e63293-e48c-423e-884b-dc25ade70938","created_at":"2026-02-19T21:09:38.061564Z","modified_at":"2026-02-19T21:09:38.061564Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"b9d994fb-bc32-456d-a260-f69c840f88cb","name":"Login","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":"f9c156a1-d377-48bd-a8dd-dad962473707","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -51,10 +51,10 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages/degradations response: body: - string: '{"data":[{"id":"2339dce7-c32c-42f4-88c6-ce3ff16f0cbd","type":"degradations","attributes":{"components_affected":[{"id":"b257b99d-355b-4b2c-82c0-335694c1e940","name":"Login","status":"major_outage"}],"created_at":"2026-01-21T21:23:48.836304Z","description":"Our - API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-21T21:23:48.836304Z","status":"investigating","title":"Elevated - API Latency","updates":[{"id":"7959ea84-30c5-4c55-a12a-8272fab2b1cd","created_at":"2026-01-21T21:23:48.836304Z","modified_at":"2026-01-21T21:23:48.836304Z","status":"investigating","description":"Our - API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"b257b99d-355b-4b2c-82c0-335694c1e940","name":"Login","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":"fcf5cb92-aa21-43c1-b2c3-54ff692fef7b","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}}}' + string: '{"data":[{"id":"1513792c-27da-420c-b1c7-1d5e45955b1a","type":"degradations","attributes":{"components_affected":[{"id":"b9d994fb-bc32-456d-a260-f69c840f88cb","name":"Login","status":"major_outage"}],"created_at":"2026-02-19T21:09:38.061564Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-19T21:09:38.061564Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"c3e63293-e48c-423e-884b-dc25ade70938","created_at":"2026-02-19T21:09:38.061564Z","modified_at":"2026-02-19T21:09:38.061564Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"b9d994fb-bc32-456d-a260-f69c840f88cb","name":"Login","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":"f9c156a1-d377-48bd-a8dd-dad962473707","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 @@ -67,7 +67,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/fcf5cb92-aa21-43c1-b2c3-54ff692fef7b/degradations/2339dce7-c32c-42f4-88c6-ce3ff16f0cbd + uri: https://api.datadoghq.com/api/v2/statuspages/f9c156a1-d377-48bd-a8dd-dad962473707/degradations/1513792c-27da-420c-b1c7-1d5e45955b1a response: body: string: '' @@ -81,7 +81,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/fcf5cb92-aa21-43c1-b2c3-54ff692fef7b + uri: https://api.datadoghq.com/api/v2/statuspages/f9c156a1-d377-48bd-a8dd-dad962473707 response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.frozen new file mode 100644 index 0000000000..c507021839 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-02-19T21:09:38.938Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.yaml new file mode 100644 index 0000000000..c7b96a09c8 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.yaml @@ -0,0 +1,243 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"1516d45af06cc9ed","enabled":true,"name":"A + Status Page","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":"bd404bad-494f-4409-94b3-92f1f788d2e4","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"26345afc-b408-4d08-9fa5-f3bfeae57c30","name":"Application","type":"group","position":0,"components":[{"id":"47bbcea0-722d-44e1-87b7-fa2fd40103a7","name":"Login","type":"component","status":"operational","position":0},{"id":"86f06ef0-c7fa-4563-98b0-581732723a3f","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:39.270745Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"1516d45af06cc9ed","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:39.270745Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/bd404bad-494f-4409-94b3-92f1f788d2e4/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":{"completed_date":"2026-02-19T23:09:38.938Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"47bbcea0-722d-44e1-87b7-fa2fd40103a7","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:38.938Z","title":"API + Maintenance"},"type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/bd404bad-494f-4409-94b3-92f1f788d2e4/maintenances + response: + body: + string: '{"data":{"id":"e5351abf-7257-4549-8cad-796d3f440325","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:09:38.938Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"47bbcea0-722d-44e1-87b7-fa2fd40103a7","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T21:09:39.909684Z","published_date":"2026-02-19T21:09:39.909684Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:38.938Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"ccded96a-4604-4431-bdd4-392929ee5d02","created_at":"2026-02-19T21:09:39.909684Z","modified_at":"2026-02-19T21:09:39.909684Z","started_at":"2026-02-19T21:09:39.909684Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"47bbcea0-722d-44e1-87b7-fa2fd40103a7","name":"Login","status":"operational"}]}]},"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":"bd404bad-494f-4409-94b3-92f1f788d2e4","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/maintenances + response: + body: + string: '{"data":[{"id":"f286de7d-136f-4fdc-8e86-4d0777e3e21f","type":"maintenances","attributes":{"completed_date":"2026-02-19T17:13:22.043Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"77170b9e-5e63-4ddb-9a0b-93e271e530ba","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T17:13:41.502717Z","published_date":"2026-02-19T15:13:22.885588Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T16:13:22.043Z","status":"completed","title":"API + Maintenance","updates":[{"id":"e53d8a4a-264d-4f85-a2f2-79db7de6a846","created_at":"2026-02-19T17:13:41.502717Z","modified_at":"2026-02-19T17:13:41.502717Z","started_at":"2026-02-19T17:13:41.502717Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"77170b9e-5e63-4ddb-9a0b-93e271e530ba","name":"Login","status":"operational"}]},{"id":"1ae93adf-0bc9-48fb-8530-66ed6233f0e7","created_at":"2026-02-19T16:13:29.432699Z","modified_at":"2026-02-19T16:13:29.432699Z","started_at":"2026-02-19T16:13:29.432699Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"77170b9e-5e63-4ddb-9a0b-93e271e530ba","name":"Login","status":"maintenance"}]},{"id":"7f1460f1-38cf-47a5-ab00-d3bf7492cfb4","created_at":"2026-02-19T15:13:22.885588Z","modified_at":"2026-02-19T15:13:22.885588Z","started_at":"2026-02-19T15:13:22.885588Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"77170b9e-5e63-4ddb-9a0b-93e271e530ba","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"6054e25a-60fa-4c88-a02a-760bae1a7917","type":"status_pages"}}}},{"id":"17874db7-0144-476b-8313-1a126fe7640b","type":"maintenances","attributes":{"completed_date":"2026-02-19T17:13:23.668Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"8e3cd5cc-1ce3-435c-863d-2f139a10fd18","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T17:13:40.505678Z","published_date":"2026-02-19T15:13:24.508112Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T16:13:23.668Z","status":"completed","title":"API + Maintenance","updates":[{"id":"b6e8df0c-5cc3-4b55-b0f9-fa000ce0ed59","created_at":"2026-02-19T17:13:40.505678Z","modified_at":"2026-02-19T17:13:40.505678Z","started_at":"2026-02-19T17:13:40.505678Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"8e3cd5cc-1ce3-435c-863d-2f139a10fd18","name":"Login","status":"operational"}]},{"id":"4cd584cf-4c51-4f0d-9c0c-3b99e089e5ca","created_at":"2026-02-19T16:13:31.834568Z","modified_at":"2026-02-19T16:13:31.834568Z","started_at":"2026-02-19T16:13:31.834568Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"8e3cd5cc-1ce3-435c-863d-2f139a10fd18","name":"Login","status":"maintenance"}]},{"id":"2f6081e9-61fd-4320-8bc7-c183f480abd0","created_at":"2026-02-19T15:13:24.508112Z","modified_at":"2026-02-19T15:13:24.508112Z","started_at":"2026-02-19T15:13:24.508112Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"8e3cd5cc-1ce3-435c-863d-2f139a10fd18","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"6f3e2bef-846a-4c05-9d6d-35d9d136c31a","type":"status_pages"}}}},{"id":"8e70e109-ca9d-4d82-b2e5-4ca9c363daa5","type":"maintenances","attributes":{"completed_date":"2026-02-19T17:13:24.776Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"7d4bd295-b987-49b0-8086-9dddbcfade33","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","modified_at":"2026-02-19T17:13:41.406073Z","published_date":"2026-02-19T15:13:25.641763Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T16:13:24.776Z","status":"completed","title":"API + Maintenance","updates":[{"id":"78579cc3-4935-43d7-9d4f-7889655bb414","created_at":"2026-02-19T17:13:41.406073Z","modified_at":"2026-02-19T17:13:41.406073Z","started_at":"2026-02-19T17:13:41.406073Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"7d4bd295-b987-49b0-8086-9dddbcfade33","name":"Login","status":"operational"}]},{"id":"04f5122c-2c8e-4605-878c-bdd401d1a6a4","created_at":"2026-02-19T16:13:29.281104Z","modified_at":"2026-02-19T16:13:29.281104Z","started_at":"2026-02-19T16:13:29.281104Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"7d4bd295-b987-49b0-8086-9dddbcfade33","name":"Login","status":"maintenance"}]},{"id":"5943a568-c880-4b32-ab7b-1701adf218cf","created_at":"2026-02-19T15:13:25.641763Z","modified_at":"2026-02-19T15:13:25.641763Z","started_at":"2026-02-19T15:13:25.641763Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"7d4bd295-b987-49b0-8086-9dddbcfade33","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"fbcbdef4-4e3a-436a-bb0a-be8205a98b36","type":"status_pages"}}}},{"id":"6f08d7a7-d37d-4c75-807b-234e71d6d40b","type":"maintenances","attributes":{"completed_date":"2026-02-19T17:48:44.696Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"2bf35e8e-28c9-49c3-948a-854097030f2c","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T17:48:51.504226Z","published_date":"2026-02-19T15:48:45.758873Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T16:48:44.696Z","status":"completed","title":"API + Maintenance","updates":[{"id":"13300fac-e192-4604-b987-2759f980238a","created_at":"2026-02-19T17:48:51.504226Z","modified_at":"2026-02-19T17:48:51.504226Z","started_at":"2026-02-19T17:48:51.504226Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"2bf35e8e-28c9-49c3-948a-854097030f2c","name":"Login","status":"operational"}]},{"id":"82980649-7416-405a-a882-bafd1fdd5d4c","created_at":"2026-02-19T16:48:52.562843Z","modified_at":"2026-02-19T16:48:52.562843Z","started_at":"2026-02-19T16:48:52.562843Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"2bf35e8e-28c9-49c3-948a-854097030f2c","name":"Login","status":"maintenance"}]},{"id":"a9fca162-a79b-4a3e-b67a-571fdca4b0d6","created_at":"2026-02-19T15:48:45.758873Z","modified_at":"2026-02-19T15:48:45.758873Z","started_at":"2026-02-19T15:48:45.758873Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"2bf35e8e-28c9-49c3-948a-854097030f2c","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"b57576ee-457d-43da-9b17-f7e9087ab4a4","type":"status_pages"}}}},{"id":"c6150974-eab5-4ca9-93a5-78b615b22801","type":"maintenances","attributes":{"completed_date":"2026-02-19T17:48:46.187Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"6407bf01-0c11-4509-8ae6-24c77cf205da","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T17:48:50.958358Z","published_date":"2026-02-19T15:48:47.266145Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T16:48:46.187Z","status":"completed","title":"API + Maintenance","updates":[{"id":"fd8aaab4-2f77-4e5d-9f0f-5255e40b33a0","created_at":"2026-02-19T17:48:50.958358Z","modified_at":"2026-02-19T17:48:50.958358Z","started_at":"2026-02-19T17:48:50.958358Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"6407bf01-0c11-4509-8ae6-24c77cf205da","name":"Login","status":"operational"}]},{"id":"66ea1633-4c51-4e7a-9eb2-d85d810e4ae9","created_at":"2026-02-19T16:48:52.244498Z","modified_at":"2026-02-19T16:48:52.244498Z","started_at":"2026-02-19T16:48:52.244498Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"6407bf01-0c11-4509-8ae6-24c77cf205da","name":"Login","status":"maintenance"}]},{"id":"19f9e7b6-ba0f-4567-8984-ac145414f81d","created_at":"2026-02-19T15:48:47.266145Z","modified_at":"2026-02-19T15:48:47.266145Z","started_at":"2026-02-19T15:48:47.266145Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"6407bf01-0c11-4509-8ae6-24c77cf205da","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"a8e6fdb1-05c8-416c-a150-9af49c513206","type":"status_pages"}}}},{"id":"a0ba86bb-b5da-4fb7-9f14-d69d0dcba6d6","type":"maintenances","attributes":{"completed_date":"2026-02-19T17:48:47.701Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"5cc44628-14ac-4563-a052-5b1f9a3fa3e4","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","modified_at":"2026-02-19T17:48:52.64131Z","published_date":"2026-02-19T15:48:48.889128Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T16:48:47.701Z","status":"completed","title":"API + Maintenance","updates":[{"id":"aa6a3313-db4e-4236-8d20-621907bd69fd","created_at":"2026-02-19T17:48:52.64131Z","modified_at":"2026-02-19T17:48:52.64131Z","started_at":"2026-02-19T17:48:52.64131Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"5cc44628-14ac-4563-a052-5b1f9a3fa3e4","name":"Login","status":"operational"}]},{"id":"c4e8af34-28d8-4471-a7af-93f625314e61","created_at":"2026-02-19T16:48:52.612772Z","modified_at":"2026-02-19T16:48:52.612772Z","started_at":"2026-02-19T16:48:52.612772Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"5cc44628-14ac-4563-a052-5b1f9a3fa3e4","name":"Login","status":"maintenance"}]},{"id":"77718021-f74f-4170-b26b-22e2e54f37c5","created_at":"2026-02-19T15:48:48.889128Z","modified_at":"2026-02-19T15:48:48.889128Z","started_at":"2026-02-19T15:48:48.889128Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"5cc44628-14ac-4563-a052-5b1f9a3fa3e4","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"cfbf3ff5-f7e6-4d6c-8175-cbff110ebfc9","type":"status_pages"}}}},{"id":"9b6a31cf-ef44-4185-8cd4-9355ba5a44c9","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:05:01.67Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"0da9e91e-519e-4d1b-a530-95dbf9b1d6a3","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T18:05:06.005306Z","published_date":"2026-02-19T16:05:02.831343Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T17:05:01.67Z","status":"completed","title":"API + Maintenance","updates":[{"id":"afad908a-1dac-409c-a8fd-ffa57399361a","created_at":"2026-02-19T18:05:06.005306Z","modified_at":"2026-02-19T18:05:06.005306Z","started_at":"2026-02-19T18:05:06.005306Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"0da9e91e-519e-4d1b-a530-95dbf9b1d6a3","name":"Login","status":"operational"}]},{"id":"31265ba4-b0b7-4e34-8364-068ad60af91d","created_at":"2026-02-19T17:05:11.035132Z","modified_at":"2026-02-19T17:05:11.035132Z","started_at":"2026-02-19T17:05:11.035132Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"0da9e91e-519e-4d1b-a530-95dbf9b1d6a3","name":"Login","status":"maintenance"}]},{"id":"9a5a0962-7ca7-4d2c-9717-8c7df395d512","created_at":"2026-02-19T16:05:02.831343Z","modified_at":"2026-02-19T16:05:02.831343Z","started_at":"2026-02-19T16:05:02.831343Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"0da9e91e-519e-4d1b-a530-95dbf9b1d6a3","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"c3af2a4f-dd6e-4777-8899-7be70c0e629c","type":"status_pages"}}}},{"id":"d94642f5-fe45-46b8-a61d-f48dee50fc8b","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:05:03.183Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"2ec5ce94-7c6b-4883-b963-774cde63af0e","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T18:05:09.356968Z","published_date":"2026-02-19T16:05:04.238719Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T17:05:03.183Z","status":"completed","title":"API + Maintenance","updates":[{"id":"52b79331-678b-47e7-ba86-26d0c3b22b70","created_at":"2026-02-19T18:05:09.356968Z","modified_at":"2026-02-19T18:05:09.356968Z","started_at":"2026-02-19T18:05:09.356968Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"2ec5ce94-7c6b-4883-b963-774cde63af0e","name":"Login","status":"operational"}]},{"id":"2a7e245f-1f32-4708-8f36-ccfd5c545719","created_at":"2026-02-19T17:05:11.018617Z","modified_at":"2026-02-19T17:05:11.018617Z","started_at":"2026-02-19T17:05:11.018617Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"2ec5ce94-7c6b-4883-b963-774cde63af0e","name":"Login","status":"maintenance"}]},{"id":"d55f8f1d-09d8-4f08-9d04-24f7d719841e","created_at":"2026-02-19T16:05:04.238719Z","modified_at":"2026-02-19T16:05:04.238719Z","started_at":"2026-02-19T16:05:04.238719Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"2ec5ce94-7c6b-4883-b963-774cde63af0e","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"e4a07280-5e60-41e8-8868-d6b391ac9ba4","type":"status_pages"}}}},{"id":"e47a4a10-abac-4196-a38f-95a05e4d3a73","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:05:04.644Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"c354419b-c97e-49c6-b556-a2bd73c2945b","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","modified_at":"2026-02-19T18:05:16.800514Z","published_date":"2026-02-19T16:05:05.525216Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T17:05:04.644Z","status":"completed","title":"API + Maintenance","updates":[{"id":"31f2ab95-151a-45ca-833c-82d9a9b1335b","created_at":"2026-02-19T18:05:16.800514Z","modified_at":"2026-02-19T18:05:16.800514Z","started_at":"2026-02-19T18:05:16.800514Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"c354419b-c97e-49c6-b556-a2bd73c2945b","name":"Login","status":"operational"}]},{"id":"2b337ccf-3b7d-4360-9d64-a96471191650","created_at":"2026-02-19T17:05:11.670406Z","modified_at":"2026-02-19T17:05:11.670406Z","started_at":"2026-02-19T17:05:11.670406Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"c354419b-c97e-49c6-b556-a2bd73c2945b","name":"Login","status":"maintenance"}]},{"id":"7c4544d5-5c50-4833-89cf-8dda15768115","created_at":"2026-02-19T16:05:05.525216Z","modified_at":"2026-02-19T16:05:05.525216Z","started_at":"2026-02-19T16:05:05.525216Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"c354419b-c97e-49c6-b556-a2bd73c2945b","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"9554c1f6-837d-4ce9-8682-90cc44689d6e","type":"status_pages"}}}},{"id":"798fb3e3-453e-44e2-bc6f-fd29f5d4b5da","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:26:36.738Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"2a064c38-b34c-4afd-8958-567b4fb94891","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T18:26:39.660886Z","published_date":"2026-02-19T16:26:37.551277Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T17:26:36.738Z","status":"completed","title":"API + Maintenance","updates":[{"id":"a7a4a4e7-3a7a-4324-8d8d-869bc9c87085","created_at":"2026-02-19T18:26:39.660886Z","modified_at":"2026-02-19T18:26:39.660886Z","started_at":"2026-02-19T18:26:39.660886Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"2a064c38-b34c-4afd-8958-567b4fb94891","name":"Login","status":"operational"}]},{"id":"fc42e821-999c-4bcd-a7fe-c41a8f53a4f3","created_at":"2026-02-19T17:26:41.211615Z","modified_at":"2026-02-19T17:26:41.211615Z","started_at":"2026-02-19T17:26:41.211615Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"2a064c38-b34c-4afd-8958-567b4fb94891","name":"Login","status":"maintenance"}]},{"id":"5c982a14-c686-4abf-9cd0-1560f489efe4","created_at":"2026-02-19T16:26:37.551277Z","modified_at":"2026-02-19T16:26:37.551277Z","started_at":"2026-02-19T16:26:37.551277Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"2a064c38-b34c-4afd-8958-567b4fb94891","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"ef7f6596-79dd-4f10-9e02-96047289e678","type":"status_pages"}}}},{"id":"b0bc5c8b-4b21-49d6-8a63-fc58846cd85f","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:26:41.901Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"eb5ff7d4-3faa-4216-9141-b616ecfa29a7","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T18:26:50.363316Z","published_date":"2026-02-19T16:26:42.616591Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T17:26:41.901Z","status":"completed","title":"API + Maintenance","updates":[{"id":"d0a52474-99f4-45f4-ac23-fd97755e1825","created_at":"2026-02-19T18:26:50.363316Z","modified_at":"2026-02-19T18:26:50.363316Z","started_at":"2026-02-19T18:26:50.363316Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"eb5ff7d4-3faa-4216-9141-b616ecfa29a7","name":"Login","status":"operational"}]},{"id":"a722ee55-83b1-4366-bbe7-d6228c67d6db","created_at":"2026-02-19T17:26:50.619047Z","modified_at":"2026-02-19T17:26:50.619047Z","started_at":"2026-02-19T17:26:50.619047Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"eb5ff7d4-3faa-4216-9141-b616ecfa29a7","name":"Login","status":"maintenance"}]},{"id":"b2a2964f-28ec-40db-9cdc-507c4343232d","created_at":"2026-02-19T16:26:42.616591Z","modified_at":"2026-02-19T16:26:42.616591Z","started_at":"2026-02-19T16:26:42.616591Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"eb5ff7d4-3faa-4216-9141-b616ecfa29a7","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"d3167fc5-957d-4ec6-a55d-d75a5eb1926a","type":"status_pages"}}}},{"id":"080453e2-155d-4807-aec4-b50cb4edccc7","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:26:47.556Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"222ce53c-1646-45bc-a5d4-27e0a4eb0313","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","modified_at":"2026-02-19T18:26:50.306926Z","published_date":"2026-02-19T16:26:48.303105Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T17:26:47.556Z","status":"completed","title":"API + Maintenance","updates":[{"id":"e1f2c1a8-2797-4eb8-9e90-ad0aae8315f7","created_at":"2026-02-19T18:26:50.306926Z","modified_at":"2026-02-19T18:26:50.306926Z","started_at":"2026-02-19T18:26:50.306926Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"222ce53c-1646-45bc-a5d4-27e0a4eb0313","name":"Login","status":"operational"}]},{"id":"3a591848-156c-4043-9c23-7c23d7882b20","created_at":"2026-02-19T17:26:54.951261Z","modified_at":"2026-02-19T17:26:54.951261Z","started_at":"2026-02-19T17:26:54.951261Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"222ce53c-1646-45bc-a5d4-27e0a4eb0313","name":"Login","status":"maintenance"}]},{"id":"39aec418-b668-489d-92ab-519149092c7d","created_at":"2026-02-19T16:26:48.303105Z","modified_at":"2026-02-19T16:26:48.303105Z","started_at":"2026-02-19T16:26:48.303105Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"222ce53c-1646-45bc-a5d4-27e0a4eb0313","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"7e1c914a-7b5d-4928-9603-2c231f4e27b5","type":"status_pages"}}}},{"id":"6c7a18e8-ec4a-44a0-b769-a300bfd4647f","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:41:05.953Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"e19596ba-245c-49dc-9274-5aa1b7e865f5","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T18:41:10.642682Z","published_date":"2026-02-19T16:41:06.978106Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T17:41:05.953Z","status":"completed","title":"API + Maintenance","updates":[{"id":"9dea7ab6-3b6d-40f5-bf02-b2509e5d7ef6","created_at":"2026-02-19T18:41:10.642682Z","modified_at":"2026-02-19T18:41:10.642682Z","started_at":"2026-02-19T18:41:10.642682Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"e19596ba-245c-49dc-9274-5aa1b7e865f5","name":"Login","status":"operational"}]},{"id":"3cedcd9f-f4d2-41f3-acaf-74eaedb0c840","created_at":"2026-02-19T17:41:18.858442Z","modified_at":"2026-02-19T17:41:18.858442Z","started_at":"2026-02-19T17:41:18.858442Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"e19596ba-245c-49dc-9274-5aa1b7e865f5","name":"Login","status":"maintenance"}]},{"id":"5bcb7196-17d4-440d-92cb-b6fc3e89ca92","created_at":"2026-02-19T16:41:06.978106Z","modified_at":"2026-02-19T16:41:06.978106Z","started_at":"2026-02-19T16:41:06.978106Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"e19596ba-245c-49dc-9274-5aa1b7e865f5","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"a8e3fb88-56ee-4f01-8909-734f9a066177","type":"status_pages"}}}},{"id":"563de34b-6e0e-4304-a00a-d080c7a3add6","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:41:11.445Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"862e2d94-1286-423c-86ec-541f5f5aa5e6","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T18:41:21.384964Z","published_date":"2026-02-19T16:41:12.248062Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T17:41:11.445Z","status":"completed","title":"API + Maintenance","updates":[{"id":"49b97e00-3bb0-4796-a6a9-15838fe59797","created_at":"2026-02-19T18:41:21.384964Z","modified_at":"2026-02-19T18:41:21.384964Z","started_at":"2026-02-19T18:41:21.384964Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"862e2d94-1286-423c-86ec-541f5f5aa5e6","name":"Login","status":"operational"}]},{"id":"336fe68b-506d-41b9-8a6e-ce0c5e9c50f6","created_at":"2026-02-19T17:41:20.982233Z","modified_at":"2026-02-19T17:41:20.982233Z","started_at":"2026-02-19T17:41:20.982233Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"862e2d94-1286-423c-86ec-541f5f5aa5e6","name":"Login","status":"maintenance"}]},{"id":"f1eae39b-e846-45c9-a9cd-b0ee05b7abe1","created_at":"2026-02-19T16:41:12.248062Z","modified_at":"2026-02-19T16:41:12.248062Z","started_at":"2026-02-19T16:41:12.248062Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"862e2d94-1286-423c-86ec-541f5f5aa5e6","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"7c3eff68-42fb-4ddb-8761-3e7695d79570","type":"status_pages"}}}},{"id":"3f7e4061-f99e-48e1-ac4d-02f175e556a5","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:41:17.115Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"03b85dec-3f1c-4bc1-b6a6-c3070e94aaa7","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","modified_at":"2026-02-19T18:41:21.354571Z","published_date":"2026-02-19T16:41:17.821981Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T17:41:17.115Z","status":"completed","title":"API + Maintenance","updates":[{"id":"e887c9c6-9d32-41ad-915b-f59457d46200","created_at":"2026-02-19T18:41:21.354571Z","modified_at":"2026-02-19T18:41:21.354571Z","started_at":"2026-02-19T18:41:21.354571Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"03b85dec-3f1c-4bc1-b6a6-c3070e94aaa7","name":"Login","status":"operational"}]},{"id":"b7b92c17-d92a-4d1f-8c80-33808033ac42","created_at":"2026-02-19T17:41:23.212672Z","modified_at":"2026-02-19T17:41:23.212672Z","started_at":"2026-02-19T17:41:23.212672Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"03b85dec-3f1c-4bc1-b6a6-c3070e94aaa7","name":"Login","status":"maintenance"}]},{"id":"ad754c3b-05d8-4618-9d56-c03ec63c3c16","created_at":"2026-02-19T16:41:17.821981Z","modified_at":"2026-02-19T16:41:17.821981Z","started_at":"2026-02-19T16:41:17.821981Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"03b85dec-3f1c-4bc1-b6a6-c3070e94aaa7","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"4561e0f5-5a64-4bc9-b16c-654d3d81325a","type":"status_pages"}}}},{"id":"7b2e52dd-cbca-4ba4-a73b-30b8e5df6094","type":"maintenances","attributes":{"completed_date":"2027-02-19T17:13:22.043Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"c4d3a1be-8d3d-4b09-9521-b03d5c1e6fdd","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T16:43:58.312902Z","published_date":"2026-02-19T16:43:58.312902Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2027-02-19T16:13:22.043Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"d727f2e1-86de-4780-9a83-32e9615f24ab","created_at":"2026-02-19T16:43:58.312902Z","modified_at":"2026-02-19T16:43:58.312902Z","started_at":"2026-02-19T16:43:58.312902Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"c4d3a1be-8d3d-4b09-9521-b03d5c1e6fdd","name":"Login","status":"operational"}]}]},"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":"0e37a7c0-9b0c-4c4e-b315-6b5e145390af","type":"status_pages"}}}},{"id":"0cc3280d-2127-4429-9777-18ff1d0025f7","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:44:06.253Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"579f0d5c-cce7-4666-98f3-40a696be8cc7","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T18:44:14.043097Z","published_date":"2026-02-19T16:44:06.928335Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T17:44:06.253Z","status":"completed","title":"API + Maintenance","updates":[{"id":"f8fd0b5a-851d-4909-9f0a-552687659550","created_at":"2026-02-19T18:44:14.043097Z","modified_at":"2026-02-19T18:44:14.043097Z","started_at":"2026-02-19T18:44:14.043097Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"579f0d5c-cce7-4666-98f3-40a696be8cc7","name":"Login","status":"operational"}]},{"id":"05abf843-058a-44b2-8c4a-178893cfb59c","created_at":"2026-02-19T17:44:16.964205Z","modified_at":"2026-02-19T17:44:16.964205Z","started_at":"2026-02-19T17:44:16.964205Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"579f0d5c-cce7-4666-98f3-40a696be8cc7","name":"Login","status":"maintenance"}]},{"id":"558325df-2d6d-4343-9a97-f6c9e165b4f1","created_at":"2026-02-19T16:44:06.928335Z","modified_at":"2026-02-19T16:44:06.928335Z","started_at":"2026-02-19T16:44:06.928335Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"579f0d5c-cce7-4666-98f3-40a696be8cc7","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"016f2768-6987-4a8f-898b-ab94e17b3dd3","type":"status_pages"}}}},{"id":"ab486ec9-5e60-4d2b-88f3-86cce89baeb9","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:44:11.197Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"d1d9b93d-301d-4dad-8f3b-4475a3fad1b1","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T18:44:24.658174Z","published_date":"2026-02-19T16:44:11.945804Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T17:44:11.197Z","status":"completed","title":"API + Maintenance","updates":[{"id":"b50bbda8-d21b-4653-8602-b9be48316cf5","created_at":"2026-02-19T18:44:24.658174Z","modified_at":"2026-02-19T18:44:24.658174Z","started_at":"2026-02-19T18:44:24.658174Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"d1d9b93d-301d-4dad-8f3b-4475a3fad1b1","name":"Login","status":"operational"}]},{"id":"49c62cd2-f176-4829-8dd5-138778c2902c","created_at":"2026-02-19T17:44:15.757371Z","modified_at":"2026-02-19T17:44:15.757371Z","started_at":"2026-02-19T17:44:15.757371Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"d1d9b93d-301d-4dad-8f3b-4475a3fad1b1","name":"Login","status":"maintenance"}]},{"id":"9e272ba1-8d7e-41c5-8454-5d7f15864b90","created_at":"2026-02-19T16:44:11.945804Z","modified_at":"2026-02-19T16:44:11.945804Z","started_at":"2026-02-19T16:44:11.945804Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"d1d9b93d-301d-4dad-8f3b-4475a3fad1b1","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"bd3f1d69-4ee1-428d-8ac8-f03f387a7677","type":"status_pages"}}}},{"id":"dd68d4f9-5eff-4ab9-bbb4-bd80ef184b07","type":"maintenances","attributes":{"completed_date":"2026-02-19T18:44:16.748Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"44da03e1-1b23-4100-b26f-68ab4f8ca457","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","modified_at":"2026-02-19T18:44:24.483553Z","published_date":"2026-02-19T16:44:17.427344Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T17:44:16.748Z","status":"completed","title":"API + Maintenance","updates":[{"id":"19b8a7d2-7164-4383-bdf2-463de3d1242c","created_at":"2026-02-19T18:44:24.483553Z","modified_at":"2026-02-19T18:44:24.483553Z","started_at":"2026-02-19T18:44:24.483553Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"44da03e1-1b23-4100-b26f-68ab4f8ca457","name":"Login","status":"operational"}]},{"id":"bc432e95-9e82-4b4c-a152-11a10acc0217","created_at":"2026-02-19T17:44:26.587427Z","modified_at":"2026-02-19T17:44:26.587427Z","started_at":"2026-02-19T17:44:26.587427Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"44da03e1-1b23-4100-b26f-68ab4f8ca457","name":"Login","status":"maintenance"}]},{"id":"9cf9afba-2352-4e3c-9bca-a52a60ce2950","created_at":"2026-02-19T16:44:17.427344Z","modified_at":"2026-02-19T16:44:17.427344Z","started_at":"2026-02-19T16:44:17.427344Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"44da03e1-1b23-4100-b26f-68ab4f8ca457","name":"Login","status":"operational"}]}]},"relationships":{"created_by_user":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"users"}},"last_modified_by_user":{"data":{"id":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"33c6f810-15d8-4ce2-835b-1ac3a6ca1dbc","type":"status_pages"}}}},{"id":"42680154-cc22-432b-8132-dff3184823fa","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:06:20.302Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"63331812-b5a5-422a-889a-f7ca633b2d80","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T21:06:21.347203Z","published_date":"2026-02-19T21:06:21.347203Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:06:20.302Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"6e23db69-3e05-49d2-890c-c5c619e95bd6","created_at":"2026-02-19T21:06:21.347203Z","modified_at":"2026-02-19T21:06:21.347203Z","started_at":"2026-02-19T21:06:21.347203Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"63331812-b5a5-422a-889a-f7ca633b2d80","name":"Login","status":"operational"}]}]},"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":"0751ca80-99db-4247-ae44-655162fa07a9","type":"status_pages"}}}},{"id":"7c30b38a-5670-4187-8ee3-dbf13cfc969f","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:06:26.166Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"9fabc1b3-bfc4-45f5-8fe7-6b284be04d28","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T21:06:27.326948Z","published_date":"2026-02-19T21:06:27.326948Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:06:26.166Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"2ce54aea-a951-4f0f-899e-5b177b28343c","created_at":"2026-02-19T21:06:27.326948Z","modified_at":"2026-02-19T21:06:27.326948Z","started_at":"2026-02-19T21:06:27.326948Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"9fabc1b3-bfc4-45f5-8fe7-6b284be04d28","name":"Login","status":"operational"}]}]},"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":"6cb07301-fa51-4113-babd-229a0e86942e","type":"status_pages"}}}},{"id":"3f112086-958b-472f-84b0-04513a6ac860","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:06:32.872Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"de9b6f98-2556-44c9-bb88-9d839e1fda62","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","modified_at":"2026-02-19T21:06:34.18225Z","published_date":"2026-02-19T21:06:33.926332Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T22:06:32.872Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"ed7b7ce3-9911-4da3-8b45-0fba052f3139","created_at":"2026-02-19T21:06:33.926332Z","modified_at":"2026-02-19T21:06:33.926332Z","started_at":"2026-02-19T21:06:33.926332Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"de9b6f98-2556-44c9-bb88-9d839e1fda62","name":"Login","status":"operational"}]}]},"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":"4d753d2f-1348-486d-afc7-22f3e1759af3","type":"status_pages"}}}},{"id":"e5351abf-7257-4549-8cad-796d3f440325","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:09:38.938Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"47bbcea0-722d-44e1-87b7-fa2fd40103a7","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T21:09:39.909684Z","published_date":"2026-02-19T21:09:39.909684Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:38.938Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"ccded96a-4604-4431-bdd4-392929ee5d02","created_at":"2026-02-19T21:09:39.909684Z","modified_at":"2026-02-19T21:09:39.909684Z","started_at":"2026-02-19T21:09:39.909684Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"47bbcea0-722d-44e1-87b7-fa2fd40103a7","name":"Login","status":"operational"}]}]},"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":"bd404bad-494f-4409-94b3-92f1f788d2e4","type":"status_pages"}}}}],"meta":{"page":{"type":"offset_limit","offset":0,"limit":50,"total":23,"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/bd404bad-494f-4409-94b3-92f1f788d2e4 + 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 index 95c95875d8..84c59bd038 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:49.653Z \ No newline at end of file +2026-02-19T21:09:40.739Z \ 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 index 16a13d3405..9ddd3f8a0b 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"a292a726f79d8dd3","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"afa3045896f83bda","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"2fb5cefa-a43b-4974-b439-96cef54df054","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"82aa9ec5-5394-4138-8d6c-475ed209b03d","name":"Application","type":"group","position":0,"components":[{"id":"5e7fc960-39ed-4522-aa38-187f41ace1fd","name":"Login","type":"component","status":"operational","position":0},{"id":"eda28835-e8a6-44a1-87f7-8da14819152b","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:49.763982Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"a292a726f79d8dd3","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:49.763982Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/2fb5cefa-a43b-4974-b439-96cef54df054/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"}}}}}' + string: '{"data":{"id":"af65e4fe-8698-4267-89a9-f8f0158ce62f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ae113f16-56fd-49dd-ab9b-912819187873","name":"Application","type":"group","position":0,"components":[{"id":"2727c1b7-e0ef-4cd1-9cf4-e169d10d9488","name":"Login","type":"component","status":"operational","position":0},{"id":"b765850f-2490-408e-86b6-b6fbbab02e89","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:41.083993Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"afa3045896f83bda","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:41.083993Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/af65e4fe-8698-4267-89a9-f8f0158ce62f/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 @@ -28,8 +28,57 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":[{"id":"2fb5cefa-a43b-4974-b439-96cef54df054","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"82aa9ec5-5394-4138-8d6c-475ed209b03d","name":"Application","type":"group","position":0,"components":[{"id":"5e7fc960-39ed-4522-aa38-187f41ace1fd","name":"Login","type":"component","status":"operational","position":0},{"id":"eda28835-e8a6-44a1-87f7-8da14819152b","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:49.763982Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"a292a726f79d8dd3","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:49.763982Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/2fb5cefa-a43b-4974-b439-96cef54df054/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}}}' + string: '{"data":[{"id":"af65e4fe-8698-4267-89a9-f8f0158ce62f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ae113f16-56fd-49dd-ab9b-912819187873","name":"Application","type":"group","position":0,"components":[{"id":"2727c1b7-e0ef-4cd1-9cf4-e169d10d9488","name":"Login","type":"component","status":"operational","position":0},{"id":"b765850f-2490-408e-86b6-b6fbbab02e89","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:41.083993Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"afa3045896f83bda","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:41.083993Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/af65e4fe-8698-4267-89a9-f8f0158ce62f/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":"4d753d2f-1348-486d-afc7-22f3e1759af3","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"67998dd2-0edc-4146-855a-a147f4af1a4d","name":"Application","type":"group","position":0,"components":[{"id":"de9b6f98-2556-44c9-bb88-9d839e1fda62","name":"Login","type":"component","status":"operational","position":0},{"id":"11d95bc8-59eb-451c-ac3c-6b2458c0493a","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:06:33.207555Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"cc4b27d85d273270","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:06:33.207555Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/4d753d2f-1348-486d-afc7-22f3e1759af3/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":"6cb07301-fa51-4113-babd-229a0e86942e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"4e2b2bbc-cc10-46b7-b323-51d5f1f923d3","name":"Application","type":"group","position":0,"components":[{"id":"9fabc1b3-bfc4-45f5-8fe7-6b284be04d28","name":"Login","type":"component","status":"operational","position":0},{"id":"3a30321a-9a60-4400-82a0-916dba33ba4d","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:06:26.507436Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"cd113ddaafbe79f2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:06:26.507436Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/6cb07301-fa51-4113-babd-229a0e86942e/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":"0751ca80-99db-4247-ae44-655162fa07a9","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"9d366ce5-00ed-4fc6-8348-44b125a6a65f","name":"Application","type":"group","position":0,"components":[{"id":"63331812-b5a5-422a-889a-f7ca633b2d80","name":"Login","type":"component","status":"operational","position":0},{"id":"8782c501-1741-4bb1-b633-fa09283c5728","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:06:20.663002Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"bf3be33fe8d7b262","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:06:20.663002Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/0751ca80-99db-4247-ae44-655162fa07a9/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":"33c6f810-15d8-4ce2-835b-1ac3a6ca1dbc","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"aef28e84-a82c-4c93-b436-4ba42dbdd4b6","name":"Application","type":"group","position":0,"components":[{"id":"44da03e1-1b23-4100-b26f-68ab4f8ca457","name":"Login","type":"component","status":"operational","position":0},{"id":"e5753320-4de3-44d1-85b6-4775ce235f17","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:44:16.851238Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"af56efb2f5bba226","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:44:16.851238Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/33c6f810-15d8-4ce2-835b-1ac3a6ca1dbc/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":"bd3f1d69-4ee1-428d-8ac8-f03f387a7677","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"090535e1-afea-43de-9762-816f7a965a16","name":"Application","type":"group","position":0,"components":[{"id":"d1d9b93d-301d-4dad-8f3b-4475a3fad1b1","name":"Login","type":"component","status":"operational","position":0},{"id":"30dc5823-df1a-43d6-b575-d4a8804ad745","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:44:11.295897Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"1be8518d13b9dd02","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:44:11.295897Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/bd3f1d69-4ee1-428d-8ac8-f03f387a7677/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":"016f2768-6987-4a8f-898b-ab94e17b3dd3","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"427a7b30-e308-44a7-9871-a030396ac962","name":"Application","type":"group","position":0,"components":[{"id":"579f0d5c-cce7-4666-98f3-40a696be8cc7","name":"Login","type":"component","status":"operational","position":0},{"id":"77dd3fb9-529a-4900-a5eb-6e0a748cf468","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:44:06.349736Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"a058117186c84e4f","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:44:06.349736Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/016f2768-6987-4a8f-898b-ab94e17b3dd3/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":"0e37a7c0-9b0c-4c4e-b315-6b5e145390af","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"73147bd8-26f7-4c57-8557-7fba52d561a4","name":"Application","type":"group","position":0,"components":[{"id":"c4d3a1be-8d3d-4b09-9521-b03d5c1e6fdd","name":"Login","type":"component","status":"operational","position":0},{"id":"15802004-c6e9-4186-ba5c-eb01169569de","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:43:57.756135Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"7e7c00468d1b799b","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:43:57.756135Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/0e37a7c0-9b0c-4c4e-b315-6b5e145390af/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":"3c7ddb58-a07b-4db7-ade0-31ac925b6597","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"23ec6518-ab99-4382-8d4b-94eef8c84845","name":"Application","type":"group","position":0,"components":[{"id":"cfae542d-147e-4a5f-bd85-b7ad75b9eb88","name":"Login","type":"component","status":"operational","position":0},{"id":"d6d65fe1-f349-43a2-ad39-da38097a1311","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:43:13.751657Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"ec88a3070e186fd2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:43:13.751657Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/3c7ddb58-a07b-4db7-ade0-31ac925b6597/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":"4561e0f5-5a64-4bc9-b16c-654d3d81325a","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"4903f8ce-5d7c-44fe-a9cf-936699d9c67e","name":"Application","type":"group","position":0,"components":[{"id":"03b85dec-3f1c-4bc1-b6a6-c3070e94aaa7","name":"Login","type":"component","status":"operational","position":0},{"id":"e64fdd83-8dc5-4f6e-b527-4c623e6998a6","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:41:17.209814Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"c9a065bd3dc330d7","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:41:17.209814Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/4561e0f5-5a64-4bc9-b16c-654d3d81325a/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":"7c3eff68-42fb-4ddb-8761-3e7695d79570","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"603670a3-1893-49a3-93e1-e655c79509d6","name":"Application","type":"group","position":0,"components":[{"id":"862e2d94-1286-423c-86ec-541f5f5aa5e6","name":"Login","type":"component","status":"operational","position":0},{"id":"5fb0fa8a-a9fd-41bd-901c-2577bf1799f4","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:41:11.55184Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"139604cb3deb8bfa","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:41:11.55184Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/7c3eff68-42fb-4ddb-8761-3e7695d79570/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":"a8e3fb88-56ee-4f01-8909-734f9a066177","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ed519647-6f30-42fa-8342-032faa934a68","name":"Application","type":"group","position":0,"components":[{"id":"e19596ba-245c-49dc-9274-5aa1b7e865f5","name":"Login","type":"component","status":"operational","position":0},{"id":"bed4d438-d938-44b4-b3f7-e42f94560d9c","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:41:06.354933Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"c9da05969f090bf2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:41:06.354933Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/a8e3fb88-56ee-4f01-8909-734f9a066177/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":"93fc2aa2-cb3e-4ef9-bc09-4ac0dfba45c4","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"34b8d16f-f477-499d-b099-79b45a32b4f1","name":"Application","type":"group","position":0,"components":[{"id":"e5c3b642-9d15-44ac-9766-a108cf3908d9","name":"Login","type":"component","status":"operational","position":0},{"id":"490c2714-a0ce-4962-b169-c327b1160a10","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:40:54.111832Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"a1c16169acd25c7f","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:40:54.111832Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/93fc2aa2-cb3e-4ef9-bc09-4ac0dfba45c4/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":"7e1c914a-7b5d-4928-9603-2c231f4e27b5","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"7a833ed9-561d-472b-a821-c1272f1ace34","name":"Application","type":"group","position":0,"components":[{"id":"222ce53c-1646-45bc-a5d4-27e0a4eb0313","name":"Login","type":"component","status":"operational","position":0},{"id":"44672e6c-dd99-4ed1-8ecc-7715e0625a01","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:26:47.706539Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"ccf251964a09e006","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:26:47.706539Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/7e1c914a-7b5d-4928-9603-2c231f4e27b5/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":"d3167fc5-957d-4ec6-a55d-d75a5eb1926a","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"a0e49fa5-3555-4202-8cee-e6c3be83a6f0","name":"Application","type":"group","position":0,"components":[{"id":"eb5ff7d4-3faa-4216-9141-b616ecfa29a7","name":"Login","type":"component","status":"operational","position":0},{"id":"a7b1111a-43d9-4d27-827a-d5f9ec23e1d3","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:26:42.040089Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"48333a37cbd28f23","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:26:42.040089Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/d3167fc5-957d-4ec6-a55d-d75a5eb1926a/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":"ef7f6596-79dd-4f10-9e02-96047289e678","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"70276684-f206-4d50-b890-1c20a5303ee4","name":"Application","type":"group","position":0,"components":[{"id":"2a064c38-b34c-4afd-8958-567b4fb94891","name":"Login","type":"component","status":"operational","position":0},{"id":"30f6916a-e722-4b19-b1b8-0485e0afd9c6","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:26:36.880519Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"df7a8d1c89704ae5","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:26:36.880519Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/ef7f6596-79dd-4f10-9e02-96047289e678/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":"9554c1f6-837d-4ce9-8682-90cc44689d6e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"c0bb1772-afd4-4eed-bab5-c33a5451b899","name":"Application","type":"group","position":0,"components":[{"id":"c354419b-c97e-49c6-b556-a2bd73c2945b","name":"Login","type":"component","status":"operational","position":0},{"id":"f14a431d-6a9a-4395-bb71-6b1d5af83fbb","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:05:04.858919Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"059503e3ac91b0da","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:05:04.858919Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/9554c1f6-837d-4ce9-8682-90cc44689d6e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"e4a07280-5e60-41e8-8868-d6b391ac9ba4","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"83b8a78b-684b-402b-a8a6-f0df36c4eb09","name":"Application","type":"group","position":0,"components":[{"id":"2ec5ce94-7c6b-4883-b963-774cde63af0e","name":"Login","type":"component","status":"operational","position":0},{"id":"9b1911f3-49ba-4d06-971d-b0600d51820f","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:05:03.384639Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"196a899e9a39079a","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:05:03.384639Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/e4a07280-5e60-41e8-8868-d6b391ac9ba4/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"c3af2a4f-dd6e-4777-8899-7be70c0e629c","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"48138666-3c22-45b7-8ed3-bc27533e4d40","name":"Application","type":"group","position":0,"components":[{"id":"0da9e91e-519e-4d1b-a530-95dbf9b1d6a3","name":"Login","type":"component","status":"operational","position":0},{"id":"cd8829c5-75ca-40a1-9204-24cc97525713","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T16:05:02.028841Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"75fd3e1165e41d93","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T16:05:02.028841Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/c3af2a4f-dd6e-4777-8899-7be70c0e629c/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"cfbf3ff5-f7e6-4d6c-8175-cbff110ebfc9","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"09a8484c-be64-4295-a6b8-acf87f9245ab","name":"Application","type":"group","position":0,"components":[{"id":"5cc44628-14ac-4563-a052-5b1f9a3fa3e4","name":"Login","type":"component","status":"operational","position":0},{"id":"c2f9b131-672d-4ee8-a50c-5c3874f302e8","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:48:47.984615Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f574ab46462ee007","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:48:47.984615Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/cfbf3ff5-f7e6-4d6c-8175-cbff110ebfc9/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"a8e6fdb1-05c8-416c-a150-9af49c513206","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"22432bc8-d59a-4d2a-b4c5-459199b433be","name":"Application","type":"group","position":0,"components":[{"id":"6407bf01-0c11-4509-8ae6-24c77cf205da","name":"Login","type":"component","status":"operational","position":0},{"id":"424ec72d-f12c-4718-8c5b-52a2a1c25cd5","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:48:46.468711Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"fd37efd95db6e0b5","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:48:46.468711Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/a8e6fdb1-05c8-416c-a150-9af49c513206/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"b57576ee-457d-43da-9b17-f7e9087ab4a4","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"27a0738a-f38d-404d-999a-370cff2c4f10","name":"Application","type":"group","position":0,"components":[{"id":"2bf35e8e-28c9-49c3-948a-854097030f2c","name":"Login","type":"component","status":"operational","position":0},{"id":"d8522dbf-1638-47fb-ba5a-95af1fcd700d","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:48:44.989419Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"2e43867bfa448a5d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:48:44.989419Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/b57576ee-457d-43da-9b17-f7e9087ab4a4/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"e2a7988d-e454-480d-9bff-dcfc5058ffd6","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"700c4456-e8c7-4890-b2c5-30c3fe0ed823","name":"Application","type":"group","position":0,"components":[{"id":"13a1264c-4541-4bb6-9c92-e626930ece49","name":"Login","type":"component","status":"operational","position":0},{"id":"8de3f71a-efdd-4524-94a6-eb088abcbfbc","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:46:01.826656Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"0b5855db08df37da","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:46:01.826656Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/e2a7988d-e454-480d-9bff-dcfc5058ffd6/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"18505e11-3832-4194-ac65-b47359669e61","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"289b7ce0-840b-4cea-af5d-b6aaaa4cbc5e","name":"Application","type":"group","position":0,"components":[{"id":"c6b42e04-bd00-4ee5-b946-a773a7df9334","name":"Login","type":"component","status":"operational","position":0},{"id":"020a490f-d227-430c-83c8-5ad7b5231ba8","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:46:00.299228Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"be2cd8834307e7f7","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:46:00.299228Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/18505e11-3832-4194-ac65-b47359669e61/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"58b6cfe4-d036-408e-a2c8-39c2aa18b5a5","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"83e2336e-8008-4e27-80d0-5a132221ac43","name":"Application","type":"group","position":0,"components":[{"id":"b372da78-86e5-4d41-bedd-43f7134c6acc","name":"Login","type":"component","status":"operational","position":0},{"id":"aced314d-a1ba-402f-8721-50b7dd45f59a","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:45:58.944334Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"d7e60b47af4c64a3","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:45:58.944334Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/58b6cfe4-d036-408e-a2c8-39c2aa18b5a5/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"bbe07a71-94b7-4012-9f69-032ff09e567e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"727a527d-16ab-4744-9cbd-6955bf21e647","name":"Application","type":"group","position":0,"components":[{"id":"e33fa227-f111-40ea-8350-70e54e03af66","name":"Login","type":"component","status":"operational","position":0},{"id":"efce96c6-1bd4-466f-938f-5458ea6b390b","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:16:02.886765Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"3f122df453622870","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:16:02.886765Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/bbe07a71-94b7-4012-9f69-032ff09e567e/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"233d02e7-9989-454d-be5d-295f3f04ff5f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"59cbcb7d-7d1a-4ee3-8a22-5ef655f5445a","name":"Application","type":"group","position":0,"components":[{"id":"db2157c8-f88c-4076-8cdc-6c9ee7e883c8","name":"Login","type":"component","status":"operational","position":0},{"id":"30dc0ca4-b005-4745-9edf-196e87969a34","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:16:01.952726Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"a321ba5a9d4e1bc2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:16:01.952726Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/233d02e7-9989-454d-be5d-295f3f04ff5f/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"141fb4dd-5560-42a7-9145-78da6d717d9b","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"4434910b-ff89-40d5-b665-0ce24275363f","name":"Application","type":"group","position":0,"components":[{"id":"0612918d-6554-415c-9988-73464da30450","name":"Login","type":"component","status":"operational","position":0},{"id":"cfeb9664-4276-4995-ad8e-367cb896234b","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:16:01.193556Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dc887211d7151600","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:16:01.193556Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/141fb4dd-5560-42a7-9145-78da6d717d9b/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"fbcbdef4-4e3a-436a-bb0a-be8205a98b36","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"69631aec-9684-4341-8567-15fc5023011d","name":"Application","type":"group","position":0,"components":[{"id":"7d4bd295-b987-49b0-8086-9dddbcfade33","name":"Login","type":"component","status":"operational","position":0},{"id":"f5f7553c-c304-4946-bd58-2a58a83ab7cb","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:13:24.950199Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"d2cc282985fb6853","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:13:24.950199Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/fbcbdef4-4e3a-436a-bb0a-be8205a98b36/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"6f3e2bef-846a-4c05-9d6d-35d9d136c31a","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"06c940fa-78c0-434b-8c65-4edc35fb3bf8","name":"Application","type":"group","position":0,"components":[{"id":"8e3cd5cc-1ce3-435c-863d-2f139a10fd18","name":"Login","type":"component","status":"operational","position":0},{"id":"4a56abde-dc39-4dd6-b1f4-7c5d2fde704b","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:13:23.837825Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f3aeb4c1b8c5449d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:13:23.837825Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/6f3e2bef-846a-4c05-9d6d-35d9d136c31a/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"6054e25a-60fa-4c88-a02a-760bae1a7917","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"0609ab97-970b-4312-8209-2fedf5ca4bab","name":"Application","type":"group","position":0,"components":[{"id":"77170b9e-5e63-4ddb-9a0b-93e271e530ba","name":"Login","type":"component","status":"operational","position":0},{"id":"f720e3c0-12cf-409a-97a3-3269b2f0e8f3","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T15:13:22.190248Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"367d9e866a66ad8c","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T15:13:22.190248Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/6054e25a-60fa-4c88-a02a-760bae1a7917/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"a7f27d28-ea42-4c5a-acfe-800e036b4d83","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"381eaab2-004f-4716-a76f-d264ab591163","name":"Application","type":"group","position":0,"components":[{"id":"9a0e536b-d716-49db-88b4-639f6de9ea23","name":"Login","type":"component","status":"operational","position":0},{"id":"955cc731-9ae5-4271-8351-b2ed3268f174","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T14:28:40.849754Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"1504c4154f91a37d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T14:28:40.849754Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/a7f27d28-ea42-4c5a-acfe-800e036b4d83/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"e9e86584-1f9a-45b8-ace4-cb9ac49c8c35","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"6f670044-3c47-480d-8f1b-15226dc96500","name":"Application","type":"group","position":0,"components":[{"id":"8ae3244d-3172-4414-b826-4f3b74923b01","name":"Login","type":"component","status":"operational","position":0},{"id":"ce4b8354-a34c-481d-84d8-150b177a2989","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T14:28:40.03449Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"170bc85c2835a80b","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T14:28:40.03449Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/e9e86584-1f9a-45b8-ace4-cb9ac49c8c35/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"14cc6952-f835-419b-9c36-b73c6c1f5d3f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"3cc01b47-837e-4d4f-bf94-bec3d1c3b576","name":"Application","type":"group","position":0,"components":[{"id":"6be3f4e9-2523-4e1f-9a34-23c0cf593f96","name":"Login","type":"component","status":"operational","position":0},{"id":"b09b3432-c866-4572-b1c8-dcefd6f4538d","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T14:28:39.323329Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"3509967b198e91ed","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T14:28:39.323329Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/14cc6952-f835-419b-9c36-b73c6c1f5d3f/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"b33cb3e9-d065-4ff3-960c-d8e0afb99f37","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"077bb7e5-9846-4dd9-a737-af0139dee854","name":"Application","type":"group","position":0,"components":[{"id":"1abb15cc-21e4-4119-926d-ceea2965ef52","name":"Login","type":"component","status":"operational","position":0},{"id":"400f843b-a5b6-4520-be39-f85c1ccb253b","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T22:43:50.391028Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"57998a2699532e89","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T22:43:50.391028Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/b33cb3e9-d065-4ff3-960c-d8e0afb99f37/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"8c769ee5-a018-4f94-bee4-3e0330e38b95","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"fed9318c-8fe4-4fd7-9e96-a3fca3e4dd38","name":"Application","type":"group","position":0,"components":[{"id":"a5d068d8-9903-468e-8947-e5b177f11877","name":"Login","type":"component","status":"operational","position":0},{"id":"56dafdff-3539-40ab-862a-e06d86ad95e4","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T22:43:49.009383Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"8ee03b33252cf8e7","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T22:43:49.009383Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/8c769ee5-a018-4f94-bee4-3e0330e38b95/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"49ee3d48-7e5c-4a7a-b268-97fb6d0ea3d2","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"94d13995-c630-4e33-bfed-a0cb020fc3b6","name":"Application","type":"group","position":0,"components":[{"id":"96f86213-fd43-41b2-98b9-a47413dc5376","name":"Login","type":"component","status":"operational","position":0},{"id":"80e83792-71df-4d95-8a33-74a68cd594d2","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T22:43:47.881786Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f89ce4f178b4d51e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T22:43:47.881786Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/49ee3d48-7e5c-4a7a-b268-97fb6d0ea3d2/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"3dd25c2b-a623-4e90-8e8a-ca1474d25623","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2152d80d-2844-440f-a6bd-d337daf0e517","name":"Application","type":"group","position":0,"components":[{"id":"545a3c7e-befe-4ce4-8822-450ef2739026","name":"Login","type":"component","status":"operational","position":0},{"id":"eaca5ee7-e3cf-473c-a952-911d7392c94c","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T22:11:43.515284Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f2dfecd8453872bb","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T22:11:43.515284Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/3dd25c2b-a623-4e90-8e8a-ca1474d25623/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"5bdbe523-c175-4eaf-a093-6ee0fb5b5a10","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"3ef2a099-e89f-43e0-942d-2402fd190987","name":"Application","type":"group","position":0,"components":[{"id":"66fe5ac6-1f11-43ab-8727-6ef1b96ddc7d","name":"Login","type":"component","status":"operational","position":0},{"id":"16ea75b5-79b6-4bc0-81e3-e93c7faddf72","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T22:11:42.828961Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"1d6844e41643f4b1","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T22:11:42.828961Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/5bdbe523-c175-4eaf-a093-6ee0fb5b5a10/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"7658f2c2-01d8-4fb8-af5f-354a49aa4057","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2e179c9e-4f24-4e95-b7ee-e84a2168c71e","name":"Application","type":"group","position":0,"components":[{"id":"2ff41cbd-f935-4efa-9145-d8ca2e55fde1","name":"Login","type":"component","status":"operational","position":0},{"id":"cc3fedf9-5331-49d7-894a-83501f9bcfbd","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T22:11:42.271637Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"6f9e2fa0ce5ee595","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T22:11:42.271637Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/7658f2c2-01d8-4fb8-af5f-354a49aa4057/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"ac1070ea-9621-4aa7-8c2a-98bee38b8824","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"8888c402-f4c8-42c5-bc9a-322a303a17f3","name":"Application","type":"group","position":0,"components":[{"id":"0e18a41f-a089-4c9e-a2fe-9823e92d8892","name":"Login","type":"component","status":"operational","position":0},{"id":"6b53237e-ac44-45e1-bfee-f7cc6359ce36","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:56:10.131645Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"6a88252acb78d212","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:56:10.131645Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/ac1070ea-9621-4aa7-8c2a-98bee38b8824/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"a4f18543-216c-4e21-a240-ca27ab18cc84","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"9377b190-3e89-410d-83c4-d3b27abf6a31","name":"Application","type":"group","position":0,"components":[{"id":"c306924a-f5ab-453b-a15c-105bba86725e","name":"Login","type":"component","status":"operational","position":0},{"id":"a204b169-44b7-4bf1-a663-790b15d6b1b1","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:56:08.646778Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f173fe90313f9cc2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:56:08.646778Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/a4f18543-216c-4e21-a240-ca27ab18cc84/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"d6b83c67-57f2-4e94-809e-5c4b0a15c032","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2f27081b-9c66-415e-9ba4-5f711b6b0528","name":"Application","type":"group","position":0,"components":[{"id":"4a7f187f-d936-43ae-8336-39002ea00798","name":"Login","type":"component","status":"operational","position":0},{"id":"bd342609-6e5f-480d-a605-cfe8e8f08475","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:56:07.536884Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"87a71aaf88cf0b8d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:56:07.536884Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/d6b83c67-57f2-4e94-809e-5c4b0a15c032/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"0df014ad-1526-423d-b500-eba8f6be51a1","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"e24aacb9-6fb5-4938-b8c7-00c881e054f9","name":"Application","type":"group","position":0,"components":[{"id":"0c924029-6822-48cb-bf6f-28dcc78c0018","name":"Login","type":"component","status":"operational","position":0},{"id":"26cbeb3f-f809-4ba5-b2bb-2d5928f89119","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:48:07.578969Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"504f1cc749888b8f","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:48:07.578969Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/0df014ad-1526-423d-b500-eba8f6be51a1/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"7c4211e0-74f0-46ac-b105-8cfdae5d4fd4","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"10bace98-3cac-490c-be59-301d975984bf","name":"Application","type":"group","position":0,"components":[{"id":"0513e83a-625b-4d01-9ae7-0cf16f363fcf","name":"Login","type":"component","status":"operational","position":0},{"id":"f4dfbbd9-0533-4ee2-afa6-cce962b89a4d","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:48:06.797982Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"53b93e3b72c2f766","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:48:06.797982Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/7c4211e0-74f0-46ac-b105-8cfdae5d4fd4/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"b79fcab7-b6fd-48e9-b908-2ff83a2cec5b","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"290380fd-bb4c-4143-aef6-90553c1abf54","name":"Application","type":"group","position":0,"components":[{"id":"2442f639-380e-4b9b-b43d-0dfa81b1d59e","name":"Login","type":"component","status":"operational","position":0},{"id":"f6ddaeea-e376-4b90-8ba3-78ff0eb32a53","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:48:06.024757Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"469a7758a2cf4207","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:48:06.024757Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/b79fcab7-b6fd-48e9-b908-2ff83a2cec5b/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"a9e35142-ab99-4643-b745-44f3e7f514ea","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"63cfb812-1bec-48bc-aafd-845a3ba022ee","name":"Application","type":"group","position":0,"components":[{"id":"33eaa678-129a-435f-8616-a25b6a5e9b21","name":"Login","type":"component","status":"operational","position":0},{"id":"a219762f-fe4a-4aec-ae6f-a9f967d9ce89","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:45:50.753828Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"c03e20cf949208cc","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:45:50.753828Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/a9e35142-ab99-4643-b745-44f3e7f514ea/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"4af003c0-be73-449a-b867-3a7942cb0c69","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"78a588ac-1ec4-4e81-aeb9-75057d379630","name":"Application","type":"group","position":0,"components":[{"id":"48f603b0-be40-49d0-a4c6-f6c42f07635c","name":"Login","type":"component","status":"operational","position":0},{"id":"913779f3-3b58-41c6-af7d-c24c1d27eb7d","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:45:49.858971Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f966f7fcf045bf42","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:45:49.858971Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/4af003c0-be73-449a-b867-3a7942cb0c69/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"e302ac75-9b2b-4e1d-9204-5a9bc1aa605f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"8281ca06-8b43-4c21-9f8a-71310fa3aeac","name":"Application","type":"group","position":0,"components":[{"id":"2479b0a4-6088-443c-b062-3bc81d98c3fa","name":"Login","type":"component","status":"operational","position":0},{"id":"f59b2e51-4ee8-41ec-b805-6f0d9e3d1909","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T21:45:49.146673Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"2c3ea402fd390ff9","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T21:45:49.146673Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/e302ac75-9b2b-4e1d-9204-5a9bc1aa605f/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}}}},{"id":"3d9b2a9b-af8f-4529-80e6-88b855d4e4df","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"4a1795c2-6d14-4ef0-9c4a-814ddb684769","name":"Application","type":"group","position":0,"components":[{"id":"e67549e5-4dee-472d-9251-cffb9e559005","name":"Login","type":"component","status":"operational","position":0},{"id":"e482245d-1f96-4dfa-a6d0-93bdc85dabfa","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-18T14:34:15.546762Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"dbbdcdcc0ae521ff","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-18T14:34:15.546762Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/3d9b2a9b-af8f-4529-80e6-88b855d4e4df/view","subscriptions_enabled":false,"type":"internal","visualization_type":"bars_and_uptime_percentage"},"relationships":{"created_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","type":"users"}},"last_modified_by_user":{"data":{"id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","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 @@ -42,7 +91,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/2fb5cefa-a43b-4974-b439-96cef54df054 + uri: https://api.datadoghq.com/api/v2/statuspages/af65e4fe-8698-4267-89a9-f8f0158ce62f response: body: string: '' 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 index 7b2cd91b76..d2302647f7 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:50.959Z \ No newline at end of file +2026-02-19T21:09:42.564Z \ 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 index aa92f5e5de..0cbf73f02f 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"18ce7dca5f31f286","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"f67c55f5b2532df6","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"2f95d75e-d08f-4c37-8808-2b0246f86e16","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"7a828867-d56d-41a9-bc35-9eec112fd334","name":"Application","type":"group","position":0,"components":[{"id":"424cedb4-c0c1-4726-871a-5927588ca835","name":"Login","type":"component","status":"operational","position":0},{"id":"1cdf79d4-4c20-4388-ab76-c24f6c140bcb","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:51.072685Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"18ce7dca5f31f286","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:51.072685Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/2f95d75e-d08f-4c37-8808-2b0246f86e16/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"}}}}}' + string: '{"data":{"id":"9e2f9e22-7d9c-45fd-9457-ba3516d51998","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ace1e050-b41f-40ca-9ea6-8d57a244d6c4","name":"Application","type":"group","position":0,"components":[{"id":"4226d439-92f1-488c-8441-4c5bb19a9364","name":"Login","type":"component","status":"operational","position":0},{"id":"e56d90c5-7196-472b-8281-0dcc0bf27f26","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:42.920779Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f67c55f5b2532df6","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:42.920779Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/9e2f9e22-7d9c-45fd-9457-ba3516d51998/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 @@ -20,18 +20,18 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"name":"Logs Indexing"},"id":"7a828867-d56d-41a9-bc35-9eec112fd334","type":"components"}}' + body: '{"data":{"attributes":{"name":"Logs Indexing"},"id":"ace1e050-b41f-40ca-9ea6-8d57a244d6c4","type":"components"}}' headers: accept: - application/json content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/statuspages/2f95d75e-d08f-4c37-8808-2b0246f86e16/components/7a828867-d56d-41a9-bc35-9eec112fd334 + uri: https://api.datadoghq.com/api/v2/statuspages/9e2f9e22-7d9c-45fd-9457-ba3516d51998/components/ace1e050-b41f-40ca-9ea6-8d57a244d6c4 response: body: - string: '{"data":{"id":"7a828867-d56d-41a9-bc35-9eec112fd334","type":"components","attributes":{"components":[{"id":"424cedb4-c0c1-4726-871a-5927588ca835","name":"Login","type":"component","status":"operational","position":0},{"id":"1cdf79d4-4c20-4388-ab76-c24f6c140bcb","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-01-21T21:23:51.072685Z","modified_at":"2026-01-21T21:23:51.606861Z","name":"Logs - Indexing","position":0,"type":"group"},"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":"2f95d75e-d08f-4c37-8808-2b0246f86e16","type":"status_pages"}}}}}' + string: '{"data":{"id":"ace1e050-b41f-40ca-9ea6-8d57a244d6c4","type":"components","attributes":{"components":[{"id":"4226d439-92f1-488c-8441-4c5bb19a9364","name":"Login","type":"component","status":"operational","position":0},{"id":"e56d90c5-7196-472b-8281-0dcc0bf27f26","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-02-19T21:09:42.920779Z","modified_at":"2026-02-19T21:09:43.521422Z","name":"Logs + Indexing","position":0,"type":"group"},"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":"9e2f9e22-7d9c-45fd-9457-ba3516d51998","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -44,7 +44,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/2f95d75e-d08f-4c37-8808-2b0246f86e16 + uri: https://api.datadoghq.com/api/v2/statuspages/9e2f9e22-7d9c-45fd-9457-ba3516d51998 response: body: string: '' 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 index 7ba365b794..e3e3d0e2be 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:52.130Z \ No newline at end of file +2026-02-19T21:09:43.949Z \ 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 index 29df50ea9e..234505c23a 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"63b50a302c459f7c","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"423ed66623e5d9e2","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"5df6e8f7-b903-4ba9-b0c5-d603536e23fa","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"545201a0-a23f-4cbd-ae78-9e392a686b0d","name":"Application","type":"group","position":0,"components":[{"id":"681d4866-a4ff-4e4e-b295-6b9586892675","name":"Login","type":"component","status":"operational","position":0},{"id":"e0c7b0ec-2517-43bd-a489-2f2f23eb0bc4","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:52.260223Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"63b50a302c459f7c","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:52.260223Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa/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"}}}}}' + string: '{"data":{"id":"0ea78329-1935-47e6-98e8-3178e6e849a2","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"8a559237-d655-4ca4-ac9c-d5b22387d23c","name":"Application","type":"group","position":0,"components":[{"id":"9b3dc9e8-a282-4d7a-a15a-b4d9e941a086","name":"Login","type":"component","status":"operational","position":0},{"id":"fffdd9b9-a2eb-41d4-ac85-7c91c0a4df68","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:44.286172Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"423ed66623e5d9e2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:44.286172Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/0ea78329-1935-47e6-98e8-3178e6e849a2/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 @@ -20,7 +20,7 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"components_affected":[{"id":"681d4866-a4ff-4e4e-b295-6b9586892675","status":"major_outage"}],"description":"Our + body: '{"data":{"attributes":{"components_affected":[{"id":"9b3dc9e8-a282-4d7a-a15a-b4d9e941a086","status":"major_outage"}],"description":"Our API is experiencing elevated latency. We are investigating the issue.","status":"investigating","title":"Elevated API Latency"},"type":"degradations"}}' headers: @@ -29,13 +29,13 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/statuspages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa/degradations + uri: https://api.datadoghq.com/api/v2/statuspages/0ea78329-1935-47e6-98e8-3178e6e849a2/degradations response: body: - string: '{"data":{"id":"3e8741c2-3c93-4346-9ddc-67d381baee05","type":"degradations","attributes":{"components_affected":[{"id":"681d4866-a4ff-4e4e-b295-6b9586892675","name":"Login","status":"major_outage"}],"created_at":"2026-01-21T21:23:52.827013Z","description":"Our - API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-21T21:23:52.827013Z","status":"investigating","title":"Elevated - API Latency","updates":[{"id":"e97d38d6-936d-4a4c-b07e-fad1379f414f","created_at":"2026-01-21T21:23:52.827013Z","modified_at":"2026-01-21T21:23:52.827013Z","status":"investigating","description":"Our - API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"681d4866-a4ff-4e4e-b295-6b9586892675","name":"Login","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":"5df6e8f7-b903-4ba9-b0c5-d603536e23fa","type":"status_pages"}}}}}' + string: '{"data":{"id":"affd3fe5-a59c-4928-9b5b-72f2b22cde19","type":"degradations","attributes":{"components_affected":[{"id":"9b3dc9e8-a282-4d7a-a15a-b4d9e941a086","name":"Login","status":"major_outage"}],"created_at":"2026-02-19T21:09:44.935459Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-19T21:09:44.935459Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"a852c60f-4e5e-433d-8b7d-e318ba3b1b97","created_at":"2026-02-19T21:09:44.935459Z","modified_at":"2026-02-19T21:09:44.935459Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"9b3dc9e8-a282-4d7a-a15a-b4d9e941a086","name":"Login","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":"0ea78329-1935-47e6-98e8-3178e6e849a2","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -43,20 +43,20 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"title":"Elevated API Latency in US1"},"id":"3e8741c2-3c93-4346-9ddc-67d381baee05","type":"degradations"}}' + body: '{"data":{"attributes":{"title":"Elevated API Latency in US1"},"id":"affd3fe5-a59c-4928-9b5b-72f2b22cde19","type":"degradations"}}' headers: accept: - application/json content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/statuspages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa/degradations/3e8741c2-3c93-4346-9ddc-67d381baee05 + uri: https://api.datadoghq.com/api/v2/statuspages/0ea78329-1935-47e6-98e8-3178e6e849a2/degradations/affd3fe5-a59c-4928-9b5b-72f2b22cde19 response: body: - string: '{"data":{"id":"3e8741c2-3c93-4346-9ddc-67d381baee05","type":"degradations","attributes":{"components_affected":[{"id":"681d4866-a4ff-4e4e-b295-6b9586892675","name":"Login","status":"major_outage"}],"created_at":"2026-01-21T21:23:52.827013Z","description":"Our - API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-01-21T21:23:52.984252Z","status":"investigating","title":"Elevated - API Latency in US1","updates":[{"id":"e97d38d6-936d-4a4c-b07e-fad1379f414f","created_at":"2026-01-21T21:23:52.827013Z","modified_at":"2026-01-21T21:23:52.827013Z","status":"investigating","description":"Our - API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"681d4866-a4ff-4e4e-b295-6b9586892675","name":"Login","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":"5df6e8f7-b903-4ba9-b0c5-d603536e23fa","type":"status_pages"}}}}}' + string: '{"data":{"id":"affd3fe5-a59c-4928-9b5b-72f2b22cde19","type":"degradations","attributes":{"components_affected":[{"id":"9b3dc9e8-a282-4d7a-a15a-b4d9e941a086","name":"Login","status":"major_outage"}],"created_at":"2026-02-19T21:09:44.935459Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-19T21:09:45.177799Z","status":"investigating","title":"Elevated + API Latency in US1","updates":[{"id":"a852c60f-4e5e-433d-8b7d-e318ba3b1b97","created_at":"2026-02-19T21:09:44.935459Z","modified_at":"2026-02-19T21:09:44.935459Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"9b3dc9e8-a282-4d7a-a15a-b4d9e941a086","name":"Login","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":"0ea78329-1935-47e6-98e8-3178e6e849a2","type":"status_pages"}}}}}' headers: content-type: - application/vnd.api+json @@ -69,7 +69,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa/degradations/3e8741c2-3c93-4346-9ddc-67d381baee05 + uri: https://api.datadoghq.com/api/v2/statuspages/0ea78329-1935-47e6-98e8-3178e6e849a2/degradations/affd3fe5-a59c-4928-9b5b-72f2b22cde19 response: body: string: '' @@ -83,7 +83,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa + uri: https://api.datadoghq.com/api/v2/statuspages/0ea78329-1935-47e6-98e8-3178e6e849a2 response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.frozen new file mode 100644 index 0000000000..9d17ae7ae2 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-02-19T21:09:45.868Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.yaml new file mode 100644 index 0000000000..4c9ef6978c --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.yaml @@ -0,0 +1,89 @@ +interactions: +- request: + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"7bfb8103645e46b6","enabled":true,"name":"A + Status Page","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":"17057554-f3a7-4418-8921-2cd6ee66cedf","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"78e7abeb-54f9-41f3-9148-186c62a552d7","name":"Application","type":"group","position":0,"components":[{"id":"9fbdc5b5-234e-4766-b2c3-a9fafe11b40d","name":"Login","type":"component","status":"operational","position":0},{"id":"43d19213-72b6-4011-86c9-3803465d3349","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:46.209326Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"7bfb8103645e46b6","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:46.209326Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/17057554-f3a7-4418-8921-2cd6ee66cedf/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":{"completed_date":"2026-02-19T23:09:45.868Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"9fbdc5b5-234e-4766-b2c3-a9fafe11b40d","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:45.868Z","title":"API + Maintenance"},"type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/17057554-f3a7-4418-8921-2cd6ee66cedf/maintenances + response: + body: + string: '{"data":{"id":"76383ad5-a9b2-4462-8e0a-15d6a1400339","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:09:45.868Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"9fbdc5b5-234e-4766-b2c3-a9fafe11b40d","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T21:09:46.802447Z","published_date":"2026-02-19T21:09:46.802447Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:09:45.868Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"57ae2066-09cf-4db6-8652-bd1e02e13508","created_at":"2026-02-19T21:09:46.802447Z","modified_at":"2026-02-19T21:09:46.802447Z","started_at":"2026-02-19T21:09:46.802447Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"9fbdc5b5-234e-4766-b2c3-a9fafe11b40d","name":"Login","status":"operational"}]}]},"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":"17057554-f3a7-4418-8921-2cd6ee66cedf","type":"status_pages"}}}}}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"in_progress_description":"We are currently performing + maintenance on the API to improve performance for 40 minutes.","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes."},"id":"76383ad5-a9b2-4462-8e0a-15d6a1400339","type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: PATCH + uri: https://api.datadoghq.com/api/v2/statuspages/17057554-f3a7-4418-8921-2cd6ee66cedf/maintenances/76383ad5-a9b2-4462-8e0a-15d6a1400339 + response: + body: + string: '{"data":{"id":"76383ad5-a9b2-4462-8e0a-15d6a1400339","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:09:45.868Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"9fbdc5b5-234e-4766-b2c3-a9fafe11b40d","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","modified_at":"2026-02-19T21:09:47.026679Z","published_date":"2026-02-19T21:09:46.802447Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T22:09:45.868Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"57ae2066-09cf-4db6-8652-bd1e02e13508","created_at":"2026-02-19T21:09:46.802447Z","modified_at":"2026-02-19T21:09:46.802447Z","started_at":"2026-02-19T21:09:46.802447Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"9fbdc5b5-234e-4766-b2c3-a9fafe11b40d","name":"Login","status":"operational"}]}]},"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":"17057554-f3a7-4418-8921-2cd6ee66cedf","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/17057554-f3a7-4418-8921-2cd6ee66cedf + 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 index bbf12a2e76..539909b9e5 100644 --- 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 @@ -1 +1 @@ -2026-01-21T21:23:53.747Z \ No newline at end of file +2026-02-19T21:09:47.533Z \ 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 index 2e93ae33a6..ed4df24aae 100644 --- 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 @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"f7d669fd50a8ce89","enabled":true,"name":"A + body: '{"data":{"attributes":{"components":[{"components":[{"name":"Login","position":0,"type":"component"},{"name":"Settings","position":1,"type":"component"}],"name":"Application","type":"group"}],"domain_prefix":"ace1b83708e2910f","enabled":true,"name":"A Status Page","type":"internal","visualization_type":"bars_and_uptime_percentage"},"type":"status_pages"}}' headers: accept: @@ -11,8 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/statuspages response: body: - string: '{"data":{"id":"197028d4-9c5e-420f-acb1-963ae82ebf22","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"8f68e844-d983-473a-84c7-f5a4544ef430","name":"Application","type":"group","position":0,"components":[{"id":"a22c28e9-d717-45b7-bab8-d1cda9349dd4","name":"Login","type":"component","status":"operational","position":0},{"id":"310a77dd-1afd-426d-8e3e-3652da90db23","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:53.873851Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f7d669fd50a8ce89","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:53.873851Z","name":"A - Status Page","page_url":"https://frog.datadoghq.com/status-pages/197028d4-9c5e-420f-acb1-963ae82ebf22/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"}}}}}' + string: '{"data":{"id":"1abc85f9-6c22-4a51-b2b9-afec48f3108b","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"289a6704-9392-43ec-b17a-286772a40c5d","name":"Application","type":"group","position":0,"components":[{"id":"295811f5-87a1-41a5-bd77-05dafe25404a","name":"Login","type":"component","status":"operational","position":0},{"id":"e069c248-3994-4ca6-bcf3-176a45716ed5","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:47.885504Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"ace1b83708e2910f","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:47.885504Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/1abc85f9-6c22-4a51-b2b9-afec48f3108b/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 @@ -20,18 +20,18 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"name":"A Status Page in US1"},"id":"197028d4-9c5e-420f-acb1-963ae82ebf22","type":"status_pages"}}' + body: '{"data":{"attributes":{"name":"A Status Page in US1"},"id":"1abc85f9-6c22-4a51-b2b9-afec48f3108b","type":"status_pages"}}' headers: accept: - application/json content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/statuspages/197028d4-9c5e-420f-acb1-963ae82ebf22 + uri: https://api.datadoghq.com/api/v2/statuspages/1abc85f9-6c22-4a51-b2b9-afec48f3108b response: body: - string: '{"data":{"id":"197028d4-9c5e-420f-acb1-963ae82ebf22","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"8f68e844-d983-473a-84c7-f5a4544ef430","name":"Application","type":"group","position":0,"components":[{"id":"a22c28e9-d717-45b7-bab8-d1cda9349dd4","name":"Login","type":"component","status":"operational","position":0},{"id":"310a77dd-1afd-426d-8e3e-3652da90db23","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-01-21T21:23:53.873851Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"f7d669fd50a8ce89","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-01-21T21:23:54.528957Z","name":"A - Status Page in US1","page_url":"https://frog.datadoghq.com/status-pages/197028d4-9c5e-420f-acb1-963ae82ebf22/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"}}}}}' + string: '{"data":{"id":"1abc85f9-6c22-4a51-b2b9-afec48f3108b","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"289a6704-9392-43ec-b17a-286772a40c5d","name":"Application","type":"group","position":0,"components":[{"id":"295811f5-87a1-41a5-bd77-05dafe25404a","name":"Login","type":"component","status":"operational","position":0},{"id":"e069c248-3994-4ca6-bcf3-176a45716ed5","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:09:47.885504Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"ace1b83708e2910f","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:09:48.515391Z","name":"A + Status Page in US1","page_url":"https://frog.datadoghq.com/status-pages/1abc85f9-6c22-4a51-b2b9-afec48f3108b/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 @@ -44,7 +44,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/statuspages/197028d4-9c5e-420f-acb1-963ae82ebf22 + uri: https://api.datadoghq.com/api/v2/statuspages/1abc85f9-6c22-4a51-b2b9-afec48f3108b response: body: string: '' diff --git a/tests/v2/features/given.json b/tests/v2/features/given.json index 0651545f28..672f982f6d 100644 --- a/tests/v2/features/given.json +++ b/tests/v2/features/given.json @@ -1283,6 +1283,22 @@ "tag": "Status Pages", "operationId": "CreateDegradation" }, + { + "parameters": [ + { + "name": "page_id", + "value": "\"{{ status_page.data.id }}\"" + }, + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"title\": \"API Maintenance\",\n \"scheduled_description\": \"We will be performing maintenance on the API to improve performance.\",\n \"in_progress_description\": \"We are currently performing maintenance on the API to improve performance.\",\n \"completed_description\": \"We have completed maintenance on the API to improve performance.\",\n \"start_date\": \"{{ timeISO('now + 1h') }}\",\n \"completed_date\": \"{{ timeISO('now + 2h') }}\",\n \"components_affected\": [\n {\n \"id\": \"{{ status_page.data.attributes.components[0].components[0].id }}\",\n \"status\": \"operational\"\n }\n ]\n },\n \"type\": \"maintenances\"\n }\n}" + } + ], + "step": "there is a valid \"maintenance\" in the system", + "key": "maintenance", + "tag": "Status Pages", + "operationId": "CreateMaintenance" + }, { "parameters": [ { diff --git a/tests/v2/features/status_pages.feature b/tests/v2/features/status_pages.feature index 35d80dd2fe..2c8dde2b51 100644 --- a/tests/v2/features/status_pages.feature +++ b/tests/v2/features/status_pages.feature @@ -30,6 +30,16 @@ Feature: Status Pages Then the response status is 201 Created And the response "data.attributes.updates" has length 1 + @team:DataDog/incident-app + Scenario: Create maintenance returns "Created" response + Given there is a valid "status_page" in the system + And new "CreateMaintenance" request + And request contains "page_id" parameter from "status_page.data.id" + And body with value {"data": {"attributes": {"title": "API Maintenance", "scheduled_description": "We will be performing maintenance on the API to improve performance.", "in_progress_description": "We are currently performing maintenance on the API to improve performance.", "completed_description": "We have completed maintenance on the API to improve performance.", "start_date": "{{ timeISO('now + 1h') }}", "completed_date": "{{ timeISO('now + 2h') }}", "components_affected": [{"id": "{{ status_page.data.attributes.components[0].components[0].id }}", "status": "operational"}]}, "type": "maintenances"}} + When the request is sent + Then the response status is 201 Created + And the response "data.attributes.updates" has length 1 + @team:DataDog/incident-app Scenario: Create status page returns "Created" response Given new "CreateStatusPage" request @@ -83,6 +93,16 @@ Feature: Status Pages When the request is sent Then the response status is 200 OK + @team:DataDog/incident-app + Scenario: Get maintenance returns "OK" response + Given there is a valid "status_page" in the system + And there is a valid "maintenance" in the system + And new "GetMaintenance" request + And request contains "page_id" parameter from "status_page.data.id" + And request contains "maintenance_id" parameter from "maintenance.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 @@ -107,6 +127,14 @@ Feature: Status Pages When the request is sent Then the response status is 200 OK + @team:DataDog/incident-app + Scenario: List maintenances returns "OK" response + Given there is a valid "status_page" in the system + And there is a valid "maintenance" in the system + And new "ListMaintenances" request + 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 @@ -137,6 +165,17 @@ Feature: Status Pages Then the response status is 200 OK And the response "data.attributes.title" is equal to "Elevated API Latency in US1" + @team:DataDog/incident-app + Scenario: Update maintenance returns "OK" response + Given there is a valid "status_page" in the system + And there is a valid "maintenance" in the system + And new "UpdateMaintenance" request + And request contains "page_id" parameter from "status_page.data.id" + And request contains "maintenance_id" parameter from "maintenance.data.id" + And body with value {"data": {"attributes": {"scheduled_description": "We will be performing maintenance on the API to improve performance for 40 minutes.", "in_progress_description": "We are currently performing maintenance on the API to improve performance for 40 minutes."}, "id": "{{ maintenance.data.id }}", "type": "maintenances"}} + 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 diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index 5389038140..abff78022a 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -5284,6 +5284,12 @@ "type": "safe" } }, + "ListMaintenances": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, "DeleteStatusPage": { "tag": "Status Pages", "undo": { @@ -5378,6 +5384,24 @@ "type": "idempotent" } }, + "CreateMaintenance": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "GetMaintenance": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, + "UpdateMaintenance": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, "GetOnDemandConcurrencyCap": { "tag": "Synthetics", "undo": {