From 33f204b4756a1d4623fd7471c57ebaf2dc72bb37 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 4 Mar 2026 15:59:17 +0000 Subject: [PATCH] Regenerate client from commit 1bc18f9 of spec repo --- .generator/schemas/v2/openapi.yaml | 837 ++++++++++++++++-- docs/datadog_api_client.v2.model.rst | 245 ++++- examples/v2/status-pages/CreateMaintenance.py | 48 + .../CreateMaintenance_2202276054.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 | 22 +- .../v2/model/degradation_data_attributes.py | 10 + .../degradation_data_attributes_source.py | 55 ++ ...degradation_data_attributes_source_type.py | 35 + ...gradation_data_attributes_updates_items.py | 8 + ...ay_included.py => degradation_included.py} | 2 +- .../v2/model/maintenance.py | 58 ++ .../v2/model/maintenance_array.py | 71 ++ .../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 | 41 + ...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 + ...es_response_meta.py => pagination_meta.py} | 12 +- ..._pagination.py => pagination_meta_page.py} | 14 +- ...n_type.py => pagination_meta_page_type.py} | 6 +- .../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 + .../v2/model/status_page_array.py | 10 +- ..._pages_component_data_attributes_status.py | 5 +- ...roup_attributes_components_items_status.py | 7 +- src/datadog_api_client/v2/models/__init__.py | 94 +- ..._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 | 310 +++++++ ...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 | 47 + tests/v2/features/undo.json | 24 + 88 files changed, 4172 insertions(+), 300 deletions(-) create mode 100644 examples/v2/status-pages/CreateMaintenance.py create mode 100644 examples/v2/status-pages/CreateMaintenance_2202276054.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 create mode 100644 src/datadog_api_client/v2/model/degradation_data_attributes_source.py create mode 100644 src/datadog_api_client/v2/model/degradation_data_attributes_source_type.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 rename src/datadog_api_client/v2/model/{status_pages_response_meta.py => pagination_meta.py} (65%) rename src/datadog_api_client/v2/model/{status_pages_pagination.py => pagination_meta_page.py} (88%) rename src/datadog_api_client/v2/model/{status_pages_pagination_type.py => pagination_meta_page_type.py} (78%) 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 cad18a6d52..f920d42bd1 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -15217,6 +15217,87 @@ 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 + 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: @@ -19989,7 +20070,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: @@ -20002,17 +20083,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' + $ref: '#/components/schemas/PaginationMeta' required: - data type: object - DegradationArrayIncluded: - oneOf: - - $ref: '#/components/schemas/StatusPagesUser' - - $ref: '#/components/schemas/StatusPageAsIncluded' DegradationData: properties: attributes: @@ -20047,6 +20124,8 @@ components: description: Timestamp of when the degradation was last modified. format: date-time type: string + source: + $ref: '#/components/schemas/DegradationDataAttributesSource' status: $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' title: @@ -20075,6 +20154,33 @@ components: - id - status type: object + DegradationDataAttributesSource: + description: The source of the degradation. + properties: + created_at: + description: Timestamp of when the source was created. + example: '' + format: date-time + type: string + source_id: + description: The ID of the source. + example: '' + type: string + type: + $ref: '#/components/schemas/DegradationDataAttributesSourceType' + required: + - created_at + - source_id + - type + type: object + DegradationDataAttributesSourceType: + description: The type of the source. + enum: + - incident + example: incident + type: string + x-enum-varnames: + - INCIDENT DegradationDataAttributesUpdatesItems: properties: components_affected: @@ -20100,6 +20206,10 @@ components: format: date-time readOnly: true type: string + started_at: + description: Timestamp of when the update started. + format: date-time + type: string status: $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' type: object @@ -20192,6 +20302,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: @@ -36955,6 +37069,251 @@ 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 + type: string + x-enum-varnames: + - SCHEDULED + - IN_PROGRESS + - COMPLETED + 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: + description: Whether the update was applied manually by a user (true) or + automatically by the system (false). + 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: + description: The ID of the Datadog user who created the maintenance. + 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: + description: The ID of the Datadog user who last modified the maintenance. + 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: + description: The ID of the status page. + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object MemberTeam: description: A member team properties: @@ -46755,6 +47114,80 @@ components: format: int64 type: integer type: object + PaginationMeta: + description: Response metadata. + properties: + page: + $ref: '#/components/schemas/PaginationMetaPage' + readOnly: true + type: object + PaginationMetaPage: + description: Offset-based pagination schema. + example: + first_offset: 0 + last_offset: 900 + limit: 100 + next_offset: 100 + offset: 0 + prev_offset: 100 + total: 1000 + type: offset_limit + properties: + first_offset: + description: Integer representing the offset to fetch the first page of + results. + example: 0 + format: int64 + type: integer + last_offset: + description: Integer representing the offset to fetch the last page of results. + example: 900 + format: int64 + nullable: true + type: integer + limit: + description: Integer representing the number of elements to be returned + in the results. + example: 100 + format: int64 + type: integer + next_offset: + description: Integer representing the index of the first element in the + next page of results. Equal to page size added to the current offset. + example: 100 + format: int64 + nullable: true + type: integer + offset: + description: Integer representing the index of the first element in the + results. + example: 0 + format: int64 + type: integer + prev_offset: + description: Integer representing the index of the first element in the + previous page of results. + example: 100 + format: int64 + nullable: true + type: integer + total: + description: Integer representing the total number of elements available. + example: 1000 + format: int64 + nullable: true + type: integer + type: + $ref: '#/components/schemas/PaginationMetaPageType' + type: object + PaginationMetaPageType: + default: offset_limit + enum: + - offset_limit + example: offset_limit + type: string + x-enum-varnames: + - OFFSET_LIMIT Parameter: description: The definition of `Parameter` object. properties: @@ -47062,6 +47495,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: API Maintenance + id: 1234abcd-12ab-34cd-56ef-123456abcdef + 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: @@ -63047,7 +63581,7 @@ components: $ref: '#/components/schemas/StatusPageArrayIncluded' type: array meta: - $ref: '#/components/schemas/StatusPagesResponseMeta' + $ref: '#/components/schemas/PaginationMeta' required: - data type: object @@ -63486,6 +64020,7 @@ components: - degraded - partial_outage - major_outage + - maintenance example: operational type: string x-enum-varnames: @@ -63493,6 +64028,7 @@ components: - DEGRADED - PARTIAL_OUTAGE - MAJOR_OUTAGE + - MAINTENANCE StatusPagesComponentDataRelationships: description: The relationships of a component. properties: @@ -63662,6 +64198,7 @@ components: - degraded - partial_outage - major_outage + - maintenance readOnly: true type: string x-enum-varnames: @@ -63669,6 +64206,7 @@ components: - DEGRADED - PARTIAL_OUTAGE - MAJOR_OUTAGE + - MAINTENANCE StatusPagesComponentGroupAttributesComponentsItemsType: description: The type of the component. enum: @@ -63781,71 +64319,6 @@ components: type: string x-enum-varnames: - COMPONENTS - StatusPagesPagination: - description: Offset-based pagination schema. - properties: - first_offset: - description: Integer representing the offset to fetch the first page of - results. - example: 0 - format: int64 - type: integer - last_offset: - description: Integer representing the offset to fetch the last page of results. - example: 900 - format: int64 - nullable: true - type: integer - limit: - description: Integer representing the number of elements to returned in - the results. - example: 100 - format: int64 - type: integer - next_offset: - description: Integer representing the index of the first element in the - next page of results. Equal to page size added to the current offset. - example: 100 - format: int64 - nullable: true - type: integer - offset: - description: Integer representing the index of the first element in the - results. - example: 0 - format: int64 - type: integer - prev_offset: - description: Integer representing the index of the first element in the - previous page of results. - example: 100 - format: int64 - nullable: true - type: integer - total: - description: Integer representing the total number of elements available. - example: 1000 - format: int64 - nullable: true - type: integer - type: - $ref: '#/components/schemas/StatusPagesPaginationType' - type: object - StatusPagesPaginationType: - default: offset_limit - enum: - - offset_limit - example: offset_limit - type: string - x-enum-varnames: - - OFFSET_LIMIT - StatusPagesResponseMeta: - description: Response metadata. - properties: - page: - $ref: '#/components/schemas/StatusPagesPagination' - readOnly: true - type: object StatusPagesUser: description: The included Datadog user resource. properties: @@ -103192,6 +103665,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: @@ -103212,6 +103691,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.' + 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. @@ -103740,6 +104280,157 @@ paths: operator: AND permissions: - status_pages_incident_write + /api/v2/statuspages/{page_id}/maintenances: + post: + description: Schedules 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: Schedule 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 deb71c283a..500ef38958 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -6171,6 +6171,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 ------------------------------------------------------------------------------ @@ -7879,13 +7907,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 ------------------------------------------------------ @@ -7907,6 +7928,20 @@ datadog\_api\_client.v2.model.degradation\_data\_attributes\_components\_affecte :members: :show-inheritance: +datadog\_api\_client.v2.model.degradation\_data\_attributes\_source module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes_source + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.degradation\_data\_attributes\_source\_type module +-------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.degradation_data_attributes_source_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.degradation\_data\_attributes\_updates\_items module ---------------------------------------------------------------------------------- @@ -7970,6 +8005,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 ---------------------------------------------------------- @@ -15964,6 +16006,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 ------------------------------------------------- @@ -20206,6 +20353,27 @@ 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.pagination\_meta\_page\_type module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.pagination_meta_page_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.parameter module ---------------------------------------------- @@ -20346,6 +20514,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 -------------------------------------------------------------------------- @@ -27955,27 +28165,6 @@ datadog\_api\_client.v2.model.status\_pages\_component\_group\_type module :members: :show-inheritance: -datadog\_api\_client.v2.model.status\_pages\_pagination module --------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.status_pages_pagination - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.status\_pages\_pagination\_type module --------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.status_pages_pagination_type - :members: - :show-inheritance: - -datadog\_api\_client.v2.model.status\_pages\_response\_meta module ------------------------------------------------------------------- - -.. automodule:: datadog_api_client.v2.model.status_pages_response_meta - :members: - :show-inheritance: - datadog\_api\_client.v2.model.status\_pages\_user module -------------------------------------------------------- diff --git a/examples/v2/status-pages/CreateMaintenance.py b/examples/v2/status-pages/CreateMaintenance.py new file mode 100644 index 0000000000..9adef4a451 --- /dev/null +++ b/examples/v2/status-pages/CreateMaintenance.py @@ -0,0 +1,48 @@ +""" +Schedule maintenance returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.create_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 +from datetime import datetime +from dateutil.tz import tzutc +from uuid import UUID + +body = CreateMaintenanceRequest( + data=CreateMaintenanceRequestData( + attributes=CreateMaintenanceRequestDataAttributes( + completed_date=datetime(2026, 2, 18, 19, 51, 13, 332360, tzinfo=tzutc()), + completed_description="We have completed maintenance on the API to improve performance.", + components_affected=[ + CreateMaintenanceRequestDataAttributesComponentsAffectedItems( + id=UUID("1234abcd-12ab-34cd-56ef-123456abcdef"), + status=PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus.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=datetime(2026, 2, 18, 19, 21, 13, 332360, tzinfo=tzutc()), + title="API Maintenance", + ), + type=PatchMaintenanceRequestDataType.MAINTENANCES, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.create_maintenance(page_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body) + + print(response) diff --git a/examples/v2/status-pages/CreateMaintenance_2202276054.py b/examples/v2/status-pages/CreateMaintenance_2202276054.py new file mode 100644 index 0000000000..907000ac93 --- /dev/null +++ b/examples/v2/status-pages/CreateMaintenance_2202276054.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..b942be25e5 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: + """Schedule maintenance. + + Schedules 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. + :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..bfd3787fb3 100644 --- a/src/datadog_api_client/v2/model/degradation_array.py +++ b/src/datadog_api_client/v2/model/degradation_array.py @@ -15,8 +15,8 @@ if TYPE_CHECKING: from datadog_api_client.v2.model.degradation_data import DegradationData - from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded - from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta + 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 @@ -25,13 +25,13 @@ 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.status_pages_response_meta import StatusPagesResponseMeta + from datadog_api_client.v2.model.degradation_included import DegradationIncluded + from datadog_api_client.v2.model.pagination_meta import PaginationMeta return { "data": ([DegradationData],), - "included": ([DegradationArrayIncluded],), - "meta": (StatusPagesResponseMeta,), + "included": ([DegradationIncluded],), + "meta": (PaginationMeta,), } attribute_map = { @@ -46,10 +46,8 @@ def openapi_types(_): def __init__( self_, data: List[DegradationData], - included: Union[ - List[Union[DegradationArrayIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType - ] = unset, - meta: Union[StatusPagesResponseMeta, UnsetType] = unset, + included: Union[List[Union[DegradationIncluded, StatusPagesUser, StatusPageAsIncluded]], UnsetType] = unset, + meta: Union[PaginationMeta, UnsetType] = unset, **kwargs, ): """ @@ -59,10 +57,10 @@ 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 + :type meta: PaginationMeta, optional """ if included is not unset: kwargs["included"] = included diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes.py b/src/datadog_api_client/v2/model/degradation_data_attributes.py index b781b9ad5b..6e6b3a4e35 100644 --- a/src/datadog_api_client/v2/model/degradation_data_attributes.py +++ b/src/datadog_api_client/v2/model/degradation_data_attributes.py @@ -18,6 +18,7 @@ from datadog_api_client.v2.model.degradation_data_attributes_components_affected_items import ( DegradationDataAttributesComponentsAffectedItems, ) + from datadog_api_client.v2.model.degradation_data_attributes_source import DegradationDataAttributesSource from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( CreateDegradationRequestDataAttributesStatus, ) @@ -32,6 +33,7 @@ def openapi_types(_): from datadog_api_client.v2.model.degradation_data_attributes_components_affected_items import ( DegradationDataAttributesComponentsAffectedItems, ) + from datadog_api_client.v2.model.degradation_data_attributes_source import DegradationDataAttributesSource from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import ( CreateDegradationRequestDataAttributesStatus, ) @@ -44,6 +46,7 @@ def openapi_types(_): "created_at": (datetime,), "description": (str,), "modified_at": (datetime,), + "source": (DegradationDataAttributesSource,), "status": (CreateDegradationRequestDataAttributesStatus,), "title": (str,), "updates": ([DegradationDataAttributesUpdatesItems],), @@ -54,6 +57,7 @@ def openapi_types(_): "created_at": "created_at", "description": "description", "modified_at": "modified_at", + "source": "source", "status": "status", "title": "title", "updates": "updates", @@ -65,6 +69,7 @@ def __init__( created_at: Union[datetime, UnsetType] = unset, description: Union[str, UnsetType] = unset, modified_at: Union[datetime, UnsetType] = unset, + source: Union[DegradationDataAttributesSource, UnsetType] = unset, status: Union[CreateDegradationRequestDataAttributesStatus, UnsetType] = unset, title: Union[str, UnsetType] = unset, updates: Union[List[DegradationDataAttributesUpdatesItems], UnsetType] = unset, @@ -85,6 +90,9 @@ def __init__( :param modified_at: Timestamp of when the degradation was last modified. :type modified_at: datetime, optional + :param source: The source of the degradation. + :type source: DegradationDataAttributesSource, optional + :param status: The status of the degradation. :type status: CreateDegradationRequestDataAttributesStatus, optional @@ -102,6 +110,8 @@ def __init__( kwargs["description"] = description if modified_at is not unset: kwargs["modified_at"] = modified_at + if source is not unset: + kwargs["source"] = source if status is not unset: kwargs["status"] = status if title is not unset: diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_source.py b/src/datadog_api_client/v2/model/degradation_data_attributes_source.py new file mode 100644 index 0000000000..ac15d11388 --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_source.py @@ -0,0 +1,55 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.degradation_data_attributes_source_type import DegradationDataAttributesSourceType + + +class DegradationDataAttributesSource(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.degradation_data_attributes_source_type import ( + DegradationDataAttributesSourceType, + ) + + return { + "created_at": (datetime,), + "source_id": (str,), + "type": (DegradationDataAttributesSourceType,), + } + + attribute_map = { + "created_at": "created_at", + "source_id": "source_id", + "type": "type", + } + + def __init__(self_, created_at: datetime, source_id: str, type: DegradationDataAttributesSourceType, **kwargs): + """ + The source of the degradation. + + :param created_at: Timestamp of when the source was created. + :type created_at: datetime + + :param source_id: The ID of the source. + :type source_id: str + + :param type: The type of the source. + :type type: DegradationDataAttributesSourceType + """ + super().__init__(kwargs) + + self_.created_at = created_at + self_.source_id = source_id + self_.type = type diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_source_type.py b/src/datadog_api_client/v2/model/degradation_data_attributes_source_type.py new file mode 100644 index 0000000000..b7c7f77c9b --- /dev/null +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_source_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 DegradationDataAttributesSourceType(ModelSimple): + """ + The type of the source. + + :param value: If omitted defaults to "incident". Must be one of ["incident"]. + :type value: str + """ + + allowed_values = { + "incident", + } + INCIDENT: ClassVar["DegradationDataAttributesSourceType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +DegradationDataAttributesSourceType.INCIDENT = DegradationDataAttributesSourceType("incident") diff --git a/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py index 3049bf8c56..bf10131591 100644 --- a/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py +++ b/src/datadog_api_client/v2/model/degradation_data_attributes_updates_items.py @@ -40,6 +40,7 @@ def openapi_types(_): "description": (str,), "id": (UUID,), "modified_at": (datetime,), + "started_at": (datetime,), "status": (CreateDegradationRequestDataAttributesStatus,), } @@ -49,6 +50,7 @@ def openapi_types(_): "description": "description", "id": "id", "modified_at": "modified_at", + "started_at": "started_at", "status": "status", } read_only_vars = { @@ -66,6 +68,7 @@ def __init__( description: Union[str, UnsetType] = unset, id: Union[UUID, UnsetType] = unset, modified_at: Union[datetime, UnsetType] = unset, + started_at: Union[datetime, UnsetType] = unset, status: Union[CreateDegradationRequestDataAttributesStatus, UnsetType] = unset, **kwargs, ): @@ -87,6 +90,9 @@ def __init__( :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 degradation. :type status: CreateDegradationRequestDataAttributesStatus, optional """ @@ -100,6 +106,8 @@ def __init__( kwargs["id"] = id if modified_at is not unset: kwargs["modified_at"] = modified_at + if started_at is not unset: + kwargs["started_at"] = started_at if status is not unset: kwargs["status"] = status super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/degradation_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..c304e393ad --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_array.py @@ -0,0 +1,71 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import 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", + } + read_only_vars = { + "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: Response metadata. + :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..30dc538843 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_data_attributes_status.py @@ -0,0 +1,41 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class MaintenanceDataAttributesStatus(ModelSimple): + """ + The status of the maintenance. + + :param value: Must be one of ["scheduled", "in_progress", "completed"]. + :type value: str + """ + + allowed_values = { + "scheduled", + "in_progress", + "completed", + } + SCHEDULED: ClassVar["MaintenanceDataAttributesStatus"] + IN_PROGRESS: ClassVar["MaintenanceDataAttributesStatus"] + COMPLETED: ClassVar["MaintenanceDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +MaintenanceDataAttributesStatus.SCHEDULED = MaintenanceDataAttributesStatus("scheduled") +MaintenanceDataAttributesStatus.IN_PROGRESS = MaintenanceDataAttributesStatus("in_progress") +MaintenanceDataAttributesStatus.COMPLETED = MaintenanceDataAttributesStatus("completed") 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..8157c8ae2f --- /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: Whether the update was applied manually by a user (true) or automatically by the system (false). + :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..91a69cc885 --- /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: The ID of the Datadog user who created the maintenance. + :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..c18eda1ccf --- /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: The ID of the Datadog user who last modified the maintenance. + :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..5a14cc45ea --- /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: The ID of the status page. + :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/status_pages_response_meta.py b/src/datadog_api_client/v2/model/pagination_meta.py similarity index 65% rename from src/datadog_api_client/v2/model/status_pages_response_meta.py rename to src/datadog_api_client/v2/model/pagination_meta.py index 9eec12707c..859bd22987 100644 --- a/src/datadog_api_client/v2/model/status_pages_response_meta.py +++ b/src/datadog_api_client/v2/model/pagination_meta.py @@ -14,28 +14,28 @@ if TYPE_CHECKING: - from datadog_api_client.v2.model.status_pages_pagination import StatusPagesPagination + from datadog_api_client.v2.model.pagination_meta_page import PaginationMetaPage -class StatusPagesResponseMeta(ModelNormal): +class PaginationMeta(ModelNormal): @cached_property def openapi_types(_): - from datadog_api_client.v2.model.status_pages_pagination import StatusPagesPagination + from datadog_api_client.v2.model.pagination_meta_page import PaginationMetaPage return { - "page": (StatusPagesPagination,), + "page": (PaginationMetaPage,), } attribute_map = { "page": "page", } - def __init__(self_, page: Union[StatusPagesPagination, UnsetType] = unset, **kwargs): + def __init__(self_, page: Union[PaginationMetaPage, UnsetType] = unset, **kwargs): """ Response metadata. :param page: Offset-based pagination schema. - :type page: StatusPagesPagination, optional + :type page: PaginationMetaPage, optional """ if page is not unset: kwargs["page"] = page diff --git a/src/datadog_api_client/v2/model/status_pages_pagination.py b/src/datadog_api_client/v2/model/pagination_meta_page.py similarity index 88% rename from src/datadog_api_client/v2/model/status_pages_pagination.py rename to src/datadog_api_client/v2/model/pagination_meta_page.py index c02fc334eb..eb3f7053fa 100644 --- a/src/datadog_api_client/v2/model/status_pages_pagination.py +++ b/src/datadog_api_client/v2/model/pagination_meta_page.py @@ -15,13 +15,13 @@ if TYPE_CHECKING: - from datadog_api_client.v2.model.status_pages_pagination_type import StatusPagesPaginationType + from datadog_api_client.v2.model.pagination_meta_page_type import PaginationMetaPageType -class StatusPagesPagination(ModelNormal): +class PaginationMetaPage(ModelNormal): @cached_property def openapi_types(_): - from datadog_api_client.v2.model.status_pages_pagination_type import StatusPagesPaginationType + from datadog_api_client.v2.model.pagination_meta_page_type import PaginationMetaPageType return { "first_offset": (int,), @@ -31,7 +31,7 @@ def openapi_types(_): "offset": (int,), "prev_offset": (int, none_type), "total": (int, none_type), - "type": (StatusPagesPaginationType,), + "type": (PaginationMetaPageType,), } attribute_map = { @@ -54,7 +54,7 @@ def __init__( offset: Union[int, UnsetType] = unset, prev_offset: Union[int, none_type, UnsetType] = unset, total: Union[int, none_type, UnsetType] = unset, - type: Union[StatusPagesPaginationType, UnsetType] = unset, + type: Union[PaginationMetaPageType, UnsetType] = unset, **kwargs, ): """ @@ -66,7 +66,7 @@ def __init__( :param last_offset: Integer representing the offset to fetch the last page of results. :type last_offset: int, none_type, optional - :param limit: Integer representing the number of elements to returned in the results. + :param limit: Integer representing the number of elements to be returned in the results. :type limit: int, optional :param next_offset: Integer representing the index of the first element in the next page of results. Equal to page size added to the current offset. @@ -82,7 +82,7 @@ def __init__( :type total: int, none_type, optional :param type: - :type type: StatusPagesPaginationType, optional + :type type: PaginationMetaPageType, optional """ if first_offset is not unset: kwargs["first_offset"] = first_offset diff --git a/src/datadog_api_client/v2/model/status_pages_pagination_type.py b/src/datadog_api_client/v2/model/pagination_meta_page_type.py similarity index 78% rename from src/datadog_api_client/v2/model/status_pages_pagination_type.py rename to src/datadog_api_client/v2/model/pagination_meta_page_type.py index 4bf279d520..3780edc32f 100644 --- a/src/datadog_api_client/v2/model/status_pages_pagination_type.py +++ b/src/datadog_api_client/v2/model/pagination_meta_page_type.py @@ -12,7 +12,7 @@ from typing import ClassVar -class StatusPagesPaginationType(ModelSimple): +class PaginationMetaPageType(ModelSimple): """ @@ -23,7 +23,7 @@ class StatusPagesPaginationType(ModelSimple): allowed_values = { "offset_limit", } - OFFSET_LIMIT: ClassVar["StatusPagesPaginationType"] + OFFSET_LIMIT: ClassVar["PaginationMetaPageType"] @cached_property def openapi_types(_): @@ -32,4 +32,4 @@ def openapi_types(_): } -StatusPagesPaginationType.OFFSET_LIMIT = StatusPagesPaginationType("offset_limit") +PaginationMetaPageType.OFFSET_LIMIT = PaginationMetaPageType("offset_limit") 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/model/status_page_array.py b/src/datadog_api_client/v2/model/status_page_array.py index 86ac06af89..460eda5303 100644 --- a/src/datadog_api_client/v2/model/status_page_array.py +++ b/src/datadog_api_client/v2/model/status_page_array.py @@ -16,7 +16,7 @@ if TYPE_CHECKING: from datadog_api_client.v2.model.status_page_data import StatusPageData from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded - from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta + from datadog_api_client.v2.model.pagination_meta import PaginationMeta from datadog_api_client.v2.model.status_pages_user import StatusPagesUser @@ -25,12 +25,12 @@ class StatusPageArray(ModelNormal): def openapi_types(_): from datadog_api_client.v2.model.status_page_data import StatusPageData from datadog_api_client.v2.model.status_page_array_included import StatusPageArrayIncluded - from datadog_api_client.v2.model.status_pages_response_meta import StatusPagesResponseMeta + from datadog_api_client.v2.model.pagination_meta import PaginationMeta return { "data": ([StatusPageData],), "included": ([StatusPageArrayIncluded],), - "meta": (StatusPagesResponseMeta,), + "meta": (PaginationMeta,), } attribute_map = { @@ -46,7 +46,7 @@ def __init__( self_, data: List[StatusPageData], included: Union[List[Union[StatusPageArrayIncluded, StatusPagesUser]], UnsetType] = unset, - meta: Union[StatusPagesResponseMeta, UnsetType] = unset, + meta: Union[PaginationMeta, UnsetType] = unset, **kwargs, ): """ @@ -59,7 +59,7 @@ def __init__( :type included: [StatusPageArrayIncluded], optional :param meta: Response metadata. - :type meta: StatusPagesResponseMeta, optional + :type meta: PaginationMeta, optional """ if included is not unset: kwargs["included"] = included diff --git a/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py index 80af37bf30..c4870ddb90 100644 --- a/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py +++ b/src/datadog_api_client/v2/model/status_pages_component_data_attributes_status.py @@ -16,7 +16,7 @@ class StatusPagesComponentDataAttributesStatus(ModelSimple): """ The status of the component. - :param value: Must be one of ["operational", "degraded", "partial_outage", "major_outage"]. + :param value: Must be one of ["operational", "degraded", "partial_outage", "major_outage", "maintenance"]. :type value: str """ @@ -25,11 +25,13 @@ class StatusPagesComponentDataAttributesStatus(ModelSimple): "degraded", "partial_outage", "major_outage", + "maintenance", } OPERATIONAL: ClassVar["StatusPagesComponentDataAttributesStatus"] DEGRADED: ClassVar["StatusPagesComponentDataAttributesStatus"] PARTIAL_OUTAGE: ClassVar["StatusPagesComponentDataAttributesStatus"] MAJOR_OUTAGE: ClassVar["StatusPagesComponentDataAttributesStatus"] + MAINTENANCE: ClassVar["StatusPagesComponentDataAttributesStatus"] @cached_property def openapi_types(_): @@ -42,3 +44,4 @@ def openapi_types(_): StatusPagesComponentDataAttributesStatus.DEGRADED = StatusPagesComponentDataAttributesStatus("degraded") StatusPagesComponentDataAttributesStatus.PARTIAL_OUTAGE = StatusPagesComponentDataAttributesStatus("partial_outage") StatusPagesComponentDataAttributesStatus.MAJOR_OUTAGE = StatusPagesComponentDataAttributesStatus("major_outage") +StatusPagesComponentDataAttributesStatus.MAINTENANCE = StatusPagesComponentDataAttributesStatus("maintenance") diff --git a/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py index 43fb19b028..2017463042 100644 --- a/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py +++ b/src/datadog_api_client/v2/model/status_pages_component_group_attributes_components_items_status.py @@ -16,7 +16,7 @@ class StatusPagesComponentGroupAttributesComponentsItemsStatus(ModelSimple): """ The status of the component. - :param value: Must be one of ["operational", "degraded", "partial_outage", "major_outage"]. + :param value: Must be one of ["operational", "degraded", "partial_outage", "major_outage", "maintenance"]. :type value: str """ @@ -25,11 +25,13 @@ class StatusPagesComponentGroupAttributesComponentsItemsStatus(ModelSimple): "degraded", "partial_outage", "major_outage", + "maintenance", } OPERATIONAL: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] DEGRADED: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] PARTIAL_OUTAGE: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] MAJOR_OUTAGE: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] + MAINTENANCE: ClassVar["StatusPagesComponentGroupAttributesComponentsItemsStatus"] @cached_property def openapi_types(_): @@ -50,3 +52,6 @@ def openapi_types(_): StatusPagesComponentGroupAttributesComponentsItemsStatus.MAJOR_OUTAGE = ( StatusPagesComponentGroupAttributesComponentsItemsStatus("major_outage") ) +StatusPagesComponentGroupAttributesComponentsItemsStatus.MAINTENANCE = ( + StatusPagesComponentGroupAttributesComponentsItemsStatus("maintenance") +) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index f96bb1ec98..dd7cfee896 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -1184,6 +1184,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 @@ -1593,12 +1601,13 @@ from datadog_api_client.v2.model.datastore_trigger_wrapper import DatastoreTriggerWrapper from datadog_api_client.v2.model.degradation import Degradation from datadog_api_client.v2.model.degradation_array import DegradationArray -from datadog_api_client.v2.model.degradation_array_included import DegradationArrayIncluded from datadog_api_client.v2.model.degradation_data import DegradationData from datadog_api_client.v2.model.degradation_data_attributes import DegradationDataAttributes from datadog_api_client.v2.model.degradation_data_attributes_components_affected_items import ( DegradationDataAttributesComponentsAffectedItems, ) +from datadog_api_client.v2.model.degradation_data_attributes_source import DegradationDataAttributesSource +from datadog_api_client.v2.model.degradation_data_attributes_source_type import DegradationDataAttributesSourceType from datadog_api_client.v2.model.degradation_data_attributes_updates_items import DegradationDataAttributesUpdatesItems from datadog_api_client.v2.model.degradation_data_attributes_updates_items_components_affected_items import ( DegradationDataAttributesUpdatesItemsComponentsAffectedItems, @@ -1622,6 +1631,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 @@ -2987,6 +2997,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 @@ -4140,6 +4181,9 @@ 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.pagination_meta_page_type import PaginationMetaPageType 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 @@ -4168,6 +4212,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 ( @@ -5690,9 +5744,6 @@ StatusPagesComponentGroupRelationshipsStatusPageData, ) from datadog_api_client.v2.model.status_pages_component_group_type import StatusPagesComponentGroupType -from datadog_api_client.v2.model.status_pages_pagination import StatusPagesPagination -from datadog_api_client.v2.model.status_pages_pagination_type import StatusPagesPaginationType -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_pages_user_attributes import StatusPagesUserAttributes from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType @@ -7170,6 +7221,10 @@ "CreateJiraIssueRequestData", "CreateJiraIssueRequestDataAttributes", "CreateJiraIssueRequestDataRelationships", + "CreateMaintenanceRequest", + "CreateMaintenanceRequestData", + "CreateMaintenanceRequestDataAttributes", + "CreateMaintenanceRequestDataAttributesComponentsAffectedItems", "CreateNotificationChannelAttributes", "CreateNotificationChannelConfig", "CreateNotificationChannelData", @@ -7447,10 +7502,11 @@ "DatastoreTriggerWrapper", "Degradation", "DegradationArray", - "DegradationArrayIncluded", "DegradationData", "DegradationDataAttributes", "DegradationDataAttributesComponentsAffectedItems", + "DegradationDataAttributesSource", + "DegradationDataAttributesSourceType", "DegradationDataAttributesUpdatesItems", "DegradationDataAttributesUpdatesItemsComponentsAffectedItems", "DegradationDataRelationships", @@ -7460,6 +7516,7 @@ "DegradationDataRelationshipsLastModifiedByUserData", "DegradationDataRelationshipsStatusPage", "DegradationDataRelationshipsStatusPageData", + "DegradationIncluded", "DeleteAppResponse", "DeleteAppResponseData", "DeleteAppsDatastoreItemRequest", @@ -8571,6 +8628,21 @@ "LogsWarning", "MSTeamsIntegrationMetadata", "MSTeamsIntegrationMetadataTeamsItem", + "Maintenance", + "MaintenanceArray", + "MaintenanceData", + "MaintenanceDataAttributes", + "MaintenanceDataAttributesComponentsAffectedItems", + "MaintenanceDataAttributesStatus", + "MaintenanceDataAttributesUpdatesItems", + "MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems", + "MaintenanceDataRelationships", + "MaintenanceDataRelationshipsCreatedByUser", + "MaintenanceDataRelationshipsCreatedByUserData", + "MaintenanceDataRelationshipsLastModifiedByUser", + "MaintenanceDataRelationshipsLastModifiedByUserData", + "MaintenanceDataRelationshipsStatusPage", + "MaintenanceDataRelationshipsStatusPageData", "MemberTeam", "MemberTeamType", "Metadata", @@ -9176,6 +9248,9 @@ "OutputSchemaParametersType", "PageUrgency", "Pagination", + "PaginationMeta", + "PaginationMetaPage", + "PaginationMetaPageType", "Parameter", "PartialAPIKey", "PartialAPIKeyAttributes", @@ -9196,6 +9271,12 @@ "PatchDegradationRequestDataAttributesStatus", "PatchDegradationRequestDataType", "PatchIncidentNotificationTemplateRequest", + "PatchMaintenanceRequest", + "PatchMaintenanceRequestData", + "PatchMaintenanceRequestDataAttributes", + "PatchMaintenanceRequestDataAttributesComponentsAffectedItems", + "PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus", + "PatchMaintenanceRequestDataType", "PatchNotificationRuleParameters", "PatchNotificationRuleParametersData", "PatchNotificationRuleParametersDataAttributes", @@ -10288,9 +10369,6 @@ "StatusPagesComponentGroupRelationshipsStatusPage", "StatusPagesComponentGroupRelationshipsStatusPageData", "StatusPagesComponentGroupType", - "StatusPagesPagination", - "StatusPagesPaginationType", - "StatusPagesResponseMeta", "StatusPagesUser", "StatusPagesUserAttributes", "StatusPagesUserType", 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..8f678f2dbe 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-24T17:00:35.997Z \ 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..9333f12c8b 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":"df531f11f71a2e23","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":"3483924e-54de-4b7f-9177-56f224f8c6e6","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"d03bffa2-720c-4f82-871e-3f1599d38089","name":"Application","type":"group","position":0,"components":[{"id":"6fe382cb-5309-49bf-b56b-c9921a7d8153","name":"Login","type":"component","status":"operational","position":0},{"id":"b8a9ac5d-2470-4c43-b90d-817ba996822c","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:36.165599Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"df531f11f71a2e23","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:36.165599Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/3483924e-54de-4b7f-9177-56f224f8c6e6/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/3483924e-54de-4b7f-9177-56f224f8c6e6/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":"060dba63-7f63-4d0f-9278-aecabc6f9c30","type":"components","attributes":{"created_at":"2026-02-24T17:00:36.79986Z","modified_at":"2026-02-24T17:00:36.79986Z","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":"3483924e-54de-4b7f-9177-56f224f8c6e6","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/3483924e-54de-4b7f-9177-56f224f8c6e6/components/060dba63-7f63-4d0f-9278-aecabc6f9c30 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/3483924e-54de-4b7f-9177-56f224f8c6e6 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..c66cc9f8a5 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-24T17:00:37.682Z \ 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..0ae6ba4e42 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":"b1d19e0dbe588b0a","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":"a86d9d70-4879-411d-9690-c9887c7b7d55","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"f3f5c039-10f7-4a11-a3bc-c6c84fed4e15","name":"Application","type":"group","position":0,"components":[{"id":"e2599d98-53df-4bff-addb-61ef4f07d5ca","name":"Login","type":"component","status":"operational","position":0},{"id":"1c5904fb-16f8-4be8-ae85-b426908e324a","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:37.855421Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"b1d19e0dbe588b0a","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:37.855421Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/a86d9d70-4879-411d-9690-c9887c7b7d55/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":"e2599d98-53df-4bff-addb-61ef4f07d5ca","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/a86d9d70-4879-411d-9690-c9887c7b7d55/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":"124bcf90-cf17-4c2a-81b8-089b419fc384","type":"degradations","attributes":{"components_affected":[{"id":"e2599d98-53df-4bff-addb-61ef4f07d5ca","name":"Login","status":"major_outage"}],"created_at":"2026-02-24T17:00:39.142715Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-24T17:00:39.142715Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"7d3f2ccb-619c-428a-ba44-fb91aa290211","created_at":"2026-02-24T17:00:39.142715Z","modified_at":"2026-02-24T17:00:39.142715Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"e2599d98-53df-4bff-addb-61ef4f07d5ca","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":"a86d9d70-4879-411d-9690-c9887c7b7d55","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/a86d9d70-4879-411d-9690-c9887c7b7d55/degradations/124bcf90-cf17-4c2a-81b8-089b419fc384 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/a86d9d70-4879-411d-9690-c9887c7b7d55 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..8574777f1a --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_create_maintenance_returns_created_response.frozen @@ -0,0 +1 @@ +2026-02-24T17:00:40.396Z \ 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..f91f7bdc3c --- /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":"8e5ffe347d1751cc","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":"bb1ed843-423e-4577-bf20-b904ddc3b28b","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"32226fbd-8de2-4786-91f6-86dddc2e59f6","name":"Application","type":"group","position":0,"components":[{"id":"b0c6ef86-fc2e-4b1c-ad79-c71abdf9764c","name":"Login","type":"component","status":"operational","position":0},{"id":"6c7b103c-d834-42f8-9646-63c842bf3005","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:40.572564Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"8e5ffe347d1751cc","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:40.572564Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/bb1ed843-423e-4577-bf20-b904ddc3b28b/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-24T19:00:40.396Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"b0c6ef86-fc2e-4b1c-ad79-c71abdf9764c","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-24T18:00:40.396Z","title":"API + Maintenance"},"type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/bb1ed843-423e-4577-bf20-b904ddc3b28b/maintenances + response: + body: + string: '{"data":{"id":"245cefbb-b4dc-49a0-aeac-1a0be682399f","type":"maintenances","attributes":{"completed_date":"2026-02-24T19:00:40.396Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"b0c6ef86-fc2e-4b1c-ad79-c71abdf9764c","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-24T17:00:41.347226Z","published_date":"2026-02-24T17:00:41.347226Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-24T18:00:40.396Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"a166b22f-dc12-4e94-82ae-46c8b969484f","created_at":"2026-02-24T17:00:41.347226Z","modified_at":"2026-02-24T17:00:41.347226Z","started_at":"2026-02-24T17:00:41.347226Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"b0c6ef86-fc2e-4b1c-ad79-c71abdf9764c","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":"bb1ed843-423e-4577-bf20-b904ddc3b28b","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/bb1ed843-423e-4577-bf20-b904ddc3b28b + 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..96ef50a180 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-24T17:00:42.403Z \ 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..2e6defab06 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":"d579fbd5fd5aa108","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":"9de0c787-c9ad-4f5d-b9d1-ec67791d7b22","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"fe44d53f-3411-4bd0-b5d3-df10d1fa4f52","name":"Login","type":"component","status":"operational","position":0},{"id":"ba4c1000-398f-4fd9-8594-82ad0b3be9e3","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-02-24T17:00:42.565108Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"d579fbd5fd5aa108","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:42.565108Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/9de0c787-c9ad-4f5d-b9d1-ec67791d7b22/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/9de0c787-c9ad-4f5d-b9d1-ec67791d7b22 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..c37e85d764 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-24T17:00:43.840Z \ 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..cba333a70e 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":"a48fef969e3afb8e","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":"4cf573f8-ff26-4341-ac7a-420666af5d24","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"a8afd2dd-96bc-4f57-b445-9b92eb1b0a11","name":"Application","type":"group","position":0,"components":[{"id":"035ec25d-e999-4ab2-a7ce-cc49847dfd17","name":"Login","type":"component","status":"operational","position":0},{"id":"8c607c78-9856-421b-9f78-5a241f59e8b3","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:44.021412Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"a48fef969e3afb8e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:44.021412Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/4cf573f8-ff26-4341-ac7a-420666af5d24/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/4cf573f8-ff26-4341-ac7a-420666af5d24/components/a8afd2dd-96bc-4f57-b445-9b92eb1b0a11 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/4cf573f8-ff26-4341-ac7a-420666af5d24 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..1b367f7523 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-24T17:00:45.450Z \ 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..278ad0d041 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":"24a63c7404e92b00","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":"529f8f23-0634-4cdf-8a81-cb7b82e19afc","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"27026121-0156-435f-8958-3fc3ebe1c01e","name":"Application","type":"group","position":0,"components":[{"id":"3b64fcd0-eec2-44dd-a84d-c186ccbd2b33","name":"Login","type":"component","status":"operational","position":0},{"id":"feab19f6-1213-4352-96e9-04558f2f3f38","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:45.630576Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"24a63c7404e92b00","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:45.630576Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/529f8f23-0634-4cdf-8a81-cb7b82e19afc/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":"3b64fcd0-eec2-44dd-a84d-c186ccbd2b33","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/529f8f23-0634-4cdf-8a81-cb7b82e19afc/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":"fd0a3e7a-d068-46cd-b870-40ec57c47a6b","type":"degradations","attributes":{"components_affected":[{"id":"3b64fcd0-eec2-44dd-a84d-c186ccbd2b33","name":"Login","status":"major_outage"}],"created_at":"2026-02-24T17:00:46.292177Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-24T17:00:46.292177Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"70f8b89d-ed88-46c0-91e2-2fd80aa1af38","created_at":"2026-02-24T17:00:46.292177Z","modified_at":"2026-02-24T17:00:46.292177Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"3b64fcd0-eec2-44dd-a84d-c186ccbd2b33","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":"529f8f23-0634-4cdf-8a81-cb7b82e19afc","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/529f8f23-0634-4cdf-8a81-cb7b82e19afc/degradations/fd0a3e7a-d068-46cd-b870-40ec57c47a6b 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/529f8f23-0634-4cdf-8a81-cb7b82e19afc/degradations/fd0a3e7a-d068-46cd-b870-40ec57c47a6b 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/529f8f23-0634-4cdf-8a81-cb7b82e19afc 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..306938fc49 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-24T17:00:47.555Z \ 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..3d0e5cb8fc 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":"9289de40ecee7851","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":"5fee28e5-913c-4c8e-b043-d580d3f99848","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"787b5f03-cbdf-40ce-b1da-75943e70dc1d","name":"Application","type":"group","position":0,"components":[{"id":"a646452b-3e0d-4a0f-be71-234237dd6b4f","name":"Login","type":"component","status":"operational","position":0},{"id":"1501d5e7-2576-4d6e-ab2c-9197f75e3210","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:47.709256Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"9289de40ecee7851","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:47.709256Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/5fee28e5-913c-4c8e-b043-d580d3f99848/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/5fee28e5-913c-4c8e-b043-d580d3f99848 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/5fee28e5-913c-4c8e-b043-d580d3f99848 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..1014028adc 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-24T17:00:48.945Z \ 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..b6e41e2c02 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":"16dcaf5cdc284a4a","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":"b6c8b2cd-36bb-41aa-8f27-1fd891a0f961","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"1cea8878-7fc8-4397-babc-8c41d90aeaa7","name":"Application","type":"group","position":0,"components":[{"id":"04bd30db-9a97-4088-8f16-694b87389cbb","name":"Login","type":"component","status":"operational","position":0},{"id":"4c111b7d-1cef-4233-8041-a519567a86b8","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:49.120106Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"16dcaf5cdc284a4a","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:49.120106Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/b6c8b2cd-36bb-41aa-8f27-1fd891a0f961/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/b6c8b2cd-36bb-41aa-8f27-1fd891a0f961/components/1cea8878-7fc8-4397-babc-8c41d90aeaa7 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":"1cea8878-7fc8-4397-babc-8c41d90aeaa7","type":"components","attributes":{"components":[{"id":"04bd30db-9a97-4088-8f16-694b87389cbb","name":"Login","type":"component","status":"operational","position":0},{"id":"4c111b7d-1cef-4233-8041-a519567a86b8","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-02-24T17:00:49.120106Z","modified_at":"2026-02-24T17:00:49.120106Z","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":"b6c8b2cd-36bb-41aa-8f27-1fd891a0f961","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/b6c8b2cd-36bb-41aa-8f27-1fd891a0f961 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..0d6725b772 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-24T17:00:50.355Z \ 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..063851089c 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":"12fd9e2fcfbad77b","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":"317cba21-cebc-4436-94df-09bbdf3d4cb6","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"c5589831-a633-4f87-87c7-6abb7404ba5d","name":"Application","type":"group","position":0,"components":[{"id":"c8bfec42-82a6-43cd-bf99-23de9c2f72a8","name":"Login","type":"component","status":"operational","position":0},{"id":"5a6c8210-7239-42ae-b7ae-396b26cf21b5","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:50.525032Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"12fd9e2fcfbad77b","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:50.525032Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/317cba21-cebc-4436-94df-09bbdf3d4cb6/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":"c8bfec42-82a6-43cd-bf99-23de9c2f72a8","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/317cba21-cebc-4436-94df-09bbdf3d4cb6/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":"3199b71f-e5a6-4651-8498-bb27cf7389f8","type":"degradations","attributes":{"components_affected":[{"id":"c8bfec42-82a6-43cd-bf99-23de9c2f72a8","name":"Login","status":"major_outage"}],"created_at":"2026-02-24T17:00:51.138156Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-24T17:00:51.138156Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"6755caad-fc13-4d65-8ed8-0468c38dac6d","created_at":"2026-02-24T17:00:51.138156Z","modified_at":"2026-02-24T17:00:51.138156Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"c8bfec42-82a6-43cd-bf99-23de9c2f72a8","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":"317cba21-cebc-4436-94df-09bbdf3d4cb6","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/317cba21-cebc-4436-94df-09bbdf3d4cb6/degradations/3199b71f-e5a6-4651-8498-bb27cf7389f8 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":"3199b71f-e5a6-4651-8498-bb27cf7389f8","type":"degradations","attributes":{"components_affected":[{"id":"c8bfec42-82a6-43cd-bf99-23de9c2f72a8","name":"Login","status":"major_outage"}],"created_at":"2026-02-24T17:00:51.138156Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-24T17:00:51.138156Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"6755caad-fc13-4d65-8ed8-0468c38dac6d","created_at":"2026-02-24T17:00:51.138156Z","modified_at":"2026-02-24T17:00:51.138156Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"c8bfec42-82a6-43cd-bf99-23de9c2f72a8","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":"317cba21-cebc-4436-94df-09bbdf3d4cb6","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/317cba21-cebc-4436-94df-09bbdf3d4cb6/degradations/3199b71f-e5a6-4651-8498-bb27cf7389f8 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/317cba21-cebc-4436-94df-09bbdf3d4cb6 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..a1a3177748 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_get_maintenance_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-02-24T17:00:52.135Z \ 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..385373cec6 --- /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":"9aed0f41362f59e0","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":"8d1daf4d-e7de-4722-9130-9034915b2bbb","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"8558c72b-733f-42ab-8fb5-bd58c4e7f7e5","name":"Application","type":"group","position":0,"components":[{"id":"0c8fbd54-bdca-4093-970d-7ead0275b092","name":"Login","type":"component","status":"operational","position":0},{"id":"57c87ddd-e27a-4617-a7b3-2114c3a88c51","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:52.289454Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"9aed0f41362f59e0","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:52.289454Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/8d1daf4d-e7de-4722-9130-9034915b2bbb/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-24T19:00:52.135Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"0c8fbd54-bdca-4093-970d-7ead0275b092","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-24T18:00:52.135Z","title":"API + Maintenance"},"type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/8d1daf4d-e7de-4722-9130-9034915b2bbb/maintenances + response: + body: + string: '{"data":{"id":"bfd8dc52-55d6-4868-b64a-d13a6bd401fd","type":"maintenances","attributes":{"completed_date":"2026-02-24T19:00:52.135Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"0c8fbd54-bdca-4093-970d-7ead0275b092","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-24T17:00:53.019047Z","published_date":"2026-02-24T17:00:53.019047Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-24T18:00:52.135Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"2edf855a-3c89-4425-8295-13b7b882e942","created_at":"2026-02-24T17:00:53.019047Z","modified_at":"2026-02-24T17:00:53.019047Z","started_at":"2026-02-24T17:00:53.019047Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"0c8fbd54-bdca-4093-970d-7ead0275b092","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":"8d1daf4d-e7de-4722-9130-9034915b2bbb","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/8d1daf4d-e7de-4722-9130-9034915b2bbb/maintenances/bfd8dc52-55d6-4868-b64a-d13a6bd401fd + response: + body: + string: '{"data":{"id":"bfd8dc52-55d6-4868-b64a-d13a6bd401fd","type":"maintenances","attributes":{"completed_date":"2026-02-24T19:00:52.135Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"0c8fbd54-bdca-4093-970d-7ead0275b092","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-24T17:00:53.019047Z","published_date":"2026-02-24T17:00:53.019047Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-24T18:00:52.135Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"2edf855a-3c89-4425-8295-13b7b882e942","created_at":"2026-02-24T17:00:53.019047Z","modified_at":"2026-02-24T17:00:53.019047Z","started_at":"2026-02-24T17:00:53.019047Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"0c8fbd54-bdca-4093-970d-7ead0275b092","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":"8d1daf4d-e7de-4722-9130-9034915b2bbb","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/8d1daf4d-e7de-4722-9130-9034915b2bbb + 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..4ba83511b5 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-24T17:00:53.797Z \ 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..03eb563fae 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":"8c26840eabe71dc3","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":"ad595545-a10f-4156-86c4-4b7e628a373f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"bef1338e-b586-4b82-bf51-cd924583b1a4","name":"Application","type":"group","position":0,"components":[{"id":"892f0166-6f66-4113-a4ca-f38ad360853b","name":"Login","type":"component","status":"operational","position":0},{"id":"bc546936-c609-4dff-ac47-cfc73262b9ad","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:53.951086Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"8c26840eabe71dc3","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:53.951086Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/ad595545-a10f-4156-86c4-4b7e628a373f/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/ad595545-a10f-4156-86c4-4b7e628a373f 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":"ad595545-a10f-4156-86c4-4b7e628a373f","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"bef1338e-b586-4b82-bf51-cd924583b1a4","name":"Application","type":"group","position":0,"components":[{"id":"892f0166-6f66-4113-a4ca-f38ad360853b","name":"Login","type":"component","status":"operational","position":0},{"id":"bc546936-c609-4dff-ac47-cfc73262b9ad","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:53.951086Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"8c26840eabe71dc3","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:53.951086Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/ad595545-a10f-4156-86c4-4b7e628a373f/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/ad595545-a10f-4156-86c4-4b7e628a373f 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..6ba76149ba 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-24T17:00:55.477Z \ 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..23ac4e3e4e 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":"c498abdeba4af7af","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":"b7030ed3-627b-4172-a1db-ed4844518d9a","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"15c02806-5062-4a31-b92e-1156869483e4","name":"Application","type":"group","position":0,"components":[{"id":"b8dcb280-a392-4a53-873e-3303732ffa56","name":"Login","type":"component","status":"operational","position":0},{"id":"96014dbf-2729-404f-99f8-6988e13fd8c6","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:55.643889Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"c498abdeba4af7af","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:55.643889Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/b7030ed3-627b-4172-a1db-ed4844518d9a/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/b7030ed3-627b-4172-a1db-ed4844518d9a/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":"15c02806-5062-4a31-b92e-1156869483e4","type":"components","attributes":{"components":[{"id":"b8dcb280-a392-4a53-873e-3303732ffa56","name":"Login","type":"component","status":"operational","position":0},{"id":"96014dbf-2729-404f-99f8-6988e13fd8c6","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-02-24T17:00:55.643889Z","modified_at":"2026-02-24T17:00:55.643889Z","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":"b7030ed3-627b-4172-a1db-ed4844518d9a","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/b7030ed3-627b-4172-a1db-ed4844518d9a 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..da44433f24 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-24T17:00:56.828Z \ 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..05ee5bf98e 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":"4cbed4a1e7e245cd","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":"db7b590d-cced-4b48-a7fa-a8cad2ffe6d2","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"33943b97-35dc-45b5-821e-cd61b65a6a8b","name":"Application","type":"group","position":0,"components":[{"id":"05dbb51c-56b3-4a3a-a051-cf44128af296","name":"Login","type":"component","status":"operational","position":0},{"id":"b39e6a73-07f2-4174-a023-328400524a64","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:57.01904Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"4cbed4a1e7e245cd","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:57.01904Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/db7b590d-cced-4b48-a7fa-a8cad2ffe6d2/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":"05dbb51c-56b3-4a3a-a051-cf44128af296","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/db7b590d-cced-4b48-a7fa-a8cad2ffe6d2/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":"6d7edbfb-18e5-4c65-90c8-905841616f10","type":"degradations","attributes":{"components_affected":[{"id":"05dbb51c-56b3-4a3a-a051-cf44128af296","name":"Login","status":"major_outage"}],"created_at":"2026-02-24T17:00:57.665863Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-24T17:00:57.665863Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"8fa25e63-3621-4d63-bc04-7b89a5469968","created_at":"2026-02-24T17:00:57.665863Z","modified_at":"2026-02-24T17:00:57.665863Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"05dbb51c-56b3-4a3a-a051-cf44128af296","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":"db7b590d-cced-4b48-a7fa-a8cad2ffe6d2","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":"6d7edbfb-18e5-4c65-90c8-905841616f10","type":"degradations","attributes":{"components_affected":[{"id":"05dbb51c-56b3-4a3a-a051-cf44128af296","name":"Login","status":"major_outage"}],"created_at":"2026-02-24T17:00:57.665863Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-24T17:00:57.665863Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"8fa25e63-3621-4d63-bc04-7b89a5469968","created_at":"2026-02-24T17:00:57.665863Z","modified_at":"2026-02-24T17:00:57.665863Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"05dbb51c-56b3-4a3a-a051-cf44128af296","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":"db7b590d-cced-4b48-a7fa-a8cad2ffe6d2","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/db7b590d-cced-4b48-a7fa-a8cad2ffe6d2/degradations/6d7edbfb-18e5-4c65-90c8-905841616f10 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/db7b590d-cced-4b48-a7fa-a8cad2ffe6d2 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..e9663eb859 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-02-24T17:00:58.632Z \ 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..8a6580ac55 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_list_maintenances_returns_ok_response.yaml @@ -0,0 +1,310 @@ +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":"7461571be4b904a2","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":"4386413c-88e0-46d1-9492-4907633ed575","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"58972a8d-82b7-4de0-9889-8c6c3f4dfc95","name":"Application","type":"group","position":0,"components":[{"id":"89f770b5-8612-41ef-a35d-e325503b4aff","name":"Login","type":"component","status":"operational","position":0},{"id":"b05bdb74-2754-4255-a51d-a67ae3c853f5","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:00:58.794069Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"7461571be4b904a2","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:00:58.794069Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/4386413c-88e0-46d1-9492-4907633ed575/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-24T19:00:58.632Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"89f770b5-8612-41ef-a35d-e325503b4aff","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-24T18:00:58.632Z","title":"API + Maintenance"},"type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/4386413c-88e0-46d1-9492-4907633ed575/maintenances + response: + body: + string: '{"data":{"id":"137fffe3-bfe1-471f-ad23-565105cd30f8","type":"maintenances","attributes":{"completed_date":"2026-02-24T19:00:58.632Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"89f770b5-8612-41ef-a35d-e325503b4aff","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-24T17:00:59.394878Z","published_date":"2026-02-24T17:00:59.394878Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-24T18:00:58.632Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"79051405-03b3-4e9e-9e74-56e2d6593a06","created_at":"2026-02-24T17:00:59.394878Z","modified_at":"2026-02-24T17:00:59.394878Z","started_at":"2026-02-24T17:00:59.394878Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"89f770b5-8612-41ef-a35d-e325503b4aff","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":"4386413c-88e0-46d1-9492-4907633ed575","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-19T23:06:27.555615Z","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":"completed","title":"API + Maintenance","updates":[{"id":"a474fbb2-6d26-4a46-8c1b-51e5e1a2d3db","created_at":"2026-02-19T23:06:27.555615Z","modified_at":"2026-02-19T23:06:27.555615Z","started_at":"2026-02-19T23:06:27.555615Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"63331812-b5a5-422a-889a-f7ca633b2d80","name":"Login","status":"operational"}]},{"id":"f32fa6c4-f239-404d-a3a1-914b3efb5430","created_at":"2026-02-19T22:06:29.588858Z","modified_at":"2026-02-19T22:06:29.588858Z","started_at":"2026-02-19T22:06:29.588858Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"63331812-b5a5-422a-889a-f7ca633b2d80","name":"Login","status":"maintenance"}]},{"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":"b03f7910-c533-4093-b978-e0f6db6a9af4","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-19T23:06:37.235313Z","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":"completed","title":"API + Maintenance","updates":[{"id":"80a778de-732e-46a7-b71a-11f6f57e250c","created_at":"2026-02-19T23:06:37.235313Z","modified_at":"2026-02-19T23:06:37.235313Z","started_at":"2026-02-19T23:06:37.235313Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"9fabc1b3-bfc4-45f5-8fe7-6b284be04d28","name":"Login","status":"operational"}]},{"id":"a7bc678e-38c0-4a04-94b3-e3c8cd290180","created_at":"2026-02-19T22:06:29.055847Z","modified_at":"2026-02-19T22:06:29.055847Z","started_at":"2026-02-19T22:06:29.055847Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"9fabc1b3-bfc4-45f5-8fe7-6b284be04d28","name":"Login","status":"maintenance"}]},{"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":"b03f7910-c533-4093-b978-e0f6db6a9af4","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-19T23:06:36.563708Z","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":"completed","title":"API + Maintenance","updates":[{"id":"fc8ae217-7e51-40a1-b24b-6945bf101662","created_at":"2026-02-19T23:06:36.563708Z","modified_at":"2026-02-19T23:06:36.563708Z","started_at":"2026-02-19T23:06:36.563708Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"de9b6f98-2556-44c9-bb88-9d839e1fda62","name":"Login","status":"operational"}]},{"id":"ef519943-1c85-4e7a-8b06-94fd196b7a1c","created_at":"2026-02-19T22:06:43.335346Z","modified_at":"2026-02-19T22:06:43.335346Z","started_at":"2026-02-19T22:06:43.335346Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"de9b6f98-2556-44c9-bb88-9d839e1fda62","name":"Login","status":"maintenance"}]},{"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":"b03f7910-c533-4093-b978-e0f6db6a9af4","type":"users"}},"status_page":{"data":{"id":"4d753d2f-1348-486d-afc7-22f3e1759af3","type":"status_pages"}}}},{"id":"93176296-d3a5-4727-992a-ca43645b0d42","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:52:07.519Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"ff177f6a-17ed-4f5a-85c3-04b43621b282","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T23:52:19.215417Z","published_date":"2026-02-19T21:52:09.105685Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:52:07.519Z","status":"completed","title":"API + Maintenance","updates":[{"id":"f1354169-871b-4e37-8f2e-9f469a7c3cae","created_at":"2026-02-19T23:52:19.215417Z","modified_at":"2026-02-19T23:52:19.215417Z","started_at":"2026-02-19T23:52:19.215417Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"ff177f6a-17ed-4f5a-85c3-04b43621b282","name":"Login","status":"operational"}]},{"id":"922c3d4c-d2c2-4c0c-a3d2-998b41e89ade","created_at":"2026-02-19T22:52:18.414197Z","modified_at":"2026-02-19T22:52:18.414197Z","started_at":"2026-02-19T22:52:18.414197Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"ff177f6a-17ed-4f5a-85c3-04b43621b282","name":"Login","status":"maintenance"}]},{"id":"cf3f4522-c823-463d-8e2b-d324ab9c961e","created_at":"2026-02-19T21:52:09.105685Z","modified_at":"2026-02-19T21:52:09.105685Z","started_at":"2026-02-19T21:52:09.105685Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"ff177f6a-17ed-4f5a-85c3-04b43621b282","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":"8d197716-0610-42ec-8bdf-8b571a68bfbe","type":"status_pages"}}}},{"id":"99ce86c5-a232-4598-a405-4d7788294e9b","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:52:09.18Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"deb7b997-4f57-48b3-9dbf-4eaee77a8418","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T23:52:16.627844Z","published_date":"2026-02-19T21:52:09.974133Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:52:09.18Z","status":"completed","title":"API + Maintenance","updates":[{"id":"72276413-5dfc-4422-bc7e-00c5e06db10e","created_at":"2026-02-19T23:52:16.627844Z","modified_at":"2026-02-19T23:52:16.627844Z","started_at":"2026-02-19T23:52:16.627844Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"deb7b997-4f57-48b3-9dbf-4eaee77a8418","name":"Login","status":"operational"}]},{"id":"526d8c55-b5c1-42bf-afed-742812b6bc0f","created_at":"2026-02-19T22:52:17.898547Z","modified_at":"2026-02-19T22:52:17.898547Z","started_at":"2026-02-19T22:52:17.898547Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"deb7b997-4f57-48b3-9dbf-4eaee77a8418","name":"Login","status":"maintenance"}]},{"id":"e9386e02-9cc9-4945-a840-fa20b00c4a66","created_at":"2026-02-19T21:52:09.974133Z","modified_at":"2026-02-19T21:52:09.974133Z","started_at":"2026-02-19T21:52:09.974133Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"deb7b997-4f57-48b3-9dbf-4eaee77a8418","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":"5d9fb154-2016-4209-a1aa-ffbb26b834cd","type":"status_pages"}}}},{"id":"3bc4965e-8bca-45b7-b886-8fca2e92ddcc","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:52:10.173Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"12171b79-aaa4-4508-b3c5-e58d0315735d","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-19T23:52:17.541234Z","published_date":"2026-02-19T21:52:11.35385Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T22:52:10.173Z","status":"completed","title":"API + Maintenance","updates":[{"id":"42fb9eb5-4ad3-4142-a731-2a444e47d31f","created_at":"2026-02-19T23:52:17.541234Z","modified_at":"2026-02-19T23:52:17.541234Z","started_at":"2026-02-19T23:52:17.541234Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"12171b79-aaa4-4508-b3c5-e58d0315735d","name":"Login","status":"operational"}]},{"id":"c8e389a5-8a0b-4d7c-8922-181b61b3256f","created_at":"2026-02-19T22:52:18.033924Z","modified_at":"2026-02-19T22:52:18.033924Z","started_at":"2026-02-19T22:52:18.033924Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"12171b79-aaa4-4508-b3c5-e58d0315735d","name":"Login","status":"maintenance"}]},{"id":"7b4c5d5b-9324-4283-8142-ac1b3b1c3d8b","created_at":"2026-02-19T21:52:11.35385Z","modified_at":"2026-02-19T21:52:11.35385Z","started_at":"2026-02-19T21:52:11.35385Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"12171b79-aaa4-4508-b3c5-e58d0315735d","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":"e9af0690-5634-4b5a-9a39-0024f5a94c5a","type":"status_pages"}}}},{"id":"4ac0806e-a33a-441e-93b9-f7012f7e992a","type":"maintenances","attributes":{"completed_date":"2026-02-19T23:52:11.693Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"6005b8d9-223c-49bb-b179-57c183557b28","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-19T23:52:24.250139Z","published_date":"2026-02-19T21:52:12.42919Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T22:52:11.693Z","status":"completed","title":"API + Maintenance","updates":[{"id":"803c5c15-ff2b-4720-bd20-2ab3e9aca4bf","created_at":"2026-02-19T23:52:24.250139Z","modified_at":"2026-02-19T23:52:24.250139Z","started_at":"2026-02-19T23:52:24.250139Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"6005b8d9-223c-49bb-b179-57c183557b28","name":"Login","status":"operational"}]},{"id":"7dc2ffcb-9105-4d49-8dfa-17204e3b82bf","created_at":"2026-02-19T22:52:19.367788Z","modified_at":"2026-02-19T22:52:19.367788Z","started_at":"2026-02-19T22:52:19.367788Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"6005b8d9-223c-49bb-b179-57c183557b28","name":"Login","status":"maintenance"}]},{"id":"58eea7a5-81d7-4e03-a1c3-334638addf91","created_at":"2026-02-19T21:52:12.42919Z","modified_at":"2026-02-19T21:52:12.42919Z","started_at":"2026-02-19T21:52:12.42919Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"6005b8d9-223c-49bb-b179-57c183557b28","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":"4fd54afd-fa2c-427d-8b40-897968e2dc3d","type":"status_pages"}}}},{"id":"e5c44d06-1f97-4b25-9736-6ebf48115883","type":"maintenances","attributes":{"completed_date":"2026-02-20T00:08:11.382Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"a56c992a-ea84-4df0-86da-65a9ebe3b1c3","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-20T00:08:17.566083Z","published_date":"2026-02-19T22:08:13.002283Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T23:08:11.382Z","status":"completed","title":"API + Maintenance","updates":[{"id":"0273f0ee-b73f-4b37-b939-e5152bc04d95","created_at":"2026-02-20T00:08:17.566083Z","modified_at":"2026-02-20T00:08:17.566083Z","started_at":"2026-02-20T00:08:17.566083Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"a56c992a-ea84-4df0-86da-65a9ebe3b1c3","name":"Login","status":"operational"}]},{"id":"a20bc5ab-efed-4d72-8eae-c1b6a0f607a6","created_at":"2026-02-19T23:08:22.812962Z","modified_at":"2026-02-19T23:08:22.812962Z","started_at":"2026-02-19T23:08:22.812962Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"a56c992a-ea84-4df0-86da-65a9ebe3b1c3","name":"Login","status":"maintenance"}]},{"id":"f7e0615d-822e-478f-8ede-98f97d1201f3","created_at":"2026-02-19T22:08:13.002283Z","modified_at":"2026-02-19T22:08:13.002283Z","started_at":"2026-02-19T22:08:13.002283Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"a56c992a-ea84-4df0-86da-65a9ebe3b1c3","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":"9d623a97-ec26-4e2b-a156-64169eff130e","type":"status_pages"}}}},{"id":"0f52de2a-b23a-49b7-b942-c51e3c2c47e9","type":"maintenances","attributes":{"completed_date":"2026-02-20T00:08:13.062Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"4239bd23-e472-4a5e-b489-40bda1fe99e6","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-20T00:08:17.549539Z","published_date":"2026-02-19T22:08:13.812185Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T23:08:13.062Z","status":"completed","title":"API + Maintenance","updates":[{"id":"3ebf4659-1c13-4a99-9cd5-a78aa5fb8d7d","created_at":"2026-02-20T00:08:17.549539Z","modified_at":"2026-02-20T00:08:17.549539Z","started_at":"2026-02-20T00:08:17.549539Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"4239bd23-e472-4a5e-b489-40bda1fe99e6","name":"Login","status":"operational"}]},{"id":"b35c15c4-8e2d-4e18-9b47-b19f49b71642","created_at":"2026-02-19T23:08:27.245166Z","modified_at":"2026-02-19T23:08:27.245166Z","started_at":"2026-02-19T23:08:27.245166Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"4239bd23-e472-4a5e-b489-40bda1fe99e6","name":"Login","status":"maintenance"}]},{"id":"e271d82f-a17e-4744-b7df-01a8109d6454","created_at":"2026-02-19T22:08:13.812185Z","modified_at":"2026-02-19T22:08:13.812185Z","started_at":"2026-02-19T22:08:13.812185Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"4239bd23-e472-4a5e-b489-40bda1fe99e6","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":"1d52408e-1180-4704-be65-ca3dc0e17dbc","type":"status_pages"}}}},{"id":"c21d0303-18dd-4175-85c7-96a597319a4e","type":"maintenances","attributes":{"completed_date":"2026-02-20T00:08:14.03Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"37805b01-c997-40cb-8680-5322c12049de","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-20T00:08:27.376456Z","published_date":"2026-02-19T22:08:14.677394Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-19T23:08:14.03Z","status":"completed","title":"API + Maintenance","updates":[{"id":"6910751e-1835-4dfe-a7d9-e35763bce390","created_at":"2026-02-20T00:08:27.376456Z","modified_at":"2026-02-20T00:08:27.376456Z","started_at":"2026-02-20T00:08:27.376456Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"37805b01-c997-40cb-8680-5322c12049de","name":"Login","status":"operational"}]},{"id":"615c9252-f5d2-4f9f-866b-0d02bbd480d3","created_at":"2026-02-19T23:08:26.18059Z","modified_at":"2026-02-19T23:08:26.18059Z","started_at":"2026-02-19T23:08:26.18059Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance.","components_affected":[{"id":"37805b01-c997-40cb-8680-5322c12049de","name":"Login","status":"maintenance"}]},{"id":"964f3408-f732-4874-a6d0-3622c524ee5b","created_at":"2026-02-19T22:08:14.677394Z","modified_at":"2026-02-19T22:08:14.677394Z","started_at":"2026-02-19T22:08:14.677394Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"37805b01-c997-40cb-8680-5322c12049de","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":"c4269d26-2a7a-48d8-b35c-0d065f5bdbdb","type":"status_pages"}}}},{"id":"514f921f-2c5b-43a7-9d96-f1dfcc98ecc1","type":"maintenances","attributes":{"completed_date":"2026-02-20T00:08:15.511Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"ca2479b6-c0fb-4926-8c05-38814139de99","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-20T00:08:27.957772Z","published_date":"2026-02-19T22:08:16.214384Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-19T23:08:15.511Z","status":"completed","title":"API + Maintenance","updates":[{"id":"5be70f2a-615a-4137-b3ad-096c66e2ac39","created_at":"2026-02-20T00:08:27.957772Z","modified_at":"2026-02-20T00:08:27.957772Z","started_at":"2026-02-20T00:08:27.957772Z","manual_transition":false,"status":"completed","description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"ca2479b6-c0fb-4926-8c05-38814139de99","name":"Login","status":"operational"}]},{"id":"edfa4c0e-fd91-47a4-8a3c-fe1085f4964f","created_at":"2026-02-19T23:08:26.917491Z","modified_at":"2026-02-19T23:08:26.917491Z","started_at":"2026-02-19T23:08:26.917491Z","manual_transition":false,"status":"in_progress","description":"We + are currently performing maintenance on the API to improve performance for + 40 minutes.","components_affected":[{"id":"ca2479b6-c0fb-4926-8c05-38814139de99","name":"Login","status":"maintenance"}]},{"id":"aea79e6d-bfcd-455d-8be5-19513813b166","created_at":"2026-02-19T22:08:16.214384Z","modified_at":"2026-02-19T22:08:16.214384Z","started_at":"2026-02-19T22:08:16.214384Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"ca2479b6-c0fb-4926-8c05-38814139de99","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":"0061b471-af16-4c9c-a704-f5fb53ec871e","type":"status_pages"}}}},{"id":"137fffe3-bfe1-471f-ad23-565105cd30f8","type":"maintenances","attributes":{"completed_date":"2026-02-24T19:00:58.632Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"89f770b5-8612-41ef-a35d-e325503b4aff","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-24T17:00:59.394878Z","published_date":"2026-02-24T17:00:59.394878Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-24T18:00:58.632Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"79051405-03b3-4e9e-9e74-56e2d6593a06","created_at":"2026-02-24T17:00:59.394878Z","modified_at":"2026-02-24T17:00:59.394878Z","started_at":"2026-02-24T17:00:59.394878Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"89f770b5-8612-41ef-a35d-e325503b4aff","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":"4386413c-88e0-46d1-9492-4907633ed575","type":"status_pages"}}}}],"meta":{"page":{"type":"offset_limit","offset":0,"limit":50,"total":31,"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/4386413c-88e0-46d1-9492-4907633ed575 + 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..f728bf36b2 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-24T17:01:00.437Z \ 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..c78c5562cd 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":"7e8c7b13fd8893b0","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":"06fa86aa-c512-4c00-95ee-b1cb5b2cccf1","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"11970522-93b3-4e4a-834b-d0ba5ea329d0","name":"Application","type":"group","position":0,"components":[{"id":"d8053632-57ba-4262-92c0-76a96458c126","name":"Login","type":"component","status":"operational","position":0},{"id":"e0f79c01-0aba-4728-8b72-2923a153d955","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:01:00.593918Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"7e8c7b13fd8893b0","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:01:00.593918Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/06fa86aa-c512-4c00-95ee-b1cb5b2cccf1/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":"06fa86aa-c512-4c00-95ee-b1cb5b2cccf1","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"11970522-93b3-4e4a-834b-d0ba5ea329d0","name":"Application","type":"group","position":0,"components":[{"id":"d8053632-57ba-4262-92c0-76a96458c126","name":"Login","type":"component","status":"operational","position":0},{"id":"e0f79c01-0aba-4728-8b72-2923a153d955","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:01:00.593918Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"7e8c7b13fd8893b0","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:01:00.593918Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/06fa86aa-c512-4c00-95ee-b1cb5b2cccf1/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":"bdf170e4-6689-4c54-96b7-84edac7d652d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ef2b536d-55b0-4200-b8aa-94cce005c5e7","name":"Application","type":"group","position":0,"components":[{"id":"dcee6190-c6fc-49a6-af7e-dd3dc1114ad3","name":"Login","type":"component","status":"operational","position":0},{"id":"61b95f10-b197-433a-baed-4513213f8480","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-23T20:35:59.798046Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"7abf9bc13fcb676d-1771878959","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-23T20:35:59.798046Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/bdf170e4-6689-4c54-96b7-84edac7d652d/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":"bc07b5b2-3f21-4568-99f3-2d9da89ec99c","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"6a55888b-9bc7-483f-892e-ec0e3e216555","name":"Application","type":"group","position":0,"components":[{"id":"23d8b2d5-e453-4db2-98ea-1891af5e1237","name":"Login","type":"component","status":"operational","position":0},{"id":"02cbda4f-ed23-4fd8-a288-aef9cb4c077c","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-21T00:35:59.809271Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"7abf9bc13fcb676d-1771634159","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-21T00:35:59.809271Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/bc07b5b2-3f21-4568-99f3-2d9da89ec99c/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":"0061b471-af16-4c9c-a704-f5fb53ec871e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"7530e1c7-fde9-44d5-a685-5f621438ff7b","name":"Application","type":"group","position":0,"components":[{"id":"ca2479b6-c0fb-4926-8c05-38814139de99","name":"Login","type":"component","status":"operational","position":0},{"id":"0f892ec8-4733-4b36-9b73-a8828d7aec77","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T22:08:15.622258Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"268772cff8564d83","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T22:08:15.622258Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/0061b471-af16-4c9c-a704-f5fb53ec871e/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":"c4269d26-2a7a-48d8-b35c-0d065f5bdbdb","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"b20c2ef6-3416-4bbb-ac51-bc2a20b2dd29","name":"Application","type":"group","position":0,"components":[{"id":"37805b01-c997-40cb-8680-5322c12049de","name":"Login","type":"component","status":"operational","position":0},{"id":"025c4d32-9492-4d85-8b58-3452ff410fbe","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T22:08:14.142145Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"793dc6f684cf74f5","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T22:08:14.142145Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/c4269d26-2a7a-48d8-b35c-0d065f5bdbdb/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":"1d52408e-1180-4704-be65-ca3dc0e17dbc","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"3a5648c4-3202-4b36-a0cc-398ab19858c9","name":"Application","type":"group","position":0,"components":[{"id":"4239bd23-e472-4a5e-b489-40bda1fe99e6","name":"Login","type":"component","status":"operational","position":0},{"id":"0856eefb-e0f5-4934-b7bd-b5d75c6a1ab6","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T22:08:13.176344Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"52b8237a5bee3a96","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T22:08:13.176344Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/1d52408e-1180-4704-be65-ca3dc0e17dbc/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":"9d623a97-ec26-4e2b-a156-64169eff130e","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"83fce248-29e4-47f5-b6e6-fdf8f606cb51","name":"Application","type":"group","position":0,"components":[{"id":"a56c992a-ea84-4df0-86da-65a9ebe3b1c3","name":"Login","type":"component","status":"operational","position":0},{"id":"c2d71bc7-e697-4df8-ac51-91e21d5403bb","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T22:08:12.422374Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"b7d4c42f606a87ae","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T22:08:12.422374Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/9d623a97-ec26-4e2b-a156-64169eff130e/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":"4fd54afd-fa2c-427d-8b40-897968e2dc3d","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"ec160342-9615-4795-bf4f-7109aa48e099","name":"Application","type":"group","position":0,"components":[{"id":"6005b8d9-223c-49bb-b179-57c183557b28","name":"Login","type":"component","status":"operational","position":0},{"id":"f0f88729-a143-4cc1-a559-d87f451ba0f6","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:52:11.817273Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"12c095514cea2548","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:52:11.817273Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/4fd54afd-fa2c-427d-8b40-897968e2dc3d/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":"e9af0690-5634-4b5a-9a39-0024f5a94c5a","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2c82ff96-7079-49cb-b71a-ab85b99d4a96","name":"Application","type":"group","position":0,"components":[{"id":"12171b79-aaa4-4508-b3c5-e58d0315735d","name":"Login","type":"component","status":"operational","position":0},{"id":"0b34993c-1b31-4a25-8419-8ac74553ad62","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:52:10.301908Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"39f8e4cbb8a429ce","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:52:10.301908Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/e9af0690-5634-4b5a-9a39-0024f5a94c5a/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":"5d9fb154-2016-4209-a1aa-ffbb26b834cd","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"6dca35af-75ee-4111-b5d1-9c1b301f6ca0","name":"Application","type":"group","position":0,"components":[{"id":"deb7b997-4f57-48b3-9dbf-4eaee77a8418","name":"Login","type":"component","status":"operational","position":0},{"id":"80159e04-ce47-4f14-9063-7fef16753977","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:52:09.320462Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"ef5eb16440f3186e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:52:09.320462Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/5d9fb154-2016-4209-a1aa-ffbb26b834cd/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":"8d197716-0610-42ec-8bdf-8b571a68bfbe","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"39ad92d7-1344-4e75-a62a-7439b362187b","name":"Application","type":"group","position":0,"components":[{"id":"ff177f6a-17ed-4f5a-85c3-04b43621b282","name":"Login","type":"component","status":"operational","position":0},{"id":"729370f8-4ebd-4577-a2c5-aec917534ed4","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-19T21:52:08.550943Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"640a4ff7098142e4","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-19T21:52:08.550943Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/8d197716-0610-42ec-8bdf-8b571a68bfbe/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":"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"}}}}],"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/06fa86aa-c512-4c00-95ee-b1cb5b2cccf1 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..65cd576dde 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-24T17:01:02.180Z \ 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..3ec8838f94 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":"bca9d790b9b0f94d","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":"e0e309f4-9049-49d2-b6af-80874c5a4b84","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"d0c9d99e-e697-431b-93b0-400d2873ec18","name":"Application","type":"group","position":0,"components":[{"id":"f4aafe97-fdce-43f0-8872-0cb5ce9e7347","name":"Login","type":"component","status":"operational","position":0},{"id":"b74e7cb4-04b6-4086-9f01-aff7e23bfc09","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:01:02.494038Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"bca9d790b9b0f94d","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:01:02.494038Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/e0e309f4-9049-49d2-b6af-80874c5a4b84/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":"d0c9d99e-e697-431b-93b0-400d2873ec18","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/e0e309f4-9049-49d2-b6af-80874c5a4b84/components/d0c9d99e-e697-431b-93b0-400d2873ec18 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":"d0c9d99e-e697-431b-93b0-400d2873ec18","type":"components","attributes":{"components":[{"id":"f4aafe97-fdce-43f0-8872-0cb5ce9e7347","name":"Login","type":"component","status":"operational","position":0},{"id":"b74e7cb4-04b6-4086-9f01-aff7e23bfc09","name":"Settings","type":"component","status":"operational","position":1}],"created_at":"2026-02-24T17:01:02.494038Z","modified_at":"2026-02-24T17:01:03.086151Z","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":"e0e309f4-9049-49d2-b6af-80874c5a4b84","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/e0e309f4-9049-49d2-b6af-80874c5a4b84 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..17cab2082d 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-24T17:01:03.744Z \ 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..ad514aa564 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":"7db16496b6c8a7fc","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":"31832b1a-f21d-4273-b8c9-e6ab70992c46","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"13c30f15-5b69-427a-bf3f-43e26be5b57b","name":"Application","type":"group","position":0,"components":[{"id":"bed6d62b-c62d-413d-ac49-b445debee25c","name":"Login","type":"component","status":"operational","position":0},{"id":"903094d1-f9bc-4e63-beb7-d43f1969e966","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:01:03.924912Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"7db16496b6c8a7fc","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:01:03.924912Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/31832b1a-f21d-4273-b8c9-e6ab70992c46/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":"bed6d62b-c62d-413d-ac49-b445debee25c","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/31832b1a-f21d-4273-b8c9-e6ab70992c46/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":"ac3fb11e-3702-43bf-a5a2-8103c964acd9","type":"degradations","attributes":{"components_affected":[{"id":"bed6d62b-c62d-413d-ac49-b445debee25c","name":"Login","status":"major_outage"}],"created_at":"2026-02-24T17:01:04.652213Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-24T17:01:04.652213Z","status":"investigating","title":"Elevated + API Latency","updates":[{"id":"0775f6bd-7bb0-4e36-a055-3601b137a270","created_at":"2026-02-24T17:01:04.652213Z","modified_at":"2026-02-24T17:01:04.652213Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"bed6d62b-c62d-413d-ac49-b445debee25c","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":"31832b1a-f21d-4273-b8c9-e6ab70992c46","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":"ac3fb11e-3702-43bf-a5a2-8103c964acd9","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/31832b1a-f21d-4273-b8c9-e6ab70992c46/degradations/ac3fb11e-3702-43bf-a5a2-8103c964acd9 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":"ac3fb11e-3702-43bf-a5a2-8103c964acd9","type":"degradations","attributes":{"components_affected":[{"id":"bed6d62b-c62d-413d-ac49-b445debee25c","name":"Login","status":"major_outage"}],"created_at":"2026-02-24T17:01:04.652213Z","description":"Our + API is experiencing elevated latency. We are investigating the issue.","modified_at":"2026-02-24T17:01:04.857819Z","status":"investigating","title":"Elevated + API Latency in US1","updates":[{"id":"0775f6bd-7bb0-4e36-a055-3601b137a270","created_at":"2026-02-24T17:01:04.652213Z","modified_at":"2026-02-24T17:01:04.652213Z","status":"investigating","description":"Our + API is experiencing elevated latency. We are investigating the issue.","components_affected":[{"id":"bed6d62b-c62d-413d-ac49-b445debee25c","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":"31832b1a-f21d-4273-b8c9-e6ab70992c46","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/31832b1a-f21d-4273-b8c9-e6ab70992c46/degradations/ac3fb11e-3702-43bf-a5a2-8103c964acd9 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/31832b1a-f21d-4273-b8c9-e6ab70992c46 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..6fdcab9b42 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_update_maintenance_returns_ok_response.frozen @@ -0,0 +1 @@ +2026-02-24T17:01:05.730Z \ 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..07c01eac12 --- /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":"bd41b0432241277c","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":"47eedb78-70c8-4492-94d9-d6072b1b461a","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"14510904-00d4-49a0-b4fb-f352e0bbee44","name":"Application","type":"group","position":0,"components":[{"id":"8dbbf907-e6bf-4f52-9087-9faf83662618","name":"Login","type":"component","status":"operational","position":0},{"id":"303d4a51-952f-4e2f-8124-bcac0008f20d","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:01:05.895153Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"bd41b0432241277c","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:01:05.895153Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/47eedb78-70c8-4492-94d9-d6072b1b461a/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-24T19:01:05.730Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"8dbbf907-e6bf-4f52-9087-9faf83662618","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-24T18:01:05.730Z","title":"API + Maintenance"},"type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/statuspages/47eedb78-70c8-4492-94d9-d6072b1b461a/maintenances + response: + body: + string: '{"data":{"id":"6e4bdbf5-d781-4db9-80c0-38d6a0b042d5","type":"maintenances","attributes":{"completed_date":"2026-02-24T19:01:05.73Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"8dbbf907-e6bf-4f52-9087-9faf83662618","name":"Login","status":"operational"}],"in_progress_description":"We + are currently performing maintenance on the API to improve performance.","modified_at":"2026-02-24T17:01:06.54667Z","published_date":"2026-02-24T17:01:06.54667Z","scheduled_description":"We + will be performing maintenance on the API to improve performance.","start_date":"2026-02-24T18:01:05.73Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"5757da5d-1852-474f-9321-b80824f1d54c","created_at":"2026-02-24T17:01:06.54667Z","modified_at":"2026-02-24T17:01:06.54667Z","started_at":"2026-02-24T17:01:06.54667Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"8dbbf907-e6bf-4f52-9087-9faf83662618","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":"47eedb78-70c8-4492-94d9-d6072b1b461a","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":"6e4bdbf5-d781-4db9-80c0-38d6a0b042d5","type":"maintenances"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: PATCH + uri: https://api.datadoghq.com/api/v2/statuspages/47eedb78-70c8-4492-94d9-d6072b1b461a/maintenances/6e4bdbf5-d781-4db9-80c0-38d6a0b042d5 + response: + body: + string: '{"data":{"id":"6e4bdbf5-d781-4db9-80c0-38d6a0b042d5","type":"maintenances","attributes":{"completed_date":"2026-02-24T19:01:05.73Z","completed_description":"We + have completed maintenance on the API to improve performance.","components_affected":[{"id":"8dbbf907-e6bf-4f52-9087-9faf83662618","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-24T17:01:06.746611Z","published_date":"2026-02-24T17:01:06.54667Z","scheduled_description":"We + will be performing maintenance on the API to improve performance for 40 minutes.","start_date":"2026-02-24T18:01:05.73Z","status":"scheduled","title":"API + Maintenance","updates":[{"id":"5757da5d-1852-474f-9321-b80824f1d54c","created_at":"2026-02-24T17:01:06.54667Z","modified_at":"2026-02-24T17:01:06.54667Z","started_at":"2026-02-24T17:01:06.54667Z","manual_transition":false,"status":"scheduled","description":"We + will be performing maintenance on the API to improve performance.","components_affected":[{"id":"8dbbf907-e6bf-4f52-9087-9faf83662618","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":"47eedb78-70c8-4492-94d9-d6072b1b461a","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/47eedb78-70c8-4492-94d9-d6072b1b461a + 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..b1f3fb21d4 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-24T17:01:07.308Z \ 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..8c4175fe54 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":"50e12c2de25a414e","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":"34c403c9-30eb-43d7-b50e-615447b8da7b","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2c0a3417-3e0a-4142-83e1-e59027d0ce67","name":"Application","type":"group","position":0,"components":[{"id":"b3d1d966-6c22-42e3-8367-161fc4daf223","name":"Login","type":"component","status":"operational","position":0},{"id":"ccc00996-6f92-4558-80e2-0a890108f04e","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:01:07.464734Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"50e12c2de25a414e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:01:07.464734Z","name":"A + Status Page","page_url":"https://frog.datadoghq.com/status-pages/34c403c9-30eb-43d7-b50e-615447b8da7b/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":"34c403c9-30eb-43d7-b50e-615447b8da7b","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/34c403c9-30eb-43d7-b50e-615447b8da7b 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":"34c403c9-30eb-43d7-b50e-615447b8da7b","type":"status_pages","attributes":{"company_logo":null,"components":[{"id":"2c0a3417-3e0a-4142-83e1-e59027d0ce67","name":"Application","type":"group","position":0,"components":[{"id":"b3d1d966-6c22-42e3-8367-161fc4daf223","name":"Login","type":"component","status":"operational","position":0},{"id":"ccc00996-6f92-4558-80e2-0a890108f04e","name":"Settings","type":"component","status":"operational","position":1}]}],"created_at":"2026-02-24T17:01:07.464734Z","custom_domain":null,"custom_domain_enabled":false,"domain_prefix":"50e12c2de25a414e","email_header_image":null,"enabled":true,"favicon":null,"modified_at":"2026-02-24T17:01:08.147811Z","name":"A + Status Page in US1","page_url":"https://frog.datadoghq.com/status-pages/34c403c9-30eb-43d7-b50e-615447b8da7b/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/34c403c9-30eb-43d7-b50e-615447b8da7b response: body: string: '' diff --git a/tests/v2/features/given.json b/tests/v2/features/given.json index 1202e4f78a..76980d4ce3 100644 --- a/tests/v2/features/given.json +++ b/tests/v2/features/given.json @@ -1299,6 +1299,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..2df3e612b1 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 @@ -114,6 +142,14 @@ Feature: Status Pages When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Schedule maintenance returns "Created" response + Given new "CreateMaintenance" request + And request contains "page_id" parameter from "REPLACE.ME" + And body with value {"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"}, "type": "maintenances"}} + When the request is sent + Then the response status is 201 Created + @team:DataDog/incident-app Scenario: Update component returns "OK" response Given new "UpdateComponent" request @@ -137,6 +173,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 09186eef67..906045ff71 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -5388,6 +5388,12 @@ "type": "safe" } }, + "ListMaintenances": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, "DeleteStatusPage": { "tag": "Status Pages", "undo": { @@ -5482,6 +5488,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": {