From 27fce9bed144acbd471799ff26cba07ea91b1531 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 23 Feb 2026 23:39:29 +0000 Subject: [PATCH] Regenerate client from commit 3520eb4 of spec repo --- .generator/schemas/v2/openapi.yaml | 1236 ++++++++++------- .../CreateOrganizationHandle.java | 40 - .../DeleteOrganizationHandle.java | 27 - .../GetOrganizationHandle.java | 29 - .../ListOrganizationHandles.java | 25 - .../UpdateOrganizationHandle.java | 45 - .../v2/status-pages/CreateMaintenance.java | 61 + .../CreateMaintenance_2202276054.java | 75 + examples/v2/status-pages/GetMaintenance.java | 28 + .../status-pages/GetMaintenance_28315012.java | 41 + .../ListMaintenances.java} | 13 +- .../v2/status-pages/UpdateMaintenance.java | 52 + .../UpdateMaintenance_850661063.java | 61 + .../v2/api/GoogleChatIntegrationApi.java | 1077 -------------- .../api/client/v2/api/StatusPagesApi.java | 1217 ++++++++++++++-- .../v2/model/CreateMaintenanceRequest.java | 136 ++ ...java => CreateMaintenanceRequestData.java} | 79 +- ...reateMaintenanceRequestDataAttributes.java | 348 +++++ ...DataAttributesComponentsAffectedItems.java | 209 +++ .../api/client/v2/model/Degradation.java | 12 +- .../api/client/v2/model/DegradationArray.java | 16 +- .../v2/model/DegradationDataAttributes.java | 59 + .../DegradationDataAttributesSource.java | 210 +++ ...DegradationDataAttributesUpdatesItems.java | 36 +- ...Included.java => DegradationIncluded.java} | 44 +- ...leChatAppNamedSpaceResponseAttributes.java | 227 --- .../GoogleChatOrganizationHandleType.java | 58 - ...atUpdateOrganizationHandleRequestData.java | 151 -- ...equestAttributes.java => Maintenance.java} | 102 +- .../api/client/v2/model/MaintenanceArray.java | 214 +++ ...ResponseData.java => MaintenanceData.java} | 110 +- .../v2/model/MaintenanceDataAttributes.java | 462 ++++++ ...ataAttributesComponentsAffectedItems.java} | 114 +- .../MaintenanceDataAttributesStatus.java | 64 + ...MaintenanceDataAttributesUpdatesItems.java | 325 +++++ ...esUpdatesItemsComponentsAffectedItems.java | 209 +++ .../model/MaintenanceDataRelationships.java | 199 +++ ...enanceDataRelationshipsCreatedByUser.java} | 43 +- ...ceDataRelationshipsCreatedByUserData.java} | 80 +- ...eDataRelationshipsLastModifiedByUser.java} | 59 +- ...aRelationshipsLastModifiedByUserData.java} | 83 +- ...intenanceDataRelationshipsStatusPage.java} | 39 +- ...enanceDataRelationshipsStatusPageData.java | 183 +++ ...sResponseMeta.java => PaginationMeta.java} | 26 +- ...agination.java => PaginationMetaPage.java} | 70 +- ...nType.java => PaginationMetaPageType.java} | 24 +- .../v2/model/PatchMaintenanceRequest.java | 136 ++ ....java => PatchMaintenanceRequestData.java} | 89 +- ...PatchMaintenanceRequestDataAttributes.java | 371 +++++ ...ataAttributesComponentsAffectedItems.java} | 130 +- ...tributesComponentsAffectedItemsStatus.java | 69 + ...a => PatchMaintenanceRequestDataType.java} | 29 +- .../api/client/v2/model/StatusPageArray.java | 4 +- ..._component_returns_Created_response.freeze | 2 +- ...te_component_returns_Created_response.json | 20 +- ...egradation_returns_Created_response.freeze | 2 +- ..._degradation_returns_Created_response.json | 22 +- ...aintenance_returns_Created_response.freeze | 1 + ..._maintenance_returns_Created_response.json | 83 ++ ...ion_handle_returns_CREATED_response.freeze | 1 - ...ation_handle_returns_CREATED_response.json | 53 - ...tatus_page_returns_Created_response.freeze | 2 +- ..._status_page_returns_Created_response.json | 10 +- ...mponent_returns_No_Content_response.freeze | 2 +- ...component_returns_No_Content_response.json | 14 +- ...adation_returns_No_Content_response.freeze | 2 +- ...gradation_returns_No_Content_response.json | 26 +- ...nization_handle_returns_OK_response.freeze | 1 - ...ganization_handle_returns_OK_response.json | 74 - ...us_page_returns_No_Content_response.freeze | 2 +- ...atus_page_returns_No_Content_response.json | 14 +- ...ization_handles_returns_OK_response.freeze | 1 - ...anization_handles_returns_OK_response.json | 79 -- .../Get_component_returns_OK_response.freeze | 2 +- .../v2/Get_component_returns_OK_response.json | 16 +- ...Get_degradation_returns_OK_response.freeze | 2 +- .../Get_degradation_returns_OK_response.json | 28 +- ...Get_maintenance_returns_OK_response.freeze | 1 + .../Get_maintenance_returns_OK_response.json | 109 ++ ...nization_handle_returns_OK_response.freeze | 1 - ...ganization_handle_returns_OK_response.json | 79 -- ...by_display_name_returns_OK_response.freeze | 1 - ...n_by_display_name_returns_OK_response.json | 28 - ...Get_status_page_returns_OK_response.freeze | 2 +- .../Get_status_page_returns_OK_response.json | 16 +- ...List_components_returns_OK_response.freeze | 2 +- .../List_components_returns_OK_response.json | 16 +- ...st_degradations_returns_OK_response.freeze | 2 +- ...List_degradations_returns_OK_response.json | 24 +- ...st_maintenances_returns_OK_response.freeze | 1 + ...List_maintenances_returns_OK_response.json | 109 ++ ...st_status_pages_returns_OK_response.freeze | 2 +- ...List_status_pages_returns_OK_response.json | 12 +- ...pdate_component_returns_OK_response.freeze | 2 +- .../Update_component_returns_OK_response.json | 18 +- ...ate_degradation_returns_OK_response.freeze | 2 +- ...pdate_degradation_returns_OK_response.json | 30 +- ...ate_maintenance_returns_OK_response.freeze | 1 + ...pdate_maintenance_returns_OK_response.json | 113 ++ ...nization_handle_returns_OK_response.freeze | 1 - ...ganization_handle_returns_OK_response.json | 83 -- ...ate_status_page_returns_OK_response.freeze | 2 +- ...pdate_status_page_returns_OK_response.json | 18 +- .../com/datadog/api/client/v2/api/given.json | 32 +- .../v2/api/google_chat_integration.feature | 175 --- .../api/client/v2/api/status_pages.feature | 64 + .../com/datadog/api/client/v2/api/undo.json | 72 +- 107 files changed, 6729 insertions(+), 3594 deletions(-) delete mode 100644 examples/v2/google-chat-integration/CreateOrganizationHandle.java delete mode 100644 examples/v2/google-chat-integration/DeleteOrganizationHandle.java delete mode 100644 examples/v2/google-chat-integration/GetOrganizationHandle.java delete mode 100644 examples/v2/google-chat-integration/ListOrganizationHandles.java delete mode 100644 examples/v2/google-chat-integration/UpdateOrganizationHandle.java create mode 100644 examples/v2/status-pages/CreateMaintenance.java create mode 100644 examples/v2/status-pages/CreateMaintenance_2202276054.java create mode 100644 examples/v2/status-pages/GetMaintenance.java create mode 100644 examples/v2/status-pages/GetMaintenance_28315012.java rename examples/v2/{google-chat-integration/GetSpaceByDisplayName.java => status-pages/ListMaintenances.java} (50%) create mode 100644 examples/v2/status-pages/UpdateMaintenance.java create mode 100644 examples/v2/status-pages/UpdateMaintenance_850661063.java delete mode 100644 src/main/java/com/datadog/api/client/v2/api/GoogleChatIntegrationApi.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequest.java rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatCreateOrganizationHandleRequestData.java => CreateMaintenanceRequestData.java} (60%) create mode 100644 src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestDataAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestDataAttributesComponentsAffectedItems.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributesSource.java rename src/main/java/com/datadog/api/client/v2/model/{DegradationArrayIncluded.java => DegradationIncluded.java} (87%) delete mode 100644 src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponseAttributes.java delete mode 100644 src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleType.java delete mode 100644 src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequestData.java rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatUpdateOrganizationHandleRequestAttributes.java => Maintenance.java} (56%) create mode 100644 src/main/java/com/datadog/api/client/v2/model/MaintenanceArray.java rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatAppNamedSpaceResponseData.java => MaintenanceData.java} (58%) create mode 100644 src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributes.java rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatCreateOrganizationHandleRequestAttributes.java => MaintenanceDataAttributesComponentsAffectedItems.java} (53%) create mode 100644 src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesStatus.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesUpdatesItems.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationships.java rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatOrganizationHandleResponse.java => MaintenanceDataRelationshipsCreatedByUser.java} (72%) rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatUpdateOrganizationHandleRequest.java => MaintenanceDataRelationshipsCreatedByUserData.java} (60%) rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatOrganizationHandlesResponse.java => MaintenanceDataRelationshipsLastModifiedByUser.java} (66%) rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatCreateOrganizationHandleRequest.java => MaintenanceDataRelationshipsLastModifiedByUserData.java} (61%) rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatAppNamedSpaceResponse.java => MaintenanceDataRelationshipsStatusPage.java} (73%) create mode 100644 src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsStatusPageData.java rename src/main/java/com/datadog/api/client/v2/model/{StatusPagesResponseMeta.java => PaginationMeta.java} (81%) rename src/main/java/com/datadog/api/client/v2/model/{StatusPagesPagination.java => PaginationMetaPage.java} (81%) rename src/main/java/com/datadog/api/client/v2/model/{StatusPagesPaginationType.java => PaginationMetaPageType.java} (59%) create mode 100644 src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequest.java rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatOrganizationHandleResponseData.java => PatchMaintenanceRequestData.java} (61%) create mode 100644 src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributes.java rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatOrganizationHandleResponseAttributes.java => PatchMaintenanceRequestDataAttributesComponentsAffectedItems.java} (51%) create mode 100644 src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus.java rename src/main/java/com/datadog/api/client/v2/model/{GoogleChatAppNamedSpaceType.java => PatchMaintenanceRequestDataType.java} (52%) create mode 100644 src/test/resources/cassettes/features/v2/Create_maintenance_returns_Created_response.freeze create mode 100644 src/test/resources/cassettes/features/v2/Create_maintenance_returns_Created_response.json delete mode 100644 src/test/resources/cassettes/features/v2/Create_organization_handle_returns_CREATED_response.freeze delete mode 100644 src/test/resources/cassettes/features/v2/Create_organization_handle_returns_CREATED_response.json delete mode 100644 src/test/resources/cassettes/features/v2/Delete_organization_handle_returns_OK_response.freeze delete mode 100644 src/test/resources/cassettes/features/v2/Delete_organization_handle_returns_OK_response.json delete mode 100644 src/test/resources/cassettes/features/v2/Get_all_organization_handles_returns_OK_response.freeze delete mode 100644 src/test/resources/cassettes/features/v2/Get_all_organization_handles_returns_OK_response.json create mode 100644 src/test/resources/cassettes/features/v2/Get_maintenance_returns_OK_response.freeze create mode 100644 src/test/resources/cassettes/features/v2/Get_maintenance_returns_OK_response.json delete mode 100644 src/test/resources/cassettes/features/v2/Get_organization_handle_returns_OK_response.freeze delete mode 100644 src/test/resources/cassettes/features/v2/Get_organization_handle_returns_OK_response.json delete mode 100644 src/test/resources/cassettes/features/v2/Get_space_information_by_display_name_returns_OK_response.freeze delete mode 100644 src/test/resources/cassettes/features/v2/Get_space_information_by_display_name_returns_OK_response.json create mode 100644 src/test/resources/cassettes/features/v2/List_maintenances_returns_OK_response.freeze create mode 100644 src/test/resources/cassettes/features/v2/List_maintenances_returns_OK_response.json create mode 100644 src/test/resources/cassettes/features/v2/Update_maintenance_returns_OK_response.freeze create mode 100644 src/test/resources/cassettes/features/v2/Update_maintenance_returns_OK_response.json delete mode 100644 src/test/resources/cassettes/features/v2/Update_organization_handle_returns_OK_response.freeze delete mode 100644 src/test/resources/cassettes/features/v2/Update_organization_handle_returns_OK_response.json delete mode 100644 src/test/resources/com/datadog/api/client/v2/api/google_chat_integration.feature diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index c7e291e7fa0..71e5b0838f9 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -510,34 +510,6 @@ components: items: $ref: '#/components/schemas/GetIssueIncludeQueryParameterItem' type: array - GoogleChatHandleIdPathParameter: - description: Your organization handle ID. - in: path - name: handle_id - required: true - schema: - type: string - GoogleChatOrganizationBindingIdPathParameter: - description: Your organization binding ID. - in: path - name: organization_binding_id - required: true - schema: - type: string - GoogleChatOrganizationDomainNamePathParameter: - description: The Google Chat domain name. - in: path - name: domain_name - required: true - schema: - type: string - GoogleChatOrganizationSpaceDisplayNamePathParameter: - description: The Google Chat space display name. - in: path - name: space_display_name - required: true - schema: - type: string IncidentIDPathParameter: description: The UUID of the incident. in: path @@ -15150,6 +15122,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 scheduled maintenance. + properties: + completed_date: + description: Timestamp of when the scheduled maintenance was completed. + format: date-time + type: string + completed_description: + description: The description shown when the scheduled maintenance is completed. + type: string + components_affected: + description: The components affected by the scheduled 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 scheduled 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: @@ -19922,7 +19975,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: @@ -19935,17 +19988,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: @@ -19980,6 +20029,10 @@ components: description: Timestamp of when the degradation was last modified. format: date-time type: string + promised_next_update_at: + type: string + source: + $ref: '#/components/schemas/DegradationDataAttributesSource' status: $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' title: @@ -20008,6 +20061,22 @@ components: - id - status type: object + DegradationDataAttributesSource: + properties: + created_at: + example: '' + format: date-time + type: string + source_id: + example: '' + type: string + type: + $ref: '#/components/schemas/EntityResponseIncludedIncidentType' + required: + - created_at + - source_id + - type + type: object DegradationDataAttributesUpdatesItems: properties: components_affected: @@ -20033,6 +20102,8 @@ components: format: date-time readOnly: true type: string + started_at: + type: string status: $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' type: object @@ -20125,6 +20196,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: @@ -21983,6 +22058,7 @@ components: description: Incident description. enum: - incident + example: incident type: string x-enum-varnames: - INCIDENT @@ -28541,206 +28617,6 @@ components: type: string x-enum-varnames: - GLOBAL_VARIABLES - GoogleChatAppNamedSpaceResponse: - description: Response with Google Chat space information. - properties: - data: - $ref: '#/components/schemas/GoogleChatAppNamedSpaceResponseData' - required: - - data - type: object - GoogleChatAppNamedSpaceResponseAttributes: - description: Google Chat space attributes. - properties: - display_name: - description: Google space display name. - example: Fake Space Name - maxLength: 255 - type: string - organization_binding_id: - description: Organization binding ID. - example: 2f18a894-adb5-4c53-8248-39fd3f5386a5 - maxLength: 255 - type: string - resource_name: - description: Google space resource name. - example: spaces/AAAAAAAAA - maxLength: 255 - type: string - space_uri: - description: Google space URI. - example: https://chat.google.com/room/AAAAAAAAA - maxLength: 255 - type: string - type: object - GoogleChatAppNamedSpaceResponseData: - description: Google Chat space data from a response. - properties: - attributes: - $ref: '#/components/schemas/GoogleChatAppNamedSpaceResponseAttributes' - id: - description: The ID of the Google Chat space. - example: 596da4af-0563-4097-90ff-07230c3f9db3 - maxLength: 100 - minLength: 1 - type: string - type: - $ref: '#/components/schemas/GoogleChatAppNamedSpaceType' - type: object - GoogleChatAppNamedSpaceType: - default: google-chat-app-named-space - description: Google Chat space resource type. - enum: - - google-chat-app-named-space - example: google-chat-app-named-space - type: string - x-enum-varnames: - - GOOGLE_CHAT_APP_NAMED_SPACE_TYPE - GoogleChatCreateOrganizationHandleRequest: - description: Create organization handle request. - properties: - data: - $ref: '#/components/schemas/GoogleChatCreateOrganizationHandleRequestData' - type: - $ref: '#/components/schemas/GoogleChatOrganizationHandleType' - required: - - type - - data - type: object - GoogleChatCreateOrganizationHandleRequestAttributes: - description: Organization handle attributes for a create request. - properties: - name: - description: Organization handle name. - example: fake-handle-name - maxLength: 255 - type: string - space_resource_name: - description: Google space resource name. - example: spaces/AAAAAAAAA - maxLength: 255 - type: string - required: - - name - - space_resource_name - type: object - GoogleChatCreateOrganizationHandleRequestData: - description: Organization handle data for a create request. - properties: - attributes: - $ref: '#/components/schemas/GoogleChatCreateOrganizationHandleRequestAttributes' - required: - - attributes - type: object - GoogleChatOrganizationHandleResponse: - description: Organization handle for monitor notifications to a Google Chat - space within a Google organization. - properties: - data: - $ref: '#/components/schemas/GoogleChatOrganizationHandleResponseData' - required: - - data - type: object - GoogleChatOrganizationHandleResponseAttributes: - description: Organization handle attributes. - properties: - name: - description: Organization handle name. - example: fake-handle-name - maxLength: 255 - type: string - space_display_name: - description: Google space display name. - example: Fake Space Name - maxLength: 255 - type: string - space_resource_name: - description: Google space resource name. - example: spaces/AAAAAAAAA - maxLength: 255 - type: string - type: object - GoogleChatOrganizationHandleResponseData: - description: Organization handle data from a response. - properties: - attributes: - $ref: '#/components/schemas/GoogleChatOrganizationHandleResponseAttributes' - id: - description: The ID of the organization handle. - example: 596da4af-0563-4097-90ff-07230c3f9db3 - maxLength: 100 - minLength: 1 - type: string - type: - $ref: '#/components/schemas/GoogleChatOrganizationHandleType' - type: object - GoogleChatOrganizationHandleType: - default: google-chat-organization-handle - description: Organization handle resource type. - enum: - - google-chat-organization-handle - example: google-chat-organization-handle - type: string - x-enum-varnames: - - GOOGLE_CHAT_ORGANIZATION_HANDLE_TYPE - GoogleChatOrganizationHandlesResponse: - description: List of organization handles for monitor notifications to Google - Chat spaces within a Google organization. - properties: - data: - description: An array of organization handles. - example: - - attributes: - name: general-handle - space_display_name: General - space_resource_name: spaces/AAAAAAAAA - id: 596da4af-0563-4097-90ff-07230c3f9db3 - type: google-chat-organization-handle - - attributes: - name: general-handle-2 - space_display_name: General2 - space_resource_name: spaces/BBBBBBBBB - id: 596da4af-0563-4097-90ff-07230c3f9db4 - type: google-chat-organization-handle - items: - $ref: '#/components/schemas/GoogleChatOrganizationHandleResponseData' - type: array - required: - - data - type: object - GoogleChatUpdateOrganizationHandleRequest: - description: Update organization handle request. - properties: - data: - $ref: '#/components/schemas/GoogleChatUpdateOrganizationHandleRequestData' - type: - $ref: '#/components/schemas/GoogleChatOrganizationHandleType' - required: - - type - - data - type: object - GoogleChatUpdateOrganizationHandleRequestAttributes: - description: Organization handle attributes for an update request. - properties: - name: - description: Organization handle name. - example: fake-handle-name - maxLength: 255 - type: string - space_resource_name: - description: Google space resource name. - example: spaces/AAAAAAAAA - maxLength: 255 - type: string - type: object - GoogleChatUpdateOrganizationHandleRequestData: - description: Organization handle data for an update request. - properties: - attributes: - $ref: '#/components/schemas/GoogleChatUpdateOrganizationHandleRequestAttributes' - required: - - attributes - type: object GoogleMeetConfigurationReference: description: A reference to a Google Meet Configuration resource. nullable: true @@ -36573,6 +36449,253 @@ components: - ms_channel_name - redirect_url type: object + Maintenance: + properties: + data: + $ref: '#/components/schemas/MaintenanceData' + included: + description: The included related resources of a scheduled 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: + description: A scheduled maintenance resource. The same resource can be in scheduled, + in progress, completed, or canceled status over its lifecycle. + properties: + attributes: + $ref: '#/components/schemas/MaintenanceDataAttributes' + id: + description: The ID of the scheduled 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 scheduled 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 scheduled 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 scheduled maintenance was last modified. + format: date-time + type: string + published_date: + description: Timestamp of when the scheduled 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 scheduled maintenance. + title: + description: Title of the scheduled maintenance. + type: string + updates: + description: Past updates made to the scheduled 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 current status of the scheduled maintenance. + enum: + - scheduled + - in_progress + - completed + - canceled + type: string + x-enum-varnames: + - SCHEDULED + - IN_PROGRESS + - COMPLETED + - CANCELED + MaintenanceDataAttributesUpdatesItems: + properties: + components_affected: + description: The components affected at the time of the update. + items: + $ref: '#/components/schemas/MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems' + type: array + created_at: + description: Timestamp of when the update was created. + format: date-time + readOnly: true + type: string + description: + description: Description of the update. + type: string + id: + description: Identifier of the update. + format: uuid + readOnly: true + type: string + manual_transition: + 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 scheduled maintenance. + properties: + created_by_user: + $ref: '#/components/schemas/MaintenanceDataRelationshipsCreatedByUser' + description: The Datadog user who created the scheduled maintenance. + last_modified_by_user: + $ref: '#/components/schemas/MaintenanceDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the scheduled maintenance. + status_page: + $ref: '#/components/schemas/MaintenanceDataRelationshipsStatusPage' + description: The status page the scheduled maintenance belongs to. + type: object + MaintenanceDataRelationshipsCreatedByUser: + properties: + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsCreatedByUserData' + required: + - data + type: object + MaintenanceDataRelationshipsCreatedByUserData: + properties: + id: + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + MaintenanceDataRelationshipsLastModifiedByUser: + properties: + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + MaintenanceDataRelationshipsLastModifiedByUserData: + properties: + id: + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + MaintenanceDataRelationshipsStatusPage: + properties: + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsStatusPageData' + required: + - data + type: object + MaintenanceDataRelationshipsStatusPageData: + properties: + id: + example: '' + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object MemberTeam: description: A member team properties: @@ -46102,6 +46225,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: @@ -46409,6 +46606,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 scheduled 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 scheduled 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 scheduled maintenance. + title: + description: The title of the scheduled 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: @@ -61901,7 +62199,7 @@ components: $ref: '#/components/schemas/StatusPageArrayIncluded' type: array meta: - $ref: '#/components/schemas/StatusPagesResponseMeta' + $ref: '#/components/schemas/PaginationMeta' required: - data type: object @@ -62635,71 +62933,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: @@ -83384,177 +83617,6 @@ paths: operator: OR permissions: - gcp_configuration_edit - /api/v2/integration/google-chat/organizations/app/named-spaces/{domain_name}/{space_display_name}: - get: - description: Get the resource name and organization binding ID of a space in - the Datadog Google Chat integration. - operationId: GetSpaceByDisplayName - parameters: - - $ref: '#/components/parameters/GoogleChatOrganizationDomainNamePathParameter' - - $ref: '#/components/parameters/GoogleChatOrganizationSpaceDisplayNamePathParameter' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleChatAppNamedSpaceResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get space information by display name - tags: - - Google Chat Integration - /api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles: - get: - description: Get a list of all organization handles from the Datadog Google - Chat integration. - operationId: ListOrganizationHandles - parameters: - - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleChatOrganizationHandlesResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all organization handles - tags: - - Google Chat Integration - post: - description: Create an organization handle in the Datadog Google Chat integration. - operationId: CreateOrganizationHandle - parameters: - - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleChatCreateOrganizationHandleRequest' - description: Organization handle payload. - required: true - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleChatOrganizationHandleResponse' - description: CREATED - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create organization handle - tags: - - Google Chat Integration - x-codegen-request-body-name: body - /api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles/{handle_id}: - delete: - description: Delete an organization handle from the Datadog Google Chat integration. - operationId: DeleteOrganizationHandle - parameters: - - description: Your organization binding ID. - in: path - name: organization_binding_id - required: true - schema: - type: string - - description: Your organization handle ID. - in: path - name: handle_id - required: true - schema: - type: string - responses: - '204': - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete organization handle - tags: - - Google Chat Integration - get: - description: Get an organization handle from the Datadog Google Chat integration. - operationId: GetOrganizationHandle - parameters: - - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' - - $ref: '#/components/parameters/GoogleChatHandleIdPathParameter' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleChatOrganizationHandleResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get organization handle - tags: - - Google Chat Integration - patch: - description: Update an organization handle from the Datadog Google Chat integration. - operationId: UpdateOrganizationHandle - parameters: - - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' - - $ref: '#/components/parameters/GoogleChatHandleIdPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleChatUpdateOrganizationHandleRequest' - description: Organization handle payload. - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/GoogleChatOrganizationHandleResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update organization handle - tags: - - Google Chat Integration - x-codegen-request-body-name: body /api/v2/integration/jira/accounts: get: description: Get all Jira accounts for the organization. @@ -101797,6 +101859,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: @@ -101817,6 +101885,68 @@ paths: operator: AND permissions: - status_pages_settings_read + /api/v2/statuspages/maintenances: + get: + description: Lists all maintenances for the organization. Results can include + scheduled, in progress, completed, and canceled maintenances. 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 filter by maintenance status. Supported values: scheduled, + in_progress, completed, canceled.' + in: query + name: filter[status] + schema: + type: string + - description: 'Sort order. Prefix with ''-'' for descending. Supported values: + created_at, -created_at, start_date, -start_date.' + in: query + name: sort + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/MaintenanceArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List maintenances + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read /api/v2/statuspages/{page_id}: delete: description: Deletes a status page by its ID. @@ -102345,6 +102475,160 @@ paths: operator: AND permissions: - status_pages_incident_write + /api/v2/statuspages/{page_id}/maintenances: + post: + description: Creates a new scheduled maintenance. Scheduled maintenances are + set for a future time window. + 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 scheduled maintenance. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: 'Comma-separated list of resources to include. Supported values: + created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMaintenanceRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Maintenance' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create Scheduled 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 scheduled maintenance by its ID. The maintenance + may be in scheduled, in progress, completed, or canceled status. + 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 scheduled 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 Scheduled Maintenance + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing scheduled maintenance's attributes. The maintenance + may be in scheduled, in progress, completed, or canceled status. + 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 scheduled maintenance. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: The ID of the scheduled 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 Scheduled 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. @@ -106771,14 +107055,6 @@ tags: externalDocs: url: https://docs.datadoghq.com/integrations/google_cloud_platform name: GCP Integration -- description: 'Configure your [Datadog Google Chat integration](https://docs.datadoghq.com/integrations/google-hangouts-chat/) - - directly through the Datadog API.' - externalDocs: - description: For more information about the Datadog Google Chat integration, see - the integration page. - url: https://docs.datadoghq.com/integrations/google-hangouts-chat/ - name: Google Chat Integration - description: 'Configure High Availability Multi-Region (HAMR) connections between Datadog organizations. diff --git a/examples/v2/google-chat-integration/CreateOrganizationHandle.java b/examples/v2/google-chat-integration/CreateOrganizationHandle.java deleted file mode 100644 index 45b0f4d73e0..00000000000 --- a/examples/v2/google-chat-integration/CreateOrganizationHandle.java +++ /dev/null @@ -1,40 +0,0 @@ -// Create organization handle returns "CREATED" response - -import com.datadog.api.client.ApiClient; -import com.datadog.api.client.ApiException; -import com.datadog.api.client.v2.api.GoogleChatIntegrationApi; -import com.datadog.api.client.v2.model.GoogleChatCreateOrganizationHandleRequest; -import com.datadog.api.client.v2.model.GoogleChatCreateOrganizationHandleRequestAttributes; -import com.datadog.api.client.v2.model.GoogleChatCreateOrganizationHandleRequestData; -import com.datadog.api.client.v2.model.GoogleChatOrganizationHandleResponse; -import com.datadog.api.client.v2.model.GoogleChatOrganizationHandleType; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = ApiClient.getDefaultApiClient(); - GoogleChatIntegrationApi apiInstance = new GoogleChatIntegrationApi(defaultClient); - - GoogleChatCreateOrganizationHandleRequest body = - new GoogleChatCreateOrganizationHandleRequest() - .data( - new GoogleChatCreateOrganizationHandleRequestData() - .attributes( - new GoogleChatCreateOrganizationHandleRequestAttributes() - .name("Example-Google-Chat-Integration") - .spaceResourceName("spaces/AAQA-zFIks8"))) - .type(GoogleChatOrganizationHandleType.GOOGLE_CHAT_ORGANIZATION_HANDLE_TYPE); - - try { - GoogleChatOrganizationHandleResponse result = - apiInstance.createOrganizationHandle("e54cb570-c674-529c-769d-84b312288ed7", body); - System.out.println(result); - } catch (ApiException e) { - System.err.println( - "Exception when calling GoogleChatIntegrationApi#createOrganizationHandle"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} diff --git a/examples/v2/google-chat-integration/DeleteOrganizationHandle.java b/examples/v2/google-chat-integration/DeleteOrganizationHandle.java deleted file mode 100644 index 051224cf7af..00000000000 --- a/examples/v2/google-chat-integration/DeleteOrganizationHandle.java +++ /dev/null @@ -1,27 +0,0 @@ -// Delete organization handle returns "OK" response - -import com.datadog.api.client.ApiClient; -import com.datadog.api.client.ApiException; -import com.datadog.api.client.v2.api.GoogleChatIntegrationApi; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = ApiClient.getDefaultApiClient(); - GoogleChatIntegrationApi apiInstance = new GoogleChatIntegrationApi(defaultClient); - - // there is a valid "organization_handle" in the system - String ORGANIZATION_HANDLE_DATA_ID = System.getenv("ORGANIZATION_HANDLE_DATA_ID"); - - try { - apiInstance.deleteOrganizationHandle( - "e54cb570-c674-529c-769d-84b312288ed7", ORGANIZATION_HANDLE_DATA_ID); - } catch (ApiException e) { - System.err.println( - "Exception when calling GoogleChatIntegrationApi#deleteOrganizationHandle"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} diff --git a/examples/v2/google-chat-integration/GetOrganizationHandle.java b/examples/v2/google-chat-integration/GetOrganizationHandle.java deleted file mode 100644 index edf15b791c8..00000000000 --- a/examples/v2/google-chat-integration/GetOrganizationHandle.java +++ /dev/null @@ -1,29 +0,0 @@ -// Get organization handle returns "OK" response - -import com.datadog.api.client.ApiClient; -import com.datadog.api.client.ApiException; -import com.datadog.api.client.v2.api.GoogleChatIntegrationApi; -import com.datadog.api.client.v2.model.GoogleChatOrganizationHandleResponse; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = ApiClient.getDefaultApiClient(); - GoogleChatIntegrationApi apiInstance = new GoogleChatIntegrationApi(defaultClient); - - // there is a valid "organization_handle" in the system - String ORGANIZATION_HANDLE_DATA_ID = System.getenv("ORGANIZATION_HANDLE_DATA_ID"); - - try { - GoogleChatOrganizationHandleResponse result = - apiInstance.getOrganizationHandle( - "e54cb570-c674-529c-769d-84b312288ed7", ORGANIZATION_HANDLE_DATA_ID); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling GoogleChatIntegrationApi#getOrganizationHandle"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} diff --git a/examples/v2/google-chat-integration/ListOrganizationHandles.java b/examples/v2/google-chat-integration/ListOrganizationHandles.java deleted file mode 100644 index d8cb2b738a9..00000000000 --- a/examples/v2/google-chat-integration/ListOrganizationHandles.java +++ /dev/null @@ -1,25 +0,0 @@ -// Get all organization handles returns "OK" response - -import com.datadog.api.client.ApiClient; -import com.datadog.api.client.ApiException; -import com.datadog.api.client.v2.api.GoogleChatIntegrationApi; -import com.datadog.api.client.v2.model.GoogleChatOrganizationHandlesResponse; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = ApiClient.getDefaultApiClient(); - GoogleChatIntegrationApi apiInstance = new GoogleChatIntegrationApi(defaultClient); - - try { - GoogleChatOrganizationHandlesResponse result = - apiInstance.listOrganizationHandles("e54cb570-c674-529c-769d-84b312288ed7"); - System.out.println(result); - } catch (ApiException e) { - System.err.println("Exception when calling GoogleChatIntegrationApi#listOrganizationHandles"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} diff --git a/examples/v2/google-chat-integration/UpdateOrganizationHandle.java b/examples/v2/google-chat-integration/UpdateOrganizationHandle.java deleted file mode 100644 index e54b473877a..00000000000 --- a/examples/v2/google-chat-integration/UpdateOrganizationHandle.java +++ /dev/null @@ -1,45 +0,0 @@ -// Update organization handle returns "OK" response - -import com.datadog.api.client.ApiClient; -import com.datadog.api.client.ApiException; -import com.datadog.api.client.v2.api.GoogleChatIntegrationApi; -import com.datadog.api.client.v2.model.GoogleChatOrganizationHandleResponse; -import com.datadog.api.client.v2.model.GoogleChatOrganizationHandleType; -import com.datadog.api.client.v2.model.GoogleChatUpdateOrganizationHandleRequest; -import com.datadog.api.client.v2.model.GoogleChatUpdateOrganizationHandleRequestAttributes; -import com.datadog.api.client.v2.model.GoogleChatUpdateOrganizationHandleRequestData; - -public class Example { - public static void main(String[] args) { - ApiClient defaultClient = ApiClient.getDefaultApiClient(); - GoogleChatIntegrationApi apiInstance = new GoogleChatIntegrationApi(defaultClient); - - // there is a valid "organization_handle" in the system - String ORGANIZATION_HANDLE_DATA_ATTRIBUTES_NAME = - System.getenv("ORGANIZATION_HANDLE_DATA_ATTRIBUTES_NAME"); - String ORGANIZATION_HANDLE_DATA_ID = System.getenv("ORGANIZATION_HANDLE_DATA_ID"); - - GoogleChatUpdateOrganizationHandleRequest body = - new GoogleChatUpdateOrganizationHandleRequest() - .data( - new GoogleChatUpdateOrganizationHandleRequestData() - .attributes( - new GoogleChatUpdateOrganizationHandleRequestAttributes() - .name("fake-handle-name--updated"))) - .type(GoogleChatOrganizationHandleType.GOOGLE_CHAT_ORGANIZATION_HANDLE_TYPE); - - try { - GoogleChatOrganizationHandleResponse result = - apiInstance.updateOrganizationHandle( - "e54cb570-c674-529c-769d-84b312288ed7", ORGANIZATION_HANDLE_DATA_ID, body); - System.out.println(result); - } catch (ApiException e) { - System.err.println( - "Exception when calling GoogleChatIntegrationApi#updateOrganizationHandle"); - System.err.println("Status code: " + e.getCode()); - System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); - } - } -} diff --git a/examples/v2/status-pages/CreateMaintenance.java b/examples/v2/status-pages/CreateMaintenance.java new file mode 100644 index 00000000000..16360a8d66f --- /dev/null +++ b/examples/v2/status-pages/CreateMaintenance.java @@ -0,0 +1,61 @@ +// Create Scheduled Maintenance returns "Created" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.StatusPagesApi; +import com.datadog.api.client.v2.model.CreateMaintenanceRequest; +import com.datadog.api.client.v2.model.CreateMaintenanceRequestData; +import com.datadog.api.client.v2.model.CreateMaintenanceRequestDataAttributes; +import com.datadog.api.client.v2.model.CreateMaintenanceRequestDataAttributesComponentsAffectedItems; +import com.datadog.api.client.v2.model.Maintenance; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestDataType; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); + + CreateMaintenanceRequest body = + new CreateMaintenanceRequest() + .data( + new CreateMaintenanceRequestData() + .attributes( + new CreateMaintenanceRequestDataAttributes() + .completedDate(OffsetDateTime.parse("2026-02-18T19:51:13.332360075Z")) + .completedDescription( + "We have completed maintenance on the API to improve performance.") + .componentsAffected( + Collections.singletonList( + new CreateMaintenanceRequestDataAttributesComponentsAffectedItems() + .id(UUID.fromString("1234abcd-12ab-34cd-56ef-123456abcdef")) + .status( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + .OPERATIONAL))) + .inProgressDescription( + "We are currently performing maintenance on the API to improve" + + " performance.") + .scheduledDescription( + "We will be performing maintenance on the API to improve" + + " performance.") + .startDate(OffsetDateTime.parse("2026-02-18T19:21:13.332360075Z")) + .title("API Maintenance")) + .type(PatchMaintenanceRequestDataType.MAINTENANCES)); + + try { + Maintenance result = + apiInstance.createMaintenance( + UUID.fromString("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPagesApi#createMaintenance"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/status-pages/CreateMaintenance_2202276054.java b/examples/v2/status-pages/CreateMaintenance_2202276054.java new file mode 100644 index 00000000000..99a7a868fbd --- /dev/null +++ b/examples/v2/status-pages/CreateMaintenance_2202276054.java @@ -0,0 +1,75 @@ +// Create maintenance returns "Created" response +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.StatusPagesApi; +import com.datadog.api.client.v2.model.CreateMaintenanceRequest; +import com.datadog.api.client.v2.model.CreateMaintenanceRequestData; +import com.datadog.api.client.v2.model.CreateMaintenanceRequestDataAttributes; +import com.datadog.api.client.v2.model.CreateMaintenanceRequestDataAttributesComponentsAffectedItems; +import com.datadog.api.client.v2.model.Maintenance; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestDataType; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); + + // there is a valid "status_page" in the system + UUID STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID = null; + try { + STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID = + UUID.fromString( + System.getenv("STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID")); + } catch (IllegalArgumentException e) { + System.err.println("Error parsing UUID: " + e.getMessage()); + } + UUID STATUS_PAGE_DATA_ID = null; + try { + STATUS_PAGE_DATA_ID = UUID.fromString(System.getenv("STATUS_PAGE_DATA_ID")); + } catch (IllegalArgumentException e) { + System.err.println("Error parsing UUID: " + e.getMessage()); + } + + CreateMaintenanceRequest body = + new CreateMaintenanceRequest() + .data( + new CreateMaintenanceRequestData() + .attributes( + new CreateMaintenanceRequestDataAttributes() + .title("API Maintenance") + .scheduledDescription( + "We will be performing maintenance on the API to improve" + + " performance.") + .inProgressDescription( + "We are currently performing maintenance on the API to improve" + + " performance.") + .completedDescription( + "We have completed maintenance on the API to improve performance.") + .startDate(OffsetDateTime.now().plusHours(1)) + .completedDate(OffsetDateTime.now().plusHours(2)) + .componentsAffected( + Collections.singletonList( + new CreateMaintenanceRequestDataAttributesComponentsAffectedItems() + .id( + STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID) + .status( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + .OPERATIONAL)))) + .type(PatchMaintenanceRequestDataType.MAINTENANCES)); + + try { + Maintenance result = apiInstance.createMaintenance(STATUS_PAGE_DATA_ID, body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPagesApi#createMaintenance"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/status-pages/GetMaintenance.java b/examples/v2/status-pages/GetMaintenance.java new file mode 100644 index 00000000000..9d7cc9f95c3 --- /dev/null +++ b/examples/v2/status-pages/GetMaintenance.java @@ -0,0 +1,28 @@ +// Get Scheduled Maintenance returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.StatusPagesApi; +import com.datadog.api.client.v2.model.Maintenance; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); + + try { + Maintenance result = + apiInstance.getMaintenance( + UUID.fromString("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + UUID.fromString("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d")); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPagesApi#getMaintenance"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/status-pages/GetMaintenance_28315012.java b/examples/v2/status-pages/GetMaintenance_28315012.java new file mode 100644 index 00000000000..de9ba809ee0 --- /dev/null +++ b/examples/v2/status-pages/GetMaintenance_28315012.java @@ -0,0 +1,41 @@ +// Get maintenance returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.StatusPagesApi; +import com.datadog.api.client.v2.model.Maintenance; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); + + // there is a valid "status_page" in the system + UUID STATUS_PAGE_DATA_ID = null; + try { + STATUS_PAGE_DATA_ID = UUID.fromString(System.getenv("STATUS_PAGE_DATA_ID")); + } catch (IllegalArgumentException e) { + System.err.println("Error parsing UUID: " + e.getMessage()); + } + + // there is a valid "maintenance" in the system + UUID MAINTENANCE_DATA_ID = null; + try { + MAINTENANCE_DATA_ID = UUID.fromString(System.getenv("MAINTENANCE_DATA_ID")); + } catch (IllegalArgumentException e) { + System.err.println("Error parsing UUID: " + e.getMessage()); + } + + try { + Maintenance result = apiInstance.getMaintenance(STATUS_PAGE_DATA_ID, MAINTENANCE_DATA_ID); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPagesApi#getMaintenance"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/google-chat-integration/GetSpaceByDisplayName.java b/examples/v2/status-pages/ListMaintenances.java similarity index 50% rename from examples/v2/google-chat-integration/GetSpaceByDisplayName.java rename to examples/v2/status-pages/ListMaintenances.java index c36c7259bcc..1cdadfa2e53 100644 --- a/examples/v2/google-chat-integration/GetSpaceByDisplayName.java +++ b/examples/v2/status-pages/ListMaintenances.java @@ -1,21 +1,20 @@ -// Get space information by display name returns "OK" response +// List maintenances returns "OK" response import com.datadog.api.client.ApiClient; import com.datadog.api.client.ApiException; -import com.datadog.api.client.v2.api.GoogleChatIntegrationApi; -import com.datadog.api.client.v2.model.GoogleChatAppNamedSpaceResponse; +import com.datadog.api.client.v2.api.StatusPagesApi; +import com.datadog.api.client.v2.model.MaintenanceArray; public class Example { public static void main(String[] args) { ApiClient defaultClient = ApiClient.getDefaultApiClient(); - GoogleChatIntegrationApi apiInstance = new GoogleChatIntegrationApi(defaultClient); + StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); try { - GoogleChatAppNamedSpaceResponse result = - apiInstance.getSpaceByDisplayName("datadog.ninja", "api-test-space"); + MaintenanceArray result = apiInstance.listMaintenances(); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling GoogleChatIntegrationApi#getSpaceByDisplayName"); + System.err.println("Exception when calling StatusPagesApi#listMaintenances"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); diff --git a/examples/v2/status-pages/UpdateMaintenance.java b/examples/v2/status-pages/UpdateMaintenance.java new file mode 100644 index 00000000000..2f13e417330 --- /dev/null +++ b/examples/v2/status-pages/UpdateMaintenance.java @@ -0,0 +1,52 @@ +// Update Scheduled Maintenance returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.StatusPagesApi; +import com.datadog.api.client.v2.model.Maintenance; +import com.datadog.api.client.v2.model.PatchMaintenanceRequest; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestData; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestDataAttributes; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestDataType; +import java.time.OffsetDateTime; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); + + PatchMaintenanceRequest body = + new PatchMaintenanceRequest() + .data( + new PatchMaintenanceRequestData() + .attributes( + new PatchMaintenanceRequestDataAttributes() + .completedDate(OffsetDateTime.parse("2026-02-18T20:01:13.332360075Z")) + .inProgressDescription( + "We are currently performing maintenance on the API to improve" + + " performance for 40 minutes.") + .scheduledDescription( + "We will be performing maintenance on the API to improve" + + " performance for 40 minutes.") + .startDate(OffsetDateTime.parse("2026-02-18T19:21:13.332360075Z")) + .title("API Maintenance")) + .id(UUID.fromString("1234abcd-12ab-34cd-56ef-123456abcdef")) + .type(PatchMaintenanceRequestDataType.MAINTENANCES)); + + try { + Maintenance result = + apiInstance.updateMaintenance( + UUID.fromString("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + UUID.fromString("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPagesApi#updateMaintenance"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/status-pages/UpdateMaintenance_850661063.java b/examples/v2/status-pages/UpdateMaintenance_850661063.java new file mode 100644 index 00000000000..2f01752cf05 --- /dev/null +++ b/examples/v2/status-pages/UpdateMaintenance_850661063.java @@ -0,0 +1,61 @@ +// Update maintenance returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.StatusPagesApi; +import com.datadog.api.client.v2.model.Maintenance; +import com.datadog.api.client.v2.model.PatchMaintenanceRequest; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestData; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestDataAttributes; +import com.datadog.api.client.v2.model.PatchMaintenanceRequestDataType; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); + + // there is a valid "status_page" in the system + UUID STATUS_PAGE_DATA_ID = null; + try { + STATUS_PAGE_DATA_ID = UUID.fromString(System.getenv("STATUS_PAGE_DATA_ID")); + } catch (IllegalArgumentException e) { + System.err.println("Error parsing UUID: " + e.getMessage()); + } + + // there is a valid "maintenance" in the system + UUID MAINTENANCE_DATA_ID = null; + try { + MAINTENANCE_DATA_ID = UUID.fromString(System.getenv("MAINTENANCE_DATA_ID")); + } catch (IllegalArgumentException e) { + System.err.println("Error parsing UUID: " + e.getMessage()); + } + + PatchMaintenanceRequest body = + new PatchMaintenanceRequest() + .data( + new PatchMaintenanceRequestData() + .attributes( + new PatchMaintenanceRequestDataAttributes() + .scheduledDescription( + "We will be performing maintenance on the API to improve" + + " performance for 40 minutes.") + .inProgressDescription( + "We are currently performing maintenance on the API to improve" + + " performance for 40 minutes.")) + .id(MAINTENANCE_DATA_ID) + .type(PatchMaintenanceRequestDataType.MAINTENANCES)); + + try { + Maintenance result = + apiInstance.updateMaintenance(STATUS_PAGE_DATA_ID, MAINTENANCE_DATA_ID, body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusPagesApi#updateMaintenance"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/v2/api/GoogleChatIntegrationApi.java b/src/main/java/com/datadog/api/client/v2/api/GoogleChatIntegrationApi.java deleted file mode 100644 index 61e1c6a403f..00000000000 --- a/src/main/java/com/datadog/api/client/v2/api/GoogleChatIntegrationApi.java +++ /dev/null @@ -1,1077 +0,0 @@ -package com.datadog.api.client.v2.api; - -import com.datadog.api.client.ApiClient; -import com.datadog.api.client.ApiException; -import com.datadog.api.client.ApiResponse; -import com.datadog.api.client.Pair; -import com.datadog.api.client.v2.model.GoogleChatAppNamedSpaceResponse; -import com.datadog.api.client.v2.model.GoogleChatCreateOrganizationHandleRequest; -import com.datadog.api.client.v2.model.GoogleChatOrganizationHandleResponse; -import com.datadog.api.client.v2.model.GoogleChatOrganizationHandlesResponse; -import com.datadog.api.client.v2.model.GoogleChatUpdateOrganizationHandleRequest; -import jakarta.ws.rs.client.Invocation; -import jakarta.ws.rs.core.GenericType; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.CompletableFuture; - -@jakarta.annotation.Generated( - value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatIntegrationApi { - private ApiClient apiClient; - - public GoogleChatIntegrationApi() { - this(ApiClient.getDefaultApiClient()); - } - - public GoogleChatIntegrationApi(ApiClient apiClient) { - this.apiClient = apiClient; - } - - /** - * Get the API client. - * - * @return API client - */ - public ApiClient getApiClient() { - return apiClient; - } - - /** - * Set the API client. - * - * @param apiClient an instance of API client - */ - public void setApiClient(ApiClient apiClient) { - this.apiClient = apiClient; - } - - /** - * Create organization handle. - * - *

See {@link #createOrganizationHandleWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param body Organization handle payload. (required) - * @return GoogleChatOrganizationHandleResponse - * @throws ApiException if fails to make API call - */ - public GoogleChatOrganizationHandleResponse createOrganizationHandle( - String organizationBindingId, GoogleChatCreateOrganizationHandleRequest body) - throws ApiException { - return createOrganizationHandleWithHttpInfo(organizationBindingId, body).getData(); - } - - /** - * Create organization handle. - * - *

See {@link #createOrganizationHandleWithHttpInfoAsync}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param body Organization handle payload. (required) - * @return CompletableFuture<GoogleChatOrganizationHandleResponse> - */ - public CompletableFuture createOrganizationHandleAsync( - String organizationBindingId, GoogleChatCreateOrganizationHandleRequest body) { - return createOrganizationHandleWithHttpInfoAsync(organizationBindingId, body) - .thenApply( - response -> { - return response.getData(); - }); - } - - /** - * Create an organization handle in the Datadog Google Chat integration. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param body Organization handle payload. (required) - * @return ApiResponse<GoogleChatOrganizationHandleResponse> - * @throws ApiException if fails to make API call - * @http.response.details - * - * - * - * - * - * - * - * - * - *
Response details
Status Code Description Response Headers
201 CREATED -
400 Bad Request -
403 Forbidden -
404 Not Found -
409 Conflict -
429 Too many requests -
- */ - public ApiResponse createOrganizationHandleWithHttpInfo( - String organizationBindingId, GoogleChatCreateOrganizationHandleRequest body) - throws ApiException { - Object localVarPostBody = body; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - throw new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " createOrganizationHandle"); - } - - // verify the required parameter 'body' is set - if (body == null) { - throw new ApiException( - 400, "Missing the required parameter 'body' when calling createOrganizationHandle"); - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.createOrganizationHandle", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - return apiClient.invokeAPI( - "POST", - builder, - localVarHeaderParams, - new String[] {"application/json"}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Create organization handle. - * - *

See {@link #createOrganizationHandleWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param body Organization handle payload. (required) - * @return CompletableFuture<ApiResponse<GoogleChatOrganizationHandleResponse>> - */ - public CompletableFuture> - createOrganizationHandleWithHttpInfoAsync( - String organizationBindingId, GoogleChatCreateOrganizationHandleRequest body) { - Object localVarPostBody = body; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " createOrganizationHandle")); - return result; - } - - // verify the required parameter 'body' is set - if (body == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, "Missing the required parameter 'body' when calling createOrganizationHandle")); - return result; - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder; - try { - builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.createOrganizationHandle", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - } catch (ApiException ex) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally(ex); - return result; - } - return apiClient.invokeAPIAsync( - "POST", - builder, - localVarHeaderParams, - new String[] {"application/json"}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Delete organization handle. - * - *

See {@link #deleteOrganizationHandleWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @throws ApiException if fails to make API call - */ - public void deleteOrganizationHandle(String organizationBindingId, String handleId) - throws ApiException { - deleteOrganizationHandleWithHttpInfo(organizationBindingId, handleId); - } - - /** - * Delete organization handle. - * - *

See {@link #deleteOrganizationHandleWithHttpInfoAsync}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @return CompletableFuture - */ - public CompletableFuture deleteOrganizationHandleAsync( - String organizationBindingId, String handleId) { - return deleteOrganizationHandleWithHttpInfoAsync(organizationBindingId, handleId) - .thenApply( - response -> { - return response.getData(); - }); - } - - /** - * Delete an organization handle from the Datadog Google Chat integration. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @return ApiResponse<Void> - * @throws ApiException if fails to make API call - * @http.response.details - * - * - * - * - * - * - * - *
Response details
Status Code Description Response Headers
204 OK -
400 Bad Request -
403 Forbidden -
429 Too many requests -
- */ - public ApiResponse deleteOrganizationHandleWithHttpInfo( - String organizationBindingId, String handleId) throws ApiException { - Object localVarPostBody = null; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - throw new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " deleteOrganizationHandle"); - } - - // verify the required parameter 'handleId' is set - if (handleId == null) { - throw new ApiException( - 400, "Missing the required parameter 'handleId' when calling deleteOrganizationHandle"); - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles/{handle_id}" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())) - .replaceAll("\\{" + "handle_id" + "\\}", apiClient.escapeString(handleId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.deleteOrganizationHandle", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"*/*"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - return apiClient.invokeAPI( - "DELETE", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - null); - } - - /** - * Delete organization handle. - * - *

See {@link #deleteOrganizationHandleWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @return CompletableFuture<ApiResponse<Void>> - */ - public CompletableFuture> deleteOrganizationHandleWithHttpInfoAsync( - String organizationBindingId, String handleId) { - Object localVarPostBody = null; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - CompletableFuture> result = new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " deleteOrganizationHandle")); - return result; - } - - // verify the required parameter 'handleId' is set - if (handleId == null) { - CompletableFuture> result = new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'handleId' when calling deleteOrganizationHandle")); - return result; - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles/{handle_id}" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())) - .replaceAll("\\{" + "handle_id" + "\\}", apiClient.escapeString(handleId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder; - try { - builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.deleteOrganizationHandle", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"*/*"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - } catch (ApiException ex) { - CompletableFuture> result = new CompletableFuture<>(); - result.completeExceptionally(ex); - return result; - } - return apiClient.invokeAPIAsync( - "DELETE", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - null); - } - - /** - * Get organization handle. - * - *

See {@link #getOrganizationHandleWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @return GoogleChatOrganizationHandleResponse - * @throws ApiException if fails to make API call - */ - public GoogleChatOrganizationHandleResponse getOrganizationHandle( - String organizationBindingId, String handleId) throws ApiException { - return getOrganizationHandleWithHttpInfo(organizationBindingId, handleId).getData(); - } - - /** - * Get organization handle. - * - *

See {@link #getOrganizationHandleWithHttpInfoAsync}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @return CompletableFuture<GoogleChatOrganizationHandleResponse> - */ - public CompletableFuture getOrganizationHandleAsync( - String organizationBindingId, String handleId) { - return getOrganizationHandleWithHttpInfoAsync(organizationBindingId, handleId) - .thenApply( - response -> { - return response.getData(); - }); - } - - /** - * Get an organization handle from the Datadog Google Chat integration. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @return ApiResponse<GoogleChatOrganizationHandleResponse> - * @throws ApiException if fails to make API call - * @http.response.details - * - * - * - * - * - * - * - * - *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
- */ - public ApiResponse getOrganizationHandleWithHttpInfo( - String organizationBindingId, String handleId) throws ApiException { - Object localVarPostBody = null; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - throw new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " getOrganizationHandle"); - } - - // verify the required parameter 'handleId' is set - if (handleId == null) { - throw new ApiException( - 400, "Missing the required parameter 'handleId' when calling getOrganizationHandle"); - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles/{handle_id}" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())) - .replaceAll("\\{" + "handle_id" + "\\}", apiClient.escapeString(handleId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.getOrganizationHandle", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - return apiClient.invokeAPI( - "GET", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Get organization handle. - * - *

See {@link #getOrganizationHandleWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @return CompletableFuture<ApiResponse<GoogleChatOrganizationHandleResponse>> - */ - public CompletableFuture> - getOrganizationHandleWithHttpInfoAsync(String organizationBindingId, String handleId) { - Object localVarPostBody = null; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " getOrganizationHandle")); - return result; - } - - // verify the required parameter 'handleId' is set - if (handleId == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, "Missing the required parameter 'handleId' when calling getOrganizationHandle")); - return result; - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles/{handle_id}" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())) - .replaceAll("\\{" + "handle_id" + "\\}", apiClient.escapeString(handleId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder; - try { - builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.getOrganizationHandle", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - } catch (ApiException ex) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally(ex); - return result; - } - return apiClient.invokeAPIAsync( - "GET", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Get space information by display name. - * - *

See {@link #getSpaceByDisplayNameWithHttpInfo}. - * - * @param domainName The Google Chat domain name. (required) - * @param spaceDisplayName The Google Chat space display name. (required) - * @return GoogleChatAppNamedSpaceResponse - * @throws ApiException if fails to make API call - */ - public GoogleChatAppNamedSpaceResponse getSpaceByDisplayName( - String domainName, String spaceDisplayName) throws ApiException { - return getSpaceByDisplayNameWithHttpInfo(domainName, spaceDisplayName).getData(); - } - - /** - * Get space information by display name. - * - *

See {@link #getSpaceByDisplayNameWithHttpInfoAsync}. - * - * @param domainName The Google Chat domain name. (required) - * @param spaceDisplayName The Google Chat space display name. (required) - * @return CompletableFuture<GoogleChatAppNamedSpaceResponse> - */ - public CompletableFuture getSpaceByDisplayNameAsync( - String domainName, String spaceDisplayName) { - return getSpaceByDisplayNameWithHttpInfoAsync(domainName, spaceDisplayName) - .thenApply( - response -> { - return response.getData(); - }); - } - - /** - * Get the resource name and organization binding ID of a space in the Datadog Google Chat - * integration. - * - * @param domainName The Google Chat domain name. (required) - * @param spaceDisplayName The Google Chat space display name. (required) - * @return ApiResponse<GoogleChatAppNamedSpaceResponse> - * @throws ApiException if fails to make API call - * @http.response.details - * - * - * - * - * - * - * - * - *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
- */ - public ApiResponse getSpaceByDisplayNameWithHttpInfo( - String domainName, String spaceDisplayName) throws ApiException { - Object localVarPostBody = null; - - // verify the required parameter 'domainName' is set - if (domainName == null) { - throw new ApiException( - 400, "Missing the required parameter 'domainName' when calling getSpaceByDisplayName"); - } - - // verify the required parameter 'spaceDisplayName' is set - if (spaceDisplayName == null) { - throw new ApiException( - 400, - "Missing the required parameter 'spaceDisplayName' when calling getSpaceByDisplayName"); - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/app/named-spaces/{domain_name}/{space_display_name}" - .replaceAll( - "\\{" + "domain_name" + "\\}", apiClient.escapeString(domainName.toString())) - .replaceAll( - "\\{" + "space_display_name" + "\\}", - apiClient.escapeString(spaceDisplayName.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.getSpaceByDisplayName", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - return apiClient.invokeAPI( - "GET", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Get space information by display name. - * - *

See {@link #getSpaceByDisplayNameWithHttpInfo}. - * - * @param domainName The Google Chat domain name. (required) - * @param spaceDisplayName The Google Chat space display name. (required) - * @return CompletableFuture<ApiResponse<GoogleChatAppNamedSpaceResponse>> - */ - public CompletableFuture> - getSpaceByDisplayNameWithHttpInfoAsync(String domainName, String spaceDisplayName) { - Object localVarPostBody = null; - - // verify the required parameter 'domainName' is set - if (domainName == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'domainName' when calling getSpaceByDisplayName")); - return result; - } - - // verify the required parameter 'spaceDisplayName' is set - if (spaceDisplayName == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'spaceDisplayName' when calling" - + " getSpaceByDisplayName")); - return result; - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/app/named-spaces/{domain_name}/{space_display_name}" - .replaceAll( - "\\{" + "domain_name" + "\\}", apiClient.escapeString(domainName.toString())) - .replaceAll( - "\\{" + "space_display_name" + "\\}", - apiClient.escapeString(spaceDisplayName.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder; - try { - builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.getSpaceByDisplayName", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - } catch (ApiException ex) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally(ex); - return result; - } - return apiClient.invokeAPIAsync( - "GET", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Get all organization handles. - * - *

See {@link #listOrganizationHandlesWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @return GoogleChatOrganizationHandlesResponse - * @throws ApiException if fails to make API call - */ - public GoogleChatOrganizationHandlesResponse listOrganizationHandles(String organizationBindingId) - throws ApiException { - return listOrganizationHandlesWithHttpInfo(organizationBindingId).getData(); - } - - /** - * Get all organization handles. - * - *

See {@link #listOrganizationHandlesWithHttpInfoAsync}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @return CompletableFuture<GoogleChatOrganizationHandlesResponse> - */ - public CompletableFuture listOrganizationHandlesAsync( - String organizationBindingId) { - return listOrganizationHandlesWithHttpInfoAsync(organizationBindingId) - .thenApply( - response -> { - return response.getData(); - }); - } - - /** - * Get a list of all organization handles from the Datadog Google Chat integration. - * - * @param organizationBindingId Your organization binding ID. (required) - * @return ApiResponse<GoogleChatOrganizationHandlesResponse> - * @throws ApiException if fails to make API call - * @http.response.details - * - * - * - * - * - * - * - * - *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
- */ - public ApiResponse listOrganizationHandlesWithHttpInfo( - String organizationBindingId) throws ApiException { - Object localVarPostBody = null; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - throw new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " listOrganizationHandles"); - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.listOrganizationHandles", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - return apiClient.invokeAPI( - "GET", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Get all organization handles. - * - *

See {@link #listOrganizationHandlesWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @return CompletableFuture<ApiResponse<GoogleChatOrganizationHandlesResponse>> - */ - public CompletableFuture> - listOrganizationHandlesWithHttpInfoAsync(String organizationBindingId) { - Object localVarPostBody = null; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " listOrganizationHandles")); - return result; - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder; - try { - builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.listOrganizationHandles", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - } catch (ApiException ex) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally(ex); - return result; - } - return apiClient.invokeAPIAsync( - "GET", - builder, - localVarHeaderParams, - new String[] {}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Update organization handle. - * - *

See {@link #updateOrganizationHandleWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @param body Organization handle payload. (required) - * @return GoogleChatOrganizationHandleResponse - * @throws ApiException if fails to make API call - */ - public GoogleChatOrganizationHandleResponse updateOrganizationHandle( - String organizationBindingId, String handleId, GoogleChatUpdateOrganizationHandleRequest body) - throws ApiException { - return updateOrganizationHandleWithHttpInfo(organizationBindingId, handleId, body).getData(); - } - - /** - * Update organization handle. - * - *

See {@link #updateOrganizationHandleWithHttpInfoAsync}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @param body Organization handle payload. (required) - * @return CompletableFuture<GoogleChatOrganizationHandleResponse> - */ - public CompletableFuture updateOrganizationHandleAsync( - String organizationBindingId, - String handleId, - GoogleChatUpdateOrganizationHandleRequest body) { - return updateOrganizationHandleWithHttpInfoAsync(organizationBindingId, handleId, body) - .thenApply( - response -> { - return response.getData(); - }); - } - - /** - * Update an organization handle from the Datadog Google Chat integration. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @param body Organization handle payload. (required) - * @return ApiResponse<GoogleChatOrganizationHandleResponse> - * @throws ApiException if fails to make API call - * @http.response.details - * - * - * - * - * - * - * - * - * - *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
409 Conflict -
429 Too many requests -
- */ - public ApiResponse updateOrganizationHandleWithHttpInfo( - String organizationBindingId, String handleId, GoogleChatUpdateOrganizationHandleRequest body) - throws ApiException { - Object localVarPostBody = body; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - throw new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " updateOrganizationHandle"); - } - - // verify the required parameter 'handleId' is set - if (handleId == null) { - throw new ApiException( - 400, "Missing the required parameter 'handleId' when calling updateOrganizationHandle"); - } - - // verify the required parameter 'body' is set - if (body == null) { - throw new ApiException( - 400, "Missing the required parameter 'body' when calling updateOrganizationHandle"); - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles/{handle_id}" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())) - .replaceAll("\\{" + "handle_id" + "\\}", apiClient.escapeString(handleId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.updateOrganizationHandle", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - return apiClient.invokeAPI( - "PATCH", - builder, - localVarHeaderParams, - new String[] {"application/json"}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } - - /** - * Update organization handle. - * - *

See {@link #updateOrganizationHandleWithHttpInfo}. - * - * @param organizationBindingId Your organization binding ID. (required) - * @param handleId Your organization handle ID. (required) - * @param body Organization handle payload. (required) - * @return CompletableFuture<ApiResponse<GoogleChatOrganizationHandleResponse>> - */ - public CompletableFuture> - updateOrganizationHandleWithHttpInfoAsync( - String organizationBindingId, - String handleId, - GoogleChatUpdateOrganizationHandleRequest body) { - Object localVarPostBody = body; - - // verify the required parameter 'organizationBindingId' is set - if (organizationBindingId == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'organizationBindingId' when calling" - + " updateOrganizationHandle")); - return result; - } - - // verify the required parameter 'handleId' is set - if (handleId == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, - "Missing the required parameter 'handleId' when calling updateOrganizationHandle")); - return result; - } - - // verify the required parameter 'body' is set - if (body == null) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally( - new ApiException( - 400, "Missing the required parameter 'body' when calling updateOrganizationHandle")); - return result; - } - // create path and map variables - String localVarPath = - "/api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles/{handle_id}" - .replaceAll( - "\\{" + "organization_binding_id" + "\\}", - apiClient.escapeString(organizationBindingId.toString())) - .replaceAll("\\{" + "handle_id" + "\\}", apiClient.escapeString(handleId.toString())); - - Map localVarHeaderParams = new HashMap(); - - Invocation.Builder builder; - try { - builder = - apiClient.createBuilder( - "v2.GoogleChatIntegrationApi.updateOrganizationHandle", - localVarPath, - new ArrayList(), - localVarHeaderParams, - new HashMap(), - new String[] {"application/json"}, - new String[] {"apiKeyAuth", "appKeyAuth"}); - } catch (ApiException ex) { - CompletableFuture> result = - new CompletableFuture<>(); - result.completeExceptionally(ex); - return result; - } - return apiClient.invokeAPIAsync( - "PATCH", - builder, - localVarHeaderParams, - new String[] {"application/json"}, - localVarPostBody, - new HashMap(), - false, - new GenericType() {}); - } -} diff --git a/src/main/java/com/datadog/api/client/v2/api/StatusPagesApi.java b/src/main/java/com/datadog/api/client/v2/api/StatusPagesApi.java index 11e3520d1b1..2676fcf4b0b 100644 --- a/src/main/java/com/datadog/api/client/v2/api/StatusPagesApi.java +++ b/src/main/java/com/datadog/api/client/v2/api/StatusPagesApi.java @@ -6,11 +6,15 @@ import com.datadog.api.client.Pair; import com.datadog.api.client.v2.model.CreateComponentRequest; import com.datadog.api.client.v2.model.CreateDegradationRequest; +import com.datadog.api.client.v2.model.CreateMaintenanceRequest; import com.datadog.api.client.v2.model.CreateStatusPageRequest; import com.datadog.api.client.v2.model.Degradation; import com.datadog.api.client.v2.model.DegradationArray; +import com.datadog.api.client.v2.model.Maintenance; +import com.datadog.api.client.v2.model.MaintenanceArray; import com.datadog.api.client.v2.model.PatchComponentRequest; import com.datadog.api.client.v2.model.PatchDegradationRequest; +import com.datadog.api.client.v2.model.PatchMaintenanceRequest; import com.datadog.api.client.v2.model.PatchStatusPageRequest; import com.datadog.api.client.v2.model.StatusPage; import com.datadog.api.client.v2.model.StatusPageArray; @@ -514,6 +518,245 @@ public CompletableFuture> createDegradationWithHttpInfo new GenericType() {}); } + /** Manage optional parameters to createMaintenance. */ + public static class CreateMaintenanceOptionalParameters { + private Boolean notifySubscribers; + private String include; + + /** + * Set notifySubscribers. + * + * @param notifySubscribers Whether to notify page subscribers of the scheduled maintenance. + * (optional, default to true) + * @return CreateMaintenanceOptionalParameters + */ + public CreateMaintenanceOptionalParameters notifySubscribers(Boolean notifySubscribers) { + this.notifySubscribers = notifySubscribers; + return this; + } + + /** + * Set include. + * + * @param include Comma-separated list of resources to include. Supported values: + * created_by_user, last_modified_by_user, status_page. (optional) + * @return CreateMaintenanceOptionalParameters + */ + public CreateMaintenanceOptionalParameters include(String include) { + this.include = include; + return this; + } + } + + /** + * Create Scheduled Maintenance. + * + *

See {@link #createMaintenanceWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @param body (required) + * @return Maintenance + * @throws ApiException if fails to make API call + */ + public Maintenance createMaintenance(UUID pageId, CreateMaintenanceRequest body) + throws ApiException { + return createMaintenanceWithHttpInfo(pageId, body, new CreateMaintenanceOptionalParameters()) + .getData(); + } + + /** + * Create Scheduled Maintenance. + * + *

See {@link #createMaintenanceWithHttpInfoAsync}. + * + * @param pageId The ID of the status page. (required) + * @param body (required) + * @return CompletableFuture<Maintenance> + */ + public CompletableFuture createMaintenanceAsync( + UUID pageId, CreateMaintenanceRequest body) { + return createMaintenanceWithHttpInfoAsync( + pageId, body, new CreateMaintenanceOptionalParameters()) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Create Scheduled Maintenance. + * + *

See {@link #createMaintenanceWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @param body (required) + * @param parameters Optional parameters for the request. + * @return Maintenance + * @throws ApiException if fails to make API call + */ + public Maintenance createMaintenance( + UUID pageId, CreateMaintenanceRequest body, CreateMaintenanceOptionalParameters parameters) + throws ApiException { + return createMaintenanceWithHttpInfo(pageId, body, parameters).getData(); + } + + /** + * Create Scheduled Maintenance. + * + *

See {@link #createMaintenanceWithHttpInfoAsync}. + * + * @param pageId The ID of the status page. (required) + * @param body (required) + * @param parameters Optional parameters for the request. + * @return CompletableFuture<Maintenance> + */ + public CompletableFuture createMaintenanceAsync( + UUID pageId, CreateMaintenanceRequest body, CreateMaintenanceOptionalParameters parameters) { + return createMaintenanceWithHttpInfoAsync(pageId, body, parameters) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Creates a new scheduled maintenance. Scheduled maintenances are set for a future time window. + * + * @param pageId The ID of the status page. (required) + * @param body (required) + * @param parameters Optional parameters for the request. + * @return ApiResponse<Maintenance> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + *
Response details
Status Code Description Response Headers
201 Created -
429 Too many requests -
+ */ + public ApiResponse createMaintenanceWithHttpInfo( + UUID pageId, CreateMaintenanceRequest body, CreateMaintenanceOptionalParameters parameters) + throws ApiException { + Object localVarPostBody = body; + + // verify the required parameter 'pageId' is set + if (pageId == null) { + throw new ApiException( + 400, "Missing the required parameter 'pageId' when calling createMaintenance"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling createMaintenance"); + } + Boolean notifySubscribers = parameters.notifySubscribers; + String include = parameters.include; + // create path and map variables + String localVarPath = + "/api/v2/statuspages/{page_id}/maintenances" + .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())); + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll( + apiClient.parameterToPairs("", "notify_subscribers", notifySubscribers)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.StatusPagesApi.createMaintenance", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Create Scheduled Maintenance. + * + *

See {@link #createMaintenanceWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @param body (required) + * @param parameters Optional parameters for the request. + * @return CompletableFuture<ApiResponse<Maintenance>> + */ + public CompletableFuture> createMaintenanceWithHttpInfoAsync( + UUID pageId, CreateMaintenanceRequest body, CreateMaintenanceOptionalParameters parameters) { + Object localVarPostBody = body; + + // verify the required parameter 'pageId' is set + if (pageId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'pageId' when calling createMaintenance")); + return result; + } + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'body' when calling createMaintenance")); + return result; + } + Boolean notifySubscribers = parameters.notifySubscribers; + String include = parameters.include; + // create path and map variables + String localVarPath = + "/api/v2/statuspages/{page_id}/maintenances" + .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())); + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll( + apiClient.parameterToPairs("", "notify_subscribers", notifySubscribers)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.StatusPagesApi.createMaintenance", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + /** Manage optional parameters to createStatusPage. */ public static class CreateStatusPageOptionalParameters { private String include; @@ -1589,46 +1832,50 @@ public CompletableFuture> getDegradationWithHttpInfoAsy new GenericType() {}); } - /** Manage optional parameters to getStatusPage. */ - public static class GetStatusPageOptionalParameters { + /** Manage optional parameters to getMaintenance. */ + public static class GetMaintenanceOptionalParameters { private String include; /** * Set include. * * @param include Comma-separated list of resources to include. Supported values: - * created_by_user, last_modified_by_user. (optional) - * @return GetStatusPageOptionalParameters + * created_by_user, last_modified_by_user, status_page. (optional) + * @return GetMaintenanceOptionalParameters */ - public GetStatusPageOptionalParameters include(String include) { + public GetMaintenanceOptionalParameters include(String include) { this.include = include; return this; } } /** - * Get status page. + * Get Scheduled Maintenance. * - *

See {@link #getStatusPageWithHttpInfo}. + *

See {@link #getMaintenanceWithHttpInfo}. * * @param pageId The ID of the status page. (required) - * @return StatusPage + * @param maintenanceId The ID of the scheduled maintenance. (required) + * @return Maintenance * @throws ApiException if fails to make API call */ - public StatusPage getStatusPage(UUID pageId) throws ApiException { - return getStatusPageWithHttpInfo(pageId, new GetStatusPageOptionalParameters()).getData(); + public Maintenance getMaintenance(UUID pageId, UUID maintenanceId) throws ApiException { + return getMaintenanceWithHttpInfo(pageId, maintenanceId, new GetMaintenanceOptionalParameters()) + .getData(); } /** - * Get status page. + * Get Scheduled Maintenance. * - *

See {@link #getStatusPageWithHttpInfoAsync}. + *

See {@link #getMaintenanceWithHttpInfoAsync}. * * @param pageId The ID of the status page. (required) - * @return CompletableFuture<StatusPage> + * @param maintenanceId The ID of the scheduled maintenance. (required) + * @return CompletableFuture<Maintenance> */ - public CompletableFuture getStatusPageAsync(UUID pageId) { - return getStatusPageWithHttpInfoAsync(pageId, new GetStatusPageOptionalParameters()) + public CompletableFuture getMaintenanceAsync(UUID pageId, UUID maintenanceId) { + return getMaintenanceWithHttpInfoAsync( + pageId, maintenanceId, new GetMaintenanceOptionalParameters()) .thenApply( response -> { return response.getData(); @@ -1636,32 +1883,35 @@ public CompletableFuture getStatusPageAsync(UUID pageId) { } /** - * Get status page. + * Get Scheduled Maintenance. * - *

See {@link #getStatusPageWithHttpInfo}. + *

See {@link #getMaintenanceWithHttpInfo}. * * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) * @param parameters Optional parameters for the request. - * @return StatusPage + * @return Maintenance * @throws ApiException if fails to make API call */ - public StatusPage getStatusPage(UUID pageId, GetStatusPageOptionalParameters parameters) + public Maintenance getMaintenance( + UUID pageId, UUID maintenanceId, GetMaintenanceOptionalParameters parameters) throws ApiException { - return getStatusPageWithHttpInfo(pageId, parameters).getData(); + return getMaintenanceWithHttpInfo(pageId, maintenanceId, parameters).getData(); } /** - * Get status page. + * Get Scheduled Maintenance. * - *

See {@link #getStatusPageWithHttpInfoAsync}. + *

See {@link #getMaintenanceWithHttpInfoAsync}. * * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) * @param parameters Optional parameters for the request. - * @return CompletableFuture<StatusPage> + * @return CompletableFuture<Maintenance> */ - public CompletableFuture getStatusPageAsync( - UUID pageId, GetStatusPageOptionalParameters parameters) { - return getStatusPageWithHttpInfoAsync(pageId, parameters) + public CompletableFuture getMaintenanceAsync( + UUID pageId, UUID maintenanceId, GetMaintenanceOptionalParameters parameters) { + return getMaintenanceWithHttpInfoAsync(pageId, maintenanceId, parameters) .thenApply( response -> { return response.getData(); @@ -1669,11 +1919,13 @@ public CompletableFuture getStatusPageAsync( } /** - * Retrieves a specific status page by its ID. + * Retrieves a specific scheduled maintenance by its ID. The maintenance may be in scheduled, in + * progress, completed, or canceled status. * * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) * @param parameters Optional parameters for the request. - * @return ApiResponse<StatusPage> + * @return ApiResponse<Maintenance> * @throws ApiException if fails to make API call * @http.response.details * @@ -1683,20 +1935,29 @@ public CompletableFuture getStatusPageAsync( * *
429 Too many requests -
*/ - public ApiResponse getStatusPageWithHttpInfo( - UUID pageId, GetStatusPageOptionalParameters parameters) throws ApiException { + public ApiResponse getMaintenanceWithHttpInfo( + UUID pageId, UUID maintenanceId, GetMaintenanceOptionalParameters parameters) + throws ApiException { Object localVarPostBody = null; // verify the required parameter 'pageId' is set if (pageId == null) { throw new ApiException( - 400, "Missing the required parameter 'pageId' when calling getStatusPage"); + 400, "Missing the required parameter 'pageId' when calling getMaintenance"); + } + + // verify the required parameter 'maintenanceId' is set + if (maintenanceId == null) { + throw new ApiException( + 400, "Missing the required parameter 'maintenanceId' when calling getMaintenance"); } String include = parameters.include; // create path and map variables String localVarPath = - "/api/v2/statuspages/{page_id}" - .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())); + "/api/v2/statuspages/{page_id}/maintenances/{maintenance_id}" + .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())) + .replaceAll( + "\\{" + "maintenance_id" + "\\}", apiClient.escapeString(maintenanceId.toString())); List localVarQueryParams = new ArrayList(); Map localVarHeaderParams = new HashMap(); @@ -1705,7 +1966,7 @@ public ApiResponse getStatusPageWithHttpInfo( Invocation.Builder builder = apiClient.createBuilder( - "v2.StatusPagesApi.getStatusPage", + "v2.StatusPagesApi.getMaintenance", localVarPath, localVarQueryParams, localVarHeaderParams, @@ -1720,35 +1981,47 @@ public ApiResponse getStatusPageWithHttpInfo( localVarPostBody, new HashMap(), false, - new GenericType() {}); + new GenericType() {}); } /** - * Get status page. + * Get Scheduled Maintenance. * - *

See {@link #getStatusPageWithHttpInfo}. + *

See {@link #getMaintenanceWithHttpInfo}. * * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) * @param parameters Optional parameters for the request. - * @return CompletableFuture<ApiResponse<StatusPage>> + * @return CompletableFuture<ApiResponse<Maintenance>> */ - public CompletableFuture> getStatusPageWithHttpInfoAsync( - UUID pageId, GetStatusPageOptionalParameters parameters) { + public CompletableFuture> getMaintenanceWithHttpInfoAsync( + UUID pageId, UUID maintenanceId, GetMaintenanceOptionalParameters parameters) { Object localVarPostBody = null; // verify the required parameter 'pageId' is set if (pageId == null) { - CompletableFuture> result = new CompletableFuture<>(); + CompletableFuture> result = new CompletableFuture<>(); result.completeExceptionally( new ApiException( - 400, "Missing the required parameter 'pageId' when calling getStatusPage")); + 400, "Missing the required parameter 'pageId' when calling getMaintenance")); + return result; + } + + // verify the required parameter 'maintenanceId' is set + if (maintenanceId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'maintenanceId' when calling getMaintenance")); return result; } String include = parameters.include; // create path and map variables String localVarPath = - "/api/v2/statuspages/{page_id}" - .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())); + "/api/v2/statuspages/{page_id}/maintenances/{maintenance_id}" + .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())) + .replaceAll( + "\\{" + "maintenance_id" + "\\}", apiClient.escapeString(maintenanceId.toString())); List localVarQueryParams = new ArrayList(); Map localVarHeaderParams = new HashMap(); @@ -1759,7 +2032,7 @@ public CompletableFuture> getStatusPageWithHttpInfoAsync try { builder = apiClient.createBuilder( - "v2.StatusPagesApi.getStatusPage", + "v2.StatusPagesApi.getMaintenance", localVarPath, localVarQueryParams, localVarHeaderParams, @@ -1767,7 +2040,7 @@ public CompletableFuture> getStatusPageWithHttpInfoAsync new String[] {"application/json"}, new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); } catch (ApiException ex) { - CompletableFuture> result = new CompletableFuture<>(); + CompletableFuture> result = new CompletableFuture<>(); result.completeExceptionally(ex); return result; } @@ -1779,21 +2052,214 @@ public CompletableFuture> getStatusPageWithHttpInfoAsync localVarPostBody, new HashMap(), false, - new GenericType() {}); + new GenericType() {}); } - /** Manage optional parameters to listComponents. */ - public static class ListComponentsOptionalParameters { + /** Manage optional parameters to getStatusPage. */ + public static class GetStatusPageOptionalParameters { private String include; /** * Set include. * * @param include Comma-separated list of resources to include. Supported values: - * created_by_user, last_modified_by_user, status_page, group. (optional) - * @return ListComponentsOptionalParameters + * created_by_user, last_modified_by_user. (optional) + * @return GetStatusPageOptionalParameters */ - public ListComponentsOptionalParameters include(String include) { + public GetStatusPageOptionalParameters include(String include) { + this.include = include; + return this; + } + } + + /** + * Get status page. + * + *

See {@link #getStatusPageWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @return StatusPage + * @throws ApiException if fails to make API call + */ + public StatusPage getStatusPage(UUID pageId) throws ApiException { + return getStatusPageWithHttpInfo(pageId, new GetStatusPageOptionalParameters()).getData(); + } + + /** + * Get status page. + * + *

See {@link #getStatusPageWithHttpInfoAsync}. + * + * @param pageId The ID of the status page. (required) + * @return CompletableFuture<StatusPage> + */ + public CompletableFuture getStatusPageAsync(UUID pageId) { + return getStatusPageWithHttpInfoAsync(pageId, new GetStatusPageOptionalParameters()) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get status page. + * + *

See {@link #getStatusPageWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @param parameters Optional parameters for the request. + * @return StatusPage + * @throws ApiException if fails to make API call + */ + public StatusPage getStatusPage(UUID pageId, GetStatusPageOptionalParameters parameters) + throws ApiException { + return getStatusPageWithHttpInfo(pageId, parameters).getData(); + } + + /** + * Get status page. + * + *

See {@link #getStatusPageWithHttpInfoAsync}. + * + * @param pageId The ID of the status page. (required) + * @param parameters Optional parameters for the request. + * @return CompletableFuture<StatusPage> + */ + public CompletableFuture getStatusPageAsync( + UUID pageId, GetStatusPageOptionalParameters parameters) { + return getStatusPageWithHttpInfoAsync(pageId, parameters) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Retrieves a specific status page by its ID. + * + * @param pageId The ID of the status page. (required) + * @param parameters Optional parameters for the request. + * @return ApiResponse<StatusPage> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
429 Too many requests -
+ */ + public ApiResponse getStatusPageWithHttpInfo( + UUID pageId, GetStatusPageOptionalParameters parameters) throws ApiException { + Object localVarPostBody = null; + + // verify the required parameter 'pageId' is set + if (pageId == null) { + throw new ApiException( + 400, "Missing the required parameter 'pageId' when calling getStatusPage"); + } + String include = parameters.include; + // create path and map variables + String localVarPath = + "/api/v2/statuspages/{page_id}" + .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())); + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.StatusPagesApi.getStatusPage", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get status page. + * + *

See {@link #getStatusPageWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @param parameters Optional parameters for the request. + * @return CompletableFuture<ApiResponse<StatusPage>> + */ + public CompletableFuture> getStatusPageWithHttpInfoAsync( + UUID pageId, GetStatusPageOptionalParameters parameters) { + Object localVarPostBody = null; + + // verify the required parameter 'pageId' is set + if (pageId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'pageId' when calling getStatusPage")); + return result; + } + String include = parameters.include; + // create path and map variables + String localVarPath = + "/api/v2/statuspages/{page_id}" + .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())); + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.StatusPagesApi.getStatusPage", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** Manage optional parameters to listComponents. */ + public static class ListComponentsOptionalParameters { + private String include; + + /** + * Set include. + * + * @param include Comma-separated list of resources to include. Supported values: + * created_by_user, last_modified_by_user, status_page, group. (optional) + * @return ListComponentsOptionalParameters + */ + public ListComponentsOptionalParameters include(String include) { this.include = include; return this; } @@ -1982,14 +2448,265 @@ public static class ListDegradationsOptionalParameters { private Integer pageLimit; private String include; private String filterStatus; + private String sort; + + /** + * Set filterPageId. + * + * @param filterPageId Optional page id filter. (optional) + * @return ListDegradationsOptionalParameters + */ + public ListDegradationsOptionalParameters filterPageId(String filterPageId) { + this.filterPageId = filterPageId; + return this; + } + + /** + * Set pageOffset. + * + * @param pageOffset Offset to use as the start of the page. (optional, default to 0) + * @return ListDegradationsOptionalParameters + */ + public ListDegradationsOptionalParameters pageOffset(Integer pageOffset) { + this.pageOffset = pageOffset; + return this; + } + + /** + * Set pageLimit. + * + * @param pageLimit The number of degradations to return per page. (optional, default to 50) + * @return ListDegradationsOptionalParameters + */ + public ListDegradationsOptionalParameters pageLimit(Integer pageLimit) { + this.pageLimit = pageLimit; + return this; + } + + /** + * Set include. + * + * @param include Comma-separated list of resources to include. Supported values: + * created_by_user, last_modified_by_user, status_page. (optional) + * @return ListDegradationsOptionalParameters + */ + public ListDegradationsOptionalParameters include(String include) { + this.include = include; + return this; + } + + /** + * Set filterStatus. + * + * @param filterStatus Optional degradation status filter. Supported values: investigating, + * identified, monitoring, resolved. (optional) + * @return ListDegradationsOptionalParameters + */ + public ListDegradationsOptionalParameters filterStatus(String filterStatus) { + this.filterStatus = filterStatus; + return this; + } + + /** + * Set sort. + * + * @param sort Sort order. Prefix with '-' for descending. Supported values: created_at, + * -created_at, modified_at, -modified_at. (optional) + * @return ListDegradationsOptionalParameters + */ + public ListDegradationsOptionalParameters sort(String sort) { + this.sort = sort; + return this; + } + } + + /** + * List degradations. + * + *

See {@link #listDegradationsWithHttpInfo}. + * + * @return DegradationArray + * @throws ApiException if fails to make API call + */ + public DegradationArray listDegradations() throws ApiException { + return listDegradationsWithHttpInfo(new ListDegradationsOptionalParameters()).getData(); + } + + /** + * List degradations. + * + *

See {@link #listDegradationsWithHttpInfoAsync}. + * + * @return CompletableFuture<DegradationArray> + */ + public CompletableFuture listDegradationsAsync() { + return listDegradationsWithHttpInfoAsync(new ListDegradationsOptionalParameters()) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * List degradations. + * + *

See {@link #listDegradationsWithHttpInfo}. + * + * @param parameters Optional parameters for the request. + * @return DegradationArray + * @throws ApiException if fails to make API call + */ + public DegradationArray listDegradations(ListDegradationsOptionalParameters parameters) + throws ApiException { + return listDegradationsWithHttpInfo(parameters).getData(); + } + + /** + * List degradations. + * + *

See {@link #listDegradationsWithHttpInfoAsync}. + * + * @param parameters Optional parameters for the request. + * @return CompletableFuture<DegradationArray> + */ + public CompletableFuture listDegradationsAsync( + ListDegradationsOptionalParameters parameters) { + return listDegradationsWithHttpInfoAsync(parameters) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Lists all degradations for the organization. Optionally filter by status and page. + * + * @param parameters Optional parameters for the request. + * @return ApiResponse<DegradationArray> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
429 Too many requests -
+ */ + public ApiResponse listDegradationsWithHttpInfo( + ListDegradationsOptionalParameters parameters) throws ApiException { + Object localVarPostBody = null; + String filterPageId = parameters.filterPageId; + Integer pageOffset = parameters.pageOffset; + Integer pageLimit = parameters.pageLimit; + String include = parameters.include; + String filterStatus = parameters.filterStatus; + String sort = parameters.sort; + // create path and map variables + String localVarPath = "/api/v2/statuspages/degradations"; + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[page_id]", filterPageId)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[offset]", pageOffset)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[limit]", pageLimit)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[status]", filterStatus)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort)); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.StatusPagesApi.listDegradations", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * List degradations. + * + *

See {@link #listDegradationsWithHttpInfo}. + * + * @param parameters Optional parameters for the request. + * @return CompletableFuture<ApiResponse<DegradationArray>> + */ + public CompletableFuture> listDegradationsWithHttpInfoAsync( + ListDegradationsOptionalParameters parameters) { + Object localVarPostBody = null; + String filterPageId = parameters.filterPageId; + Integer pageOffset = parameters.pageOffset; + Integer pageLimit = parameters.pageLimit; + String include = parameters.include; + String filterStatus = parameters.filterStatus; + String sort = parameters.sort; + // create path and map variables + String localVarPath = "/api/v2/statuspages/degradations"; + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[page_id]", filterPageId)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[offset]", pageOffset)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[limit]", pageLimit)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[status]", filterStatus)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort)); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.StatusPagesApi.listDegradations", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** Manage optional parameters to listMaintenances. */ + public static class ListMaintenancesOptionalParameters { + private String filterPageId; + private Integer pageOffset; + private Integer pageLimit; + private String include; + private String filterStatus; + private String sort; /** * Set filterPageId. * * @param filterPageId Optional page id filter. (optional) - * @return ListDegradationsOptionalParameters + * @return ListMaintenancesOptionalParameters */ - public ListDegradationsOptionalParameters filterPageId(String filterPageId) { + public ListMaintenancesOptionalParameters filterPageId(String filterPageId) { this.filterPageId = filterPageId; return this; } @@ -1998,9 +2715,9 @@ public ListDegradationsOptionalParameters filterPageId(String filterPageId) { * Set pageOffset. * * @param pageOffset Offset to use as the start of the page. (optional, default to 0) - * @return ListDegradationsOptionalParameters + * @return ListMaintenancesOptionalParameters */ - public ListDegradationsOptionalParameters pageOffset(Integer pageOffset) { + public ListMaintenancesOptionalParameters pageOffset(Integer pageOffset) { this.pageOffset = pageOffset; return this; } @@ -2008,10 +2725,10 @@ public ListDegradationsOptionalParameters pageOffset(Integer pageOffset) { /** * Set pageLimit. * - * @param pageLimit The number of degradations to return per page. (optional, default to 50) - * @return ListDegradationsOptionalParameters + * @param pageLimit The number of maintenances to return per page. (optional, default to 50) + * @return ListMaintenancesOptionalParameters */ - public ListDegradationsOptionalParameters pageLimit(Integer pageLimit) { + public ListMaintenancesOptionalParameters pageLimit(Integer pageLimit) { this.pageLimit = pageLimit; return this; } @@ -2021,9 +2738,9 @@ public ListDegradationsOptionalParameters pageLimit(Integer pageLimit) { * * @param include Comma-separated list of resources to include. Supported values: * created_by_user, last_modified_by_user, status_page. (optional) - * @return ListDegradationsOptionalParameters + * @return ListMaintenancesOptionalParameters */ - public ListDegradationsOptionalParameters include(String include) { + public ListMaintenancesOptionalParameters include(String include) { this.include = include; return this; } @@ -2031,37 +2748,49 @@ public ListDegradationsOptionalParameters include(String include) { /** * Set filterStatus. * - * @param filterStatus Optional degradation status filter. Supported values: investigating, - * identified, monitoring, resolved. (optional) - * @return ListDegradationsOptionalParameters + * @param filterStatus Optional filter by maintenance status. Supported values: scheduled, + * in_progress, completed, canceled. (optional) + * @return ListMaintenancesOptionalParameters */ - public ListDegradationsOptionalParameters filterStatus(String filterStatus) { + public ListMaintenancesOptionalParameters filterStatus(String filterStatus) { this.filterStatus = filterStatus; return this; } + + /** + * Set sort. + * + * @param sort Sort order. Prefix with '-' for descending. Supported values: created_at, + * -created_at, start_date, -start_date. (optional) + * @return ListMaintenancesOptionalParameters + */ + public ListMaintenancesOptionalParameters sort(String sort) { + this.sort = sort; + return this; + } } /** - * List degradations. + * List maintenances. * - *

See {@link #listDegradationsWithHttpInfo}. + *

See {@link #listMaintenancesWithHttpInfo}. * - * @return DegradationArray + * @return MaintenanceArray * @throws ApiException if fails to make API call */ - public DegradationArray listDegradations() throws ApiException { - return listDegradationsWithHttpInfo(new ListDegradationsOptionalParameters()).getData(); + public MaintenanceArray listMaintenances() throws ApiException { + return listMaintenancesWithHttpInfo(new ListMaintenancesOptionalParameters()).getData(); } /** - * List degradations. + * List maintenances. * - *

See {@link #listDegradationsWithHttpInfoAsync}. + *

See {@link #listMaintenancesWithHttpInfoAsync}. * - * @return CompletableFuture<DegradationArray> + * @return CompletableFuture<MaintenanceArray> */ - public CompletableFuture listDegradationsAsync() { - return listDegradationsWithHttpInfoAsync(new ListDegradationsOptionalParameters()) + public CompletableFuture listMaintenancesAsync() { + return listMaintenancesWithHttpInfoAsync(new ListMaintenancesOptionalParameters()) .thenApply( response -> { return response.getData(); @@ -2069,30 +2798,30 @@ public CompletableFuture listDegradationsAsync() { } /** - * List degradations. + * List maintenances. * - *

See {@link #listDegradationsWithHttpInfo}. + *

See {@link #listMaintenancesWithHttpInfo}. * * @param parameters Optional parameters for the request. - * @return DegradationArray + * @return MaintenanceArray * @throws ApiException if fails to make API call */ - public DegradationArray listDegradations(ListDegradationsOptionalParameters parameters) + public MaintenanceArray listMaintenances(ListMaintenancesOptionalParameters parameters) throws ApiException { - return listDegradationsWithHttpInfo(parameters).getData(); + return listMaintenancesWithHttpInfo(parameters).getData(); } /** - * List degradations. + * List maintenances. * - *

See {@link #listDegradationsWithHttpInfoAsync}. + *

See {@link #listMaintenancesWithHttpInfoAsync}. * * @param parameters Optional parameters for the request. - * @return CompletableFuture<DegradationArray> + * @return CompletableFuture<MaintenanceArray> */ - public CompletableFuture listDegradationsAsync( - ListDegradationsOptionalParameters parameters) { - return listDegradationsWithHttpInfoAsync(parameters) + public CompletableFuture listMaintenancesAsync( + ListMaintenancesOptionalParameters parameters) { + return listMaintenancesWithHttpInfoAsync(parameters) .thenApply( response -> { return response.getData(); @@ -2100,10 +2829,11 @@ public CompletableFuture listDegradationsAsync( } /** - * Lists all degradations for the organization. Optionally filter by status and page. + * Lists all maintenances for the organization. Results can include scheduled, in progress, + * completed, and canceled maintenances. Optionally filter by status and page. * * @param parameters Optional parameters for the request. - * @return ApiResponse<DegradationArray> + * @return ApiResponse<MaintenanceArray> * @throws ApiException if fails to make API call * @http.response.details * @@ -2113,16 +2843,17 @@ public CompletableFuture listDegradationsAsync( * *
429 Too many requests -
*/ - public ApiResponse listDegradationsWithHttpInfo( - ListDegradationsOptionalParameters parameters) throws ApiException { + public ApiResponse listMaintenancesWithHttpInfo( + ListMaintenancesOptionalParameters parameters) throws ApiException { Object localVarPostBody = null; String filterPageId = parameters.filterPageId; Integer pageOffset = parameters.pageOffset; Integer pageLimit = parameters.pageLimit; String include = parameters.include; String filterStatus = parameters.filterStatus; + String sort = parameters.sort; // create path and map variables - String localVarPath = "/api/v2/statuspages/degradations"; + String localVarPath = "/api/v2/statuspages/maintenances"; List localVarQueryParams = new ArrayList(); Map localVarHeaderParams = new HashMap(); @@ -2132,10 +2863,11 @@ public ApiResponse listDegradationsWithHttpInfo( localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[limit]", pageLimit)); localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[status]", filterStatus)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort)); Invocation.Builder builder = apiClient.createBuilder( - "v2.StatusPagesApi.listDegradations", + "v2.StatusPagesApi.listMaintenances", localVarPath, localVarQueryParams, localVarHeaderParams, @@ -2150,27 +2882,28 @@ public ApiResponse listDegradationsWithHttpInfo( localVarPostBody, new HashMap(), false, - new GenericType() {}); + new GenericType() {}); } /** - * List degradations. + * List maintenances. * - *

See {@link #listDegradationsWithHttpInfo}. + *

See {@link #listMaintenancesWithHttpInfo}. * * @param parameters Optional parameters for the request. - * @return CompletableFuture<ApiResponse<DegradationArray>> + * @return CompletableFuture<ApiResponse<MaintenanceArray>> */ - public CompletableFuture> listDegradationsWithHttpInfoAsync( - ListDegradationsOptionalParameters parameters) { + public CompletableFuture> listMaintenancesWithHttpInfoAsync( + ListMaintenancesOptionalParameters parameters) { Object localVarPostBody = null; String filterPageId = parameters.filterPageId; Integer pageOffset = parameters.pageOffset; Integer pageLimit = parameters.pageLimit; String include = parameters.include; String filterStatus = parameters.filterStatus; + String sort = parameters.sort; // create path and map variables - String localVarPath = "/api/v2/statuspages/degradations"; + String localVarPath = "/api/v2/statuspages/maintenances"; List localVarQueryParams = new ArrayList(); Map localVarHeaderParams = new HashMap(); @@ -2180,12 +2913,13 @@ public CompletableFuture> listDegradationsWithHttp localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[limit]", pageLimit)); localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); localVarQueryParams.addAll(apiClient.parameterToPairs("", "filter[status]", filterStatus)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort)); Invocation.Builder builder; try { builder = apiClient.createBuilder( - "v2.StatusPagesApi.listDegradations", + "v2.StatusPagesApi.listMaintenances", localVarPath, localVarQueryParams, localVarHeaderParams, @@ -2193,7 +2927,7 @@ public CompletableFuture> listDegradationsWithHttp new String[] {"application/json"}, new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); } catch (ApiException ex) { - CompletableFuture> result = new CompletableFuture<>(); + CompletableFuture> result = new CompletableFuture<>(); result.completeExceptionally(ex); return result; } @@ -2205,7 +2939,7 @@ public CompletableFuture> listDegradationsWithHttp localVarPostBody, new HashMap(), false, - new GenericType() {}); + new GenericType() {}); } /** Manage optional parameters to listStatusPages. */ @@ -2944,6 +3678,285 @@ public CompletableFuture> updateDegradationWithHttpInfo new GenericType() {}); } + /** Manage optional parameters to updateMaintenance. */ + public static class UpdateMaintenanceOptionalParameters { + private Boolean notifySubscribers; + private String include; + + /** + * Set notifySubscribers. + * + * @param notifySubscribers Whether to notify page subscribers of the scheduled maintenance. + * (optional, default to true) + * @return UpdateMaintenanceOptionalParameters + */ + public UpdateMaintenanceOptionalParameters notifySubscribers(Boolean notifySubscribers) { + this.notifySubscribers = notifySubscribers; + return this; + } + + /** + * Set include. + * + * @param include Comma-separated list of resources to include. Supported values: + * created_by_user, last_modified_by_user, status_page. (optional) + * @return UpdateMaintenanceOptionalParameters + */ + public UpdateMaintenanceOptionalParameters include(String include) { + this.include = include; + return this; + } + } + + /** + * Update Scheduled Maintenance. + * + *

See {@link #updateMaintenanceWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) + * @param body (required) + * @return Maintenance + * @throws ApiException if fails to make API call + */ + public Maintenance updateMaintenance( + UUID pageId, UUID maintenanceId, PatchMaintenanceRequest body) throws ApiException { + return updateMaintenanceWithHttpInfo( + pageId, maintenanceId, body, new UpdateMaintenanceOptionalParameters()) + .getData(); + } + + /** + * Update Scheduled Maintenance. + * + *

See {@link #updateMaintenanceWithHttpInfoAsync}. + * + * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) + * @param body (required) + * @return CompletableFuture<Maintenance> + */ + public CompletableFuture updateMaintenanceAsync( + UUID pageId, UUID maintenanceId, PatchMaintenanceRequest body) { + return updateMaintenanceWithHttpInfoAsync( + pageId, maintenanceId, body, new UpdateMaintenanceOptionalParameters()) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Update Scheduled Maintenance. + * + *

See {@link #updateMaintenanceWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) + * @param body (required) + * @param parameters Optional parameters for the request. + * @return Maintenance + * @throws ApiException if fails to make API call + */ + public Maintenance updateMaintenance( + UUID pageId, + UUID maintenanceId, + PatchMaintenanceRequest body, + UpdateMaintenanceOptionalParameters parameters) + throws ApiException { + return updateMaintenanceWithHttpInfo(pageId, maintenanceId, body, parameters).getData(); + } + + /** + * Update Scheduled Maintenance. + * + *

See {@link #updateMaintenanceWithHttpInfoAsync}. + * + * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) + * @param body (required) + * @param parameters Optional parameters for the request. + * @return CompletableFuture<Maintenance> + */ + public CompletableFuture updateMaintenanceAsync( + UUID pageId, + UUID maintenanceId, + PatchMaintenanceRequest body, + UpdateMaintenanceOptionalParameters parameters) { + return updateMaintenanceWithHttpInfoAsync(pageId, maintenanceId, body, parameters) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Updates an existing scheduled maintenance's attributes. The maintenance may be in scheduled, in + * progress, completed, or canceled status. + * + * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) + * @param body (required) + * @param parameters Optional parameters for the request. + * @return ApiResponse<Maintenance> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
429 Too many requests -
+ */ + public ApiResponse updateMaintenanceWithHttpInfo( + UUID pageId, + UUID maintenanceId, + PatchMaintenanceRequest body, + UpdateMaintenanceOptionalParameters parameters) + throws ApiException { + Object localVarPostBody = body; + + // verify the required parameter 'pageId' is set + if (pageId == null) { + throw new ApiException( + 400, "Missing the required parameter 'pageId' when calling updateMaintenance"); + } + + // verify the required parameter 'maintenanceId' is set + if (maintenanceId == null) { + throw new ApiException( + 400, "Missing the required parameter 'maintenanceId' when calling updateMaintenance"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling updateMaintenance"); + } + Boolean notifySubscribers = parameters.notifySubscribers; + String include = parameters.include; + // create path and map variables + String localVarPath = + "/api/v2/statuspages/{page_id}/maintenances/{maintenance_id}" + .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())) + .replaceAll( + "\\{" + "maintenance_id" + "\\}", apiClient.escapeString(maintenanceId.toString())); + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll( + apiClient.parameterToPairs("", "notify_subscribers", notifySubscribers)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.StatusPagesApi.updateMaintenance", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "PATCH", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Update Scheduled Maintenance. + * + *

See {@link #updateMaintenanceWithHttpInfo}. + * + * @param pageId The ID of the status page. (required) + * @param maintenanceId The ID of the scheduled maintenance. (required) + * @param body (required) + * @param parameters Optional parameters for the request. + * @return CompletableFuture<ApiResponse<Maintenance>> + */ + public CompletableFuture> updateMaintenanceWithHttpInfoAsync( + UUID pageId, + UUID maintenanceId, + PatchMaintenanceRequest body, + UpdateMaintenanceOptionalParameters parameters) { + Object localVarPostBody = body; + + // verify the required parameter 'pageId' is set + if (pageId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'pageId' when calling updateMaintenance")); + return result; + } + + // verify the required parameter 'maintenanceId' is set + if (maintenanceId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'maintenanceId' when calling updateMaintenance")); + return result; + } + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'body' when calling updateMaintenance")); + return result; + } + Boolean notifySubscribers = parameters.notifySubscribers; + String include = parameters.include; + // create path and map variables + String localVarPath = + "/api/v2/statuspages/{page_id}/maintenances/{maintenance_id}" + .replaceAll("\\{" + "page_id" + "\\}", apiClient.escapeString(pageId.toString())) + .replaceAll( + "\\{" + "maintenance_id" + "\\}", apiClient.escapeString(maintenanceId.toString())); + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll( + apiClient.parameterToPairs("", "notify_subscribers", notifySubscribers)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include)); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.StatusPagesApi.updateMaintenance", + localVarPath, + localVarQueryParams, + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "PATCH", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + /** Manage optional parameters to updateStatusPage. */ public static class UpdateStatusPageOptionalParameters { private Boolean deleteSubscribers; diff --git a/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequest.java b/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequest.java new file mode 100644 index 00000000000..39c181db2d7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequest.java @@ -0,0 +1,136 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({CreateMaintenanceRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class CreateMaintenanceRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private CreateMaintenanceRequestData data; + + public CreateMaintenanceRequest data(CreateMaintenanceRequestData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public CreateMaintenanceRequestData getData() { + return data; + } + + public void setData(CreateMaintenanceRequestData data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return CreateMaintenanceRequest + */ + @JsonAnySetter + public CreateMaintenanceRequest putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this CreateMaintenanceRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateMaintenanceRequest createMaintenanceRequest = (CreateMaintenanceRequest) o; + return Objects.equals(this.data, createMaintenanceRequest.data) + && Objects.equals(this.additionalProperties, createMaintenanceRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateMaintenanceRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequestData.java b/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestData.java similarity index 60% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequestData.java rename to src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestData.java index d2f74d9eff3..e3ebdb8829c 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequestData.java +++ b/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestData.java @@ -17,47 +17,81 @@ import java.util.Map; import java.util.Objects; -/** Organization handle data for a create request. */ -@JsonPropertyOrder({GoogleChatCreateOrganizationHandleRequestData.JSON_PROPERTY_ATTRIBUTES}) +/** */ +@JsonPropertyOrder({ + CreateMaintenanceRequestData.JSON_PROPERTY_ATTRIBUTES, + CreateMaintenanceRequestData.JSON_PROPERTY_TYPE +}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatCreateOrganizationHandleRequestData { +public class CreateMaintenanceRequestData { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; - private GoogleChatCreateOrganizationHandleRequestAttributes attributes; + private CreateMaintenanceRequestDataAttributes attributes; - public GoogleChatCreateOrganizationHandleRequestData() {} + public static final String JSON_PROPERTY_TYPE = "type"; + private PatchMaintenanceRequestDataType type = PatchMaintenanceRequestDataType.MAINTENANCES; + + public CreateMaintenanceRequestData() {} @JsonCreator - public GoogleChatCreateOrganizationHandleRequestData( + public CreateMaintenanceRequestData( @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) - GoogleChatCreateOrganizationHandleRequestAttributes attributes) { + CreateMaintenanceRequestDataAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + PatchMaintenanceRequestDataType type) { this.attributes = attributes; this.unparsed |= attributes.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); } - public GoogleChatCreateOrganizationHandleRequestData attributes( - GoogleChatCreateOrganizationHandleRequestAttributes attributes) { + public CreateMaintenanceRequestData attributes( + CreateMaintenanceRequestDataAttributes attributes) { this.attributes = attributes; this.unparsed |= attributes.unparsed; return this; } /** - * Organization handle attributes for a create request. + * The supported attributes for creating a scheduled maintenance. * * @return attributes */ @JsonProperty(JSON_PROPERTY_ATTRIBUTES) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public GoogleChatCreateOrganizationHandleRequestAttributes getAttributes() { + public CreateMaintenanceRequestDataAttributes getAttributes() { return attributes; } - public void setAttributes(GoogleChatCreateOrganizationHandleRequestAttributes attributes) { + public void setAttributes(CreateMaintenanceRequestDataAttributes attributes) { this.attributes = attributes; } + public CreateMaintenanceRequestData type(PatchMaintenanceRequestDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Maintenances resource type. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public PatchMaintenanceRequestDataType getType() { + return type; + } + + public void setType(PatchMaintenanceRequestDataType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + /** * A container for additional, undeclared properties. This is a holder for any undeclared * properties as specified with the 'additionalProperties' keyword in the OAS document. @@ -70,11 +104,10 @@ public void setAttributes(GoogleChatCreateOrganizationHandleRequestAttributes at * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatCreateOrganizationHandleRequestData + * @return CreateMaintenanceRequestData */ @JsonAnySetter - public GoogleChatCreateOrganizationHandleRequestData putAdditionalProperty( - String key, Object value) { + public CreateMaintenanceRequestData putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -105,7 +138,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatCreateOrganizationHandleRequestData object is equal to o. */ + /** Return true if this CreateMaintenanceRequestData object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -114,24 +147,24 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatCreateOrganizationHandleRequestData googleChatCreateOrganizationHandleRequestData = - (GoogleChatCreateOrganizationHandleRequestData) o; - return Objects.equals(this.attributes, googleChatCreateOrganizationHandleRequestData.attributes) + CreateMaintenanceRequestData createMaintenanceRequestData = (CreateMaintenanceRequestData) o; + return Objects.equals(this.attributes, createMaintenanceRequestData.attributes) + && Objects.equals(this.type, createMaintenanceRequestData.type) && Objects.equals( - this.additionalProperties, - googleChatCreateOrganizationHandleRequestData.additionalProperties); + this.additionalProperties, createMaintenanceRequestData.additionalProperties); } @Override public int hashCode() { - return Objects.hash(attributes, additionalProperties); + return Objects.hash(attributes, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatCreateOrganizationHandleRequestData {\n"); + sb.append("class CreateMaintenanceRequestData {\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestDataAttributes.java new file mode 100644 index 00000000000..38d40513d0a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestDataAttributes.java @@ -0,0 +1,348 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** The supported attributes for creating a scheduled maintenance. */ +@JsonPropertyOrder({ + CreateMaintenanceRequestDataAttributes.JSON_PROPERTY_COMPLETED_DATE, + CreateMaintenanceRequestDataAttributes.JSON_PROPERTY_COMPLETED_DESCRIPTION, + CreateMaintenanceRequestDataAttributes.JSON_PROPERTY_COMPONENTS_AFFECTED, + CreateMaintenanceRequestDataAttributes.JSON_PROPERTY_IN_PROGRESS_DESCRIPTION, + CreateMaintenanceRequestDataAttributes.JSON_PROPERTY_SCHEDULED_DESCRIPTION, + CreateMaintenanceRequestDataAttributes.JSON_PROPERTY_START_DATE, + CreateMaintenanceRequestDataAttributes.JSON_PROPERTY_TITLE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class CreateMaintenanceRequestDataAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_COMPLETED_DATE = "completed_date"; + private OffsetDateTime completedDate; + + public static final String JSON_PROPERTY_COMPLETED_DESCRIPTION = "completed_description"; + private String completedDescription; + + public static final String JSON_PROPERTY_COMPONENTS_AFFECTED = "components_affected"; + private List componentsAffected = + new ArrayList<>(); + + public static final String JSON_PROPERTY_IN_PROGRESS_DESCRIPTION = "in_progress_description"; + private String inProgressDescription; + + public static final String JSON_PROPERTY_SCHEDULED_DESCRIPTION = "scheduled_description"; + private String scheduledDescription; + + public static final String JSON_PROPERTY_START_DATE = "start_date"; + private OffsetDateTime startDate; + + public static final String JSON_PROPERTY_TITLE = "title"; + private String title; + + public CreateMaintenanceRequestDataAttributes() {} + + @JsonCreator + public CreateMaintenanceRequestDataAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_COMPONENTS_AFFECTED) + List componentsAffected, + @JsonProperty(required = true, value = JSON_PROPERTY_TITLE) String title) { + this.componentsAffected = componentsAffected; + this.title = title; + } + + public CreateMaintenanceRequestDataAttributes completedDate(OffsetDateTime completedDate) { + this.completedDate = completedDate; + return this; + } + + /** + * Timestamp of when the scheduled maintenance was completed. + * + * @return completedDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPLETED_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getCompletedDate() { + return completedDate; + } + + public void setCompletedDate(OffsetDateTime completedDate) { + this.completedDate = completedDate; + } + + public CreateMaintenanceRequestDataAttributes completedDescription(String completedDescription) { + this.completedDescription = completedDescription; + return this; + } + + /** + * The description shown when the scheduled maintenance is completed. + * + * @return completedDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPLETED_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCompletedDescription() { + return completedDescription; + } + + public void setCompletedDescription(String completedDescription) { + this.completedDescription = completedDescription; + } + + public CreateMaintenanceRequestDataAttributes componentsAffected( + List componentsAffected) { + this.componentsAffected = componentsAffected; + for (CreateMaintenanceRequestDataAttributesComponentsAffectedItems item : componentsAffected) { + this.unparsed |= item.unparsed; + } + return this; + } + + public CreateMaintenanceRequestDataAttributes addComponentsAffectedItem( + CreateMaintenanceRequestDataAttributesComponentsAffectedItems componentsAffectedItem) { + this.componentsAffected.add(componentsAffectedItem); + this.unparsed |= componentsAffectedItem.unparsed; + return this; + } + + /** + * The components affected by the scheduled maintenance. + * + * @return componentsAffected + */ + @JsonProperty(JSON_PROPERTY_COMPONENTS_AFFECTED) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List + getComponentsAffected() { + return componentsAffected; + } + + public void setComponentsAffected( + List componentsAffected) { + this.componentsAffected = componentsAffected; + } + + public CreateMaintenanceRequestDataAttributes inProgressDescription( + String inProgressDescription) { + this.inProgressDescription = inProgressDescription; + return this; + } + + /** + * The description shown while the maintenance is in progress. + * + * @return inProgressDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IN_PROGRESS_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getInProgressDescription() { + return inProgressDescription; + } + + public void setInProgressDescription(String inProgressDescription) { + this.inProgressDescription = inProgressDescription; + } + + public CreateMaintenanceRequestDataAttributes scheduledDescription(String scheduledDescription) { + this.scheduledDescription = scheduledDescription; + return this; + } + + /** + * The description shown when the maintenance is scheduled. + * + * @return scheduledDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SCHEDULED_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getScheduledDescription() { + return scheduledDescription; + } + + public void setScheduledDescription(String scheduledDescription) { + this.scheduledDescription = scheduledDescription; + } + + public CreateMaintenanceRequestDataAttributes startDate(OffsetDateTime startDate) { + this.startDate = startDate; + return this; + } + + /** + * Timestamp of when the maintenance is scheduled to start. + * + * @return startDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_START_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getStartDate() { + return startDate; + } + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + public CreateMaintenanceRequestDataAttributes title(String title) { + this.title = title; + return this; + } + + /** + * The title of the scheduled maintenance. + * + * @return title + */ + @JsonProperty(JSON_PROPERTY_TITLE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return CreateMaintenanceRequestDataAttributes + */ + @JsonAnySetter + public CreateMaintenanceRequestDataAttributes putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this CreateMaintenanceRequestDataAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateMaintenanceRequestDataAttributes createMaintenanceRequestDataAttributes = + (CreateMaintenanceRequestDataAttributes) o; + return Objects.equals(this.completedDate, createMaintenanceRequestDataAttributes.completedDate) + && Objects.equals( + this.completedDescription, createMaintenanceRequestDataAttributes.completedDescription) + && Objects.equals( + this.componentsAffected, createMaintenanceRequestDataAttributes.componentsAffected) + && Objects.equals( + this.inProgressDescription, + createMaintenanceRequestDataAttributes.inProgressDescription) + && Objects.equals( + this.scheduledDescription, createMaintenanceRequestDataAttributes.scheduledDescription) + && Objects.equals(this.startDate, createMaintenanceRequestDataAttributes.startDate) + && Objects.equals(this.title, createMaintenanceRequestDataAttributes.title) + && Objects.equals( + this.additionalProperties, createMaintenanceRequestDataAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash( + completedDate, + completedDescription, + componentsAffected, + inProgressDescription, + scheduledDescription, + startDate, + title, + additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateMaintenanceRequestDataAttributes {\n"); + sb.append(" completedDate: ").append(toIndentedString(completedDate)).append("\n"); + sb.append(" completedDescription: ") + .append(toIndentedString(completedDescription)) + .append("\n"); + sb.append(" componentsAffected: ").append(toIndentedString(componentsAffected)).append("\n"); + sb.append(" inProgressDescription: ") + .append(toIndentedString(inProgressDescription)) + .append("\n"); + sb.append(" scheduledDescription: ") + .append(toIndentedString(scheduledDescription)) + .append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestDataAttributesComponentsAffectedItems.java b/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestDataAttributesComponentsAffectedItems.java new file mode 100644 index 00000000000..46eef88218a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/CreateMaintenanceRequestDataAttributesComponentsAffectedItems.java @@ -0,0 +1,209 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; + +/** */ +@JsonPropertyOrder({ + CreateMaintenanceRequestDataAttributesComponentsAffectedItems.JSON_PROPERTY_ID, + CreateMaintenanceRequestDataAttributesComponentsAffectedItems.JSON_PROPERTY_NAME, + CreateMaintenanceRequestDataAttributesComponentsAffectedItems.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class CreateMaintenanceRequestDataAttributesComponentsAffectedItems { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_STATUS = "status"; + private PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status; + + public CreateMaintenanceRequestDataAttributesComponentsAffectedItems() {} + + @JsonCreator + public CreateMaintenanceRequestDataAttributesComponentsAffectedItems( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_STATUS) + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + this.id = id; + this.status = status; + this.unparsed |= !status.isValid(); + } + + public CreateMaintenanceRequestDataAttributesComponentsAffectedItems id(UUID id) { + this.id = id; + return this; + } + + /** + * The ID of the component. Must be a component of type component. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + /** + * The name of the component. + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + public CreateMaintenanceRequestDataAttributesComponentsAffectedItems status( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + this.status = status; + this.unparsed |= !status.isValid(); + return this; + } + + /** + * The status of the component. + * + * @return status + */ + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus getStatus() { + return status; + } + + public void setStatus(PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + if (!status.isValid()) { + this.unparsed = true; + } + this.status = status; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return CreateMaintenanceRequestDataAttributesComponentsAffectedItems + */ + @JsonAnySetter + public CreateMaintenanceRequestDataAttributesComponentsAffectedItems putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this CreateMaintenanceRequestDataAttributesComponentsAffectedItems object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateMaintenanceRequestDataAttributesComponentsAffectedItems + createMaintenanceRequestDataAttributesComponentsAffectedItems = + (CreateMaintenanceRequestDataAttributesComponentsAffectedItems) o; + return Objects.equals(this.id, createMaintenanceRequestDataAttributesComponentsAffectedItems.id) + && Objects.equals( + this.name, createMaintenanceRequestDataAttributesComponentsAffectedItems.name) + && Objects.equals( + this.status, createMaintenanceRequestDataAttributesComponentsAffectedItems.status) + && Objects.equals( + this.additionalProperties, + createMaintenanceRequestDataAttributesComponentsAffectedItems.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateMaintenanceRequestDataAttributesComponentsAffectedItems {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/Degradation.java b/src/main/java/com/datadog/api/client/v2/model/Degradation.java index c3ce3e7fd8a..903c53052a4 100644 --- a/src/main/java/com/datadog/api/client/v2/model/Degradation.java +++ b/src/main/java/com/datadog/api/client/v2/model/Degradation.java @@ -28,7 +28,7 @@ public class Degradation { private DegradationData data; public static final String JSON_PROPERTY_INCLUDED = "included"; - private List included = null; + private List included = null; public Degradation data(DegradationData data) { this.data = data; @@ -52,15 +52,15 @@ public void setData(DegradationData data) { this.data = data; } - public Degradation included(List included) { + public Degradation included(List included) { this.included = included; - for (DegradationArrayIncluded item : included) { + for (DegradationIncluded item : included) { this.unparsed |= item.unparsed; } return this; } - public Degradation addIncludedItem(DegradationArrayIncluded includedItem) { + public Degradation addIncludedItem(DegradationIncluded includedItem) { if (this.included == null) { this.included = new ArrayList<>(); } @@ -78,11 +78,11 @@ public Degradation addIncludedItem(DegradationArrayIncluded includedItem) { @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_INCLUDED) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public List getIncluded() { + public List getIncluded() { return included; } - public void setIncluded(List included) { + public void setIncluded(List included) { this.included = included; } diff --git a/src/main/java/com/datadog/api/client/v2/model/DegradationArray.java b/src/main/java/com/datadog/api/client/v2/model/DegradationArray.java index 7927cc7917f..95ace1dcddb 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DegradationArray.java +++ b/src/main/java/com/datadog/api/client/v2/model/DegradationArray.java @@ -33,10 +33,10 @@ public class DegradationArray { private List data = new ArrayList<>(); public static final String JSON_PROPERTY_INCLUDED = "included"; - private List included = null; + private List included = null; public static final String JSON_PROPERTY_META = "meta"; - private StatusPagesResponseMeta meta; + private PaginationMeta meta; public DegradationArray() {} @@ -75,15 +75,15 @@ public void setData(List data) { this.data = data; } - public DegradationArray included(List included) { + public DegradationArray included(List included) { this.included = included; - for (DegradationArrayIncluded item : included) { + for (DegradationIncluded item : included) { this.unparsed |= item.unparsed; } return this; } - public DegradationArray addIncludedItem(DegradationArrayIncluded includedItem) { + public DegradationArray addIncludedItem(DegradationIncluded includedItem) { if (this.included == null) { this.included = new ArrayList<>(); } @@ -101,11 +101,11 @@ public DegradationArray addIncludedItem(DegradationArrayIncluded includedItem) { @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_INCLUDED) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public List getIncluded() { + public List getIncluded() { return included; } - public void setIncluded(List included) { + public void setIncluded(List included) { this.included = included; } @@ -117,7 +117,7 @@ public void setIncluded(List included) { @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_META) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public StatusPagesResponseMeta getMeta() { + public PaginationMeta getMeta() { return meta; } diff --git a/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributes.java index b46f82bee07..132eea4cb2a 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributes.java @@ -25,6 +25,8 @@ DegradationDataAttributes.JSON_PROPERTY_CREATED_AT, DegradationDataAttributes.JSON_PROPERTY_DESCRIPTION, DegradationDataAttributes.JSON_PROPERTY_MODIFIED_AT, + DegradationDataAttributes.JSON_PROPERTY_PROMISED_NEXT_UPDATE_AT, + DegradationDataAttributes.JSON_PROPERTY_SOURCE, DegradationDataAttributes.JSON_PROPERTY_STATUS, DegradationDataAttributes.JSON_PROPERTY_TITLE, DegradationDataAttributes.JSON_PROPERTY_UPDATES @@ -45,6 +47,12 @@ public class DegradationDataAttributes { public static final String JSON_PROPERTY_MODIFIED_AT = "modified_at"; private OffsetDateTime modifiedAt; + public static final String JSON_PROPERTY_PROMISED_NEXT_UPDATE_AT = "promised_next_update_at"; + private String promisedNextUpdateAt; + + public static final String JSON_PROPERTY_SOURCE = "source"; + private DegradationDataAttributesSource source; + public static final String JSON_PROPERTY_STATUS = "status"; private CreateDegradationRequestDataAttributesStatus status; @@ -153,6 +161,49 @@ public void setModifiedAt(OffsetDateTime modifiedAt) { this.modifiedAt = modifiedAt; } + public DegradationDataAttributes promisedNextUpdateAt(String promisedNextUpdateAt) { + this.promisedNextUpdateAt = promisedNextUpdateAt; + return this; + } + + /** + * GetpromisedNextUpdateAt + * + * @return promisedNextUpdateAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROMISED_NEXT_UPDATE_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPromisedNextUpdateAt() { + return promisedNextUpdateAt; + } + + public void setPromisedNextUpdateAt(String promisedNextUpdateAt) { + this.promisedNextUpdateAt = promisedNextUpdateAt; + } + + public DegradationDataAttributes source(DegradationDataAttributesSource source) { + this.source = source; + this.unparsed |= source.unparsed; + return this; + } + + /** + * Getsource + * + * @return source + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SOURCE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public DegradationDataAttributesSource getSource() { + return source; + } + + public void setSource(DegradationDataAttributesSource source) { + this.source = source; + } + public DegradationDataAttributes status(CreateDegradationRequestDataAttributesStatus status) { this.status = status; this.unparsed |= !status.isValid(); @@ -293,6 +344,8 @@ public boolean equals(Object o) { && Objects.equals(this.createdAt, degradationDataAttributes.createdAt) && Objects.equals(this.description, degradationDataAttributes.description) && Objects.equals(this.modifiedAt, degradationDataAttributes.modifiedAt) + && Objects.equals(this.promisedNextUpdateAt, degradationDataAttributes.promisedNextUpdateAt) + && Objects.equals(this.source, degradationDataAttributes.source) && Objects.equals(this.status, degradationDataAttributes.status) && Objects.equals(this.title, degradationDataAttributes.title) && Objects.equals(this.updates, degradationDataAttributes.updates) @@ -307,6 +360,8 @@ public int hashCode() { createdAt, description, modifiedAt, + promisedNextUpdateAt, + source, status, title, updates, @@ -321,6 +376,10 @@ public String toString() { sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n"); + sb.append(" promisedNextUpdateAt: ") + .append(toIndentedString(promisedNextUpdateAt)) + .append("\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" updates: ").append(toIndentedString(updates)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributesSource.java b/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributesSource.java new file mode 100644 index 00000000000..3d1e1d2a105 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributesSource.java @@ -0,0 +1,210 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + DegradationDataAttributesSource.JSON_PROPERTY_CREATED_AT, + DegradationDataAttributesSource.JSON_PROPERTY_SOURCE_ID, + DegradationDataAttributesSource.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class DegradationDataAttributesSource { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CREATED_AT = "created_at"; + private OffsetDateTime createdAt; + + public static final String JSON_PROPERTY_SOURCE_ID = "source_id"; + private String sourceId; + + public static final String JSON_PROPERTY_TYPE = "type"; + private EntityResponseIncludedIncidentType type; + + public DegradationDataAttributesSource() {} + + @JsonCreator + public DegradationDataAttributesSource( + @JsonProperty(required = true, value = JSON_PROPERTY_CREATED_AT) OffsetDateTime createdAt, + @JsonProperty(required = true, value = JSON_PROPERTY_SOURCE_ID) String sourceId, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + EntityResponseIncludedIncidentType type) { + this.createdAt = createdAt; + this.sourceId = sourceId; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public DegradationDataAttributesSource createdAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * GetcreatedAt + * + * @return createdAt + */ + @JsonProperty(JSON_PROPERTY_CREATED_AT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + public DegradationDataAttributesSource sourceId(String sourceId) { + this.sourceId = sourceId; + return this; + } + + /** + * GetsourceId + * + * @return sourceId + */ + @JsonProperty(JSON_PROPERTY_SOURCE_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getSourceId() { + return sourceId; + } + + public void setSourceId(String sourceId) { + this.sourceId = sourceId; + } + + public DegradationDataAttributesSource type(EntityResponseIncludedIncidentType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Incident description. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public EntityResponseIncludedIncidentType getType() { + return type; + } + + public void setType(EntityResponseIncludedIncidentType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return DegradationDataAttributesSource + */ + @JsonAnySetter + public DegradationDataAttributesSource putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this DegradationDataAttributesSource object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DegradationDataAttributesSource degradationDataAttributesSource = + (DegradationDataAttributesSource) o; + return Objects.equals(this.createdAt, degradationDataAttributesSource.createdAt) + && Objects.equals(this.sourceId, degradationDataAttributesSource.sourceId) + && Objects.equals(this.type, degradationDataAttributesSource.type) + && Objects.equals( + this.additionalProperties, degradationDataAttributesSource.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(createdAt, sourceId, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DegradationDataAttributesSource {\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" sourceId: ").append(toIndentedString(sourceId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributesUpdatesItems.java b/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributesUpdatesItems.java index caf9484d3f2..4e2a5391b69 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributesUpdatesItems.java +++ b/src/main/java/com/datadog/api/client/v2/model/DegradationDataAttributesUpdatesItems.java @@ -27,6 +27,7 @@ DegradationDataAttributesUpdatesItems.JSON_PROPERTY_DESCRIPTION, DegradationDataAttributesUpdatesItems.JSON_PROPERTY_ID, DegradationDataAttributesUpdatesItems.JSON_PROPERTY_MODIFIED_AT, + DegradationDataAttributesUpdatesItems.JSON_PROPERTY_STARTED_AT, DegradationDataAttributesUpdatesItems.JSON_PROPERTY_STATUS }) @jakarta.annotation.Generated( @@ -49,6 +50,9 @@ public class DegradationDataAttributesUpdatesItems { public static final String JSON_PROPERTY_MODIFIED_AT = "modified_at"; private OffsetDateTime modifiedAt; + public static final String JSON_PROPERTY_STARTED_AT = "started_at"; + private String startedAt; + public static final String JSON_PROPERTY_STATUS = "status"; private CreateDegradationRequestDataAttributesStatus status; @@ -146,6 +150,27 @@ public OffsetDateTime getModifiedAt() { return modifiedAt; } + public DegradationDataAttributesUpdatesItems startedAt(String startedAt) { + this.startedAt = startedAt; + return this; + } + + /** + * GetstartedAt + * + * @return startedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STARTED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getStartedAt() { + return startedAt; + } + + public void setStartedAt(String startedAt) { + this.startedAt = startedAt; + } + public DegradationDataAttributesUpdatesItems status( CreateDegradationRequestDataAttributesStatus status) { this.status = status; @@ -235,6 +260,7 @@ public boolean equals(Object o) { && Objects.equals(this.description, degradationDataAttributesUpdatesItems.description) && Objects.equals(this.id, degradationDataAttributesUpdatesItems.id) && Objects.equals(this.modifiedAt, degradationDataAttributesUpdatesItems.modifiedAt) + && Objects.equals(this.startedAt, degradationDataAttributesUpdatesItems.startedAt) && Objects.equals(this.status, degradationDataAttributesUpdatesItems.status) && Objects.equals( this.additionalProperties, degradationDataAttributesUpdatesItems.additionalProperties); @@ -243,7 +269,14 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( - componentsAffected, createdAt, description, id, modifiedAt, status, additionalProperties); + componentsAffected, + createdAt, + description, + id, + modifiedAt, + startedAt, + status, + additionalProperties); } @Override @@ -255,6 +288,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n"); + sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/DegradationArrayIncluded.java b/src/main/java/com/datadog/api/client/v2/model/DegradationIncluded.java similarity index 87% rename from src/main/java/com/datadog/api/client/v2/model/DegradationArrayIncluded.java rename to src/main/java/com/datadog/api/client/v2/model/DegradationIncluded.java index ba9d26e414c..594f9dcd9ad 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DegradationArrayIncluded.java +++ b/src/main/java/com/datadog/api/client/v2/model/DegradationIncluded.java @@ -36,43 +36,41 @@ @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -@JsonDeserialize(using = DegradationArrayIncluded.DegradationArrayIncludedDeserializer.class) -@JsonSerialize(using = DegradationArrayIncluded.DegradationArrayIncludedSerializer.class) -public class DegradationArrayIncluded extends AbstractOpenApiSchema { - private static final Logger log = Logger.getLogger(DegradationArrayIncluded.class.getName()); +@JsonDeserialize(using = DegradationIncluded.DegradationIncludedDeserializer.class) +@JsonSerialize(using = DegradationIncluded.DegradationIncludedSerializer.class) +public class DegradationIncluded extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(DegradationIncluded.class.getName()); @JsonIgnore public boolean unparsed = false; - public static class DegradationArrayIncludedSerializer - extends StdSerializer { - public DegradationArrayIncludedSerializer(Class t) { + public static class DegradationIncludedSerializer extends StdSerializer { + public DegradationIncludedSerializer(Class t) { super(t); } - public DegradationArrayIncludedSerializer() { + public DegradationIncludedSerializer() { this(null); } @Override public void serialize( - DegradationArrayIncluded value, JsonGenerator jgen, SerializerProvider provider) + DegradationIncluded value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeObject(value.getActualInstance()); } } - public static class DegradationArrayIncludedDeserializer - extends StdDeserializer { - public DegradationArrayIncludedDeserializer() { - this(DegradationArrayIncluded.class); + public static class DegradationIncludedDeserializer extends StdDeserializer { + public DegradationIncludedDeserializer() { + this(DegradationIncluded.class); } - public DegradationArrayIncludedDeserializer(Class vc) { + public DegradationIncludedDeserializer(Class vc) { super(vc); } @Override - public DegradationArrayIncluded deserialize(JsonParser jp, DeserializationContext ctxt) + public DegradationIncluded deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode tree = jp.readValueAsTree(); Object deserialized = null; @@ -169,7 +167,7 @@ public DegradationArrayIncluded deserialize(JsonParser jp, DeserializationContex log.log(Level.FINER, "Input data does not match schema 'StatusPageAsIncluded'", e); } - DegradationArrayIncluded ret = new DegradationArrayIncluded(); + DegradationIncluded ret = new DegradationIncluded(); if (match == 1) { ret.setActualInstance(deserialized); } else { @@ -185,25 +183,25 @@ public DegradationArrayIncluded deserialize(JsonParser jp, DeserializationContex /** Handle deserialization of the 'null' value. */ @Override - public DegradationArrayIncluded getNullValue(DeserializationContext ctxt) + public DegradationIncluded getNullValue(DeserializationContext ctxt) throws JsonMappingException { - throw new JsonMappingException(ctxt.getParser(), "DegradationArrayIncluded cannot be null"); + throw new JsonMappingException(ctxt.getParser(), "DegradationIncluded cannot be null"); } } // store a list of schema names defined in oneOf public static final Map schemas = new HashMap(); - public DegradationArrayIncluded() { + public DegradationIncluded() { super("oneOf", Boolean.FALSE); } - public DegradationArrayIncluded(StatusPagesUser o) { + public DegradationIncluded(StatusPagesUser o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } - public DegradationArrayIncluded(StatusPageAsIncluded o) { + public DegradationIncluded(StatusPageAsIncluded o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } @@ -211,12 +209,12 @@ public DegradationArrayIncluded(StatusPageAsIncluded o) { static { schemas.put("StatusPagesUser", new GenericType() {}); schemas.put("StatusPageAsIncluded", new GenericType() {}); - JSON.registerDescendants(DegradationArrayIncluded.class, Collections.unmodifiableMap(schemas)); + JSON.registerDescendants(DegradationIncluded.class, Collections.unmodifiableMap(schemas)); } @Override public Map getSchemas() { - return DegradationArrayIncluded.schemas; + return DegradationIncluded.schemas; } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponseAttributes.java deleted file mode 100644 index 5a2ab7f43c7..00000000000 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponseAttributes.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - * This product includes software developed at Datadog (https://www.datadoghq.com/). - * Copyright 2019-Present Datadog, Inc. - */ - -package com.datadog.api.client.v2.model; - -import com.fasterxml.jackson.annotation.JsonAnyGetter; -import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -/** Google Chat space attributes. */ -@JsonPropertyOrder({ - GoogleChatAppNamedSpaceResponseAttributes.JSON_PROPERTY_DISPLAY_NAME, - GoogleChatAppNamedSpaceResponseAttributes.JSON_PROPERTY_ORGANIZATION_BINDING_ID, - GoogleChatAppNamedSpaceResponseAttributes.JSON_PROPERTY_RESOURCE_NAME, - GoogleChatAppNamedSpaceResponseAttributes.JSON_PROPERTY_SPACE_URI -}) -@jakarta.annotation.Generated( - value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatAppNamedSpaceResponseAttributes { - @JsonIgnore public boolean unparsed = false; - public static final String JSON_PROPERTY_DISPLAY_NAME = "display_name"; - private String displayName; - - public static final String JSON_PROPERTY_ORGANIZATION_BINDING_ID = "organization_binding_id"; - private String organizationBindingId; - - public static final String JSON_PROPERTY_RESOURCE_NAME = "resource_name"; - private String resourceName; - - public static final String JSON_PROPERTY_SPACE_URI = "space_uri"; - private String spaceUri; - - public GoogleChatAppNamedSpaceResponseAttributes displayName(String displayName) { - this.displayName = displayName; - return this; - } - - /** - * Google space display name. - * - * @return displayName - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_DISPLAY_NAME) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getDisplayName() { - return displayName; - } - - public void setDisplayName(String displayName) { - this.displayName = displayName; - } - - public GoogleChatAppNamedSpaceResponseAttributes organizationBindingId( - String organizationBindingId) { - this.organizationBindingId = organizationBindingId; - return this; - } - - /** - * Organization binding ID. - * - * @return organizationBindingId - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_ORGANIZATION_BINDING_ID) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getOrganizationBindingId() { - return organizationBindingId; - } - - public void setOrganizationBindingId(String organizationBindingId) { - this.organizationBindingId = organizationBindingId; - } - - public GoogleChatAppNamedSpaceResponseAttributes resourceName(String resourceName) { - this.resourceName = resourceName; - return this; - } - - /** - * Google space resource name. - * - * @return resourceName - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_RESOURCE_NAME) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getResourceName() { - return resourceName; - } - - public void setResourceName(String resourceName) { - this.resourceName = resourceName; - } - - public GoogleChatAppNamedSpaceResponseAttributes spaceUri(String spaceUri) { - this.spaceUri = spaceUri; - return this; - } - - /** - * Google space URI. - * - * @return spaceUri - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SPACE_URI) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getSpaceUri() { - return spaceUri; - } - - public void setSpaceUri(String spaceUri) { - this.spaceUri = spaceUri; - } - - /** - * A container for additional, undeclared properties. This is a holder for any undeclared - * properties as specified with the 'additionalProperties' keyword in the OAS document. - */ - private Map additionalProperties; - - /** - * Set the additional (undeclared) property with the specified name and value. If the property - * does not already exist, create it otherwise replace it. - * - * @param key The arbitrary key to set - * @param value The associated value - * @return GoogleChatAppNamedSpaceResponseAttributes - */ - @JsonAnySetter - public GoogleChatAppNamedSpaceResponseAttributes putAdditionalProperty(String key, Object value) { - if (this.additionalProperties == null) { - this.additionalProperties = new HashMap(); - } - this.additionalProperties.put(key, value); - return this; - } - - /** - * Return the additional (undeclared) property. - * - * @return The additional properties - */ - @JsonAnyGetter - public Map getAdditionalProperties() { - return additionalProperties; - } - - /** - * Return the additional (undeclared) property with the specified name. - * - * @param key The arbitrary key to get - * @return The specific additional property for the given key - */ - public Object getAdditionalProperty(String key) { - if (this.additionalProperties == null) { - return null; - } - return this.additionalProperties.get(key); - } - - /** Return true if this GoogleChatAppNamedSpaceResponseAttributes object is equal to o. */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GoogleChatAppNamedSpaceResponseAttributes googleChatAppNamedSpaceResponseAttributes = - (GoogleChatAppNamedSpaceResponseAttributes) o; - return Objects.equals(this.displayName, googleChatAppNamedSpaceResponseAttributes.displayName) - && Objects.equals( - this.organizationBindingId, - googleChatAppNamedSpaceResponseAttributes.organizationBindingId) - && Objects.equals(this.resourceName, googleChatAppNamedSpaceResponseAttributes.resourceName) - && Objects.equals(this.spaceUri, googleChatAppNamedSpaceResponseAttributes.spaceUri) - && Objects.equals( - this.additionalProperties, - googleChatAppNamedSpaceResponseAttributes.additionalProperties); - } - - @Override - public int hashCode() { - return Objects.hash( - displayName, organizationBindingId, resourceName, spaceUri, additionalProperties); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatAppNamedSpaceResponseAttributes {\n"); - sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); - sb.append(" organizationBindingId: ") - .append(toIndentedString(organizationBindingId)) - .append("\n"); - sb.append(" resourceName: ").append(toIndentedString(resourceName)).append("\n"); - sb.append(" spaceUri: ").append(toIndentedString(spaceUri)).append("\n"); - sb.append(" additionalProperties: ") - .append(toIndentedString(additionalProperties)) - .append("\n"); - sb.append('}'); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleType.java b/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleType.java deleted file mode 100644 index 1930380a293..00000000000 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleType.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - * This product includes software developed at Datadog (https://www.datadoghq.com/). - * Copyright 2019-Present Datadog, Inc. - */ - -package com.datadog.api.client.v2.model; - -import com.datadog.api.client.ModelEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; -import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -/** Organization handle resource type. */ -@JsonSerialize( - using = GoogleChatOrganizationHandleType.GoogleChatOrganizationHandleTypeSerializer.class) -public class GoogleChatOrganizationHandleType extends ModelEnum { - - private static final Set allowedValues = - new HashSet(Arrays.asList("google-chat-organization-handle")); - - public static final GoogleChatOrganizationHandleType GOOGLE_CHAT_ORGANIZATION_HANDLE_TYPE = - new GoogleChatOrganizationHandleType("google-chat-organization-handle"); - - GoogleChatOrganizationHandleType(String value) { - super(value, allowedValues); - } - - public static class GoogleChatOrganizationHandleTypeSerializer - extends StdSerializer { - public GoogleChatOrganizationHandleTypeSerializer(Class t) { - super(t); - } - - public GoogleChatOrganizationHandleTypeSerializer() { - this(null); - } - - @Override - public void serialize( - GoogleChatOrganizationHandleType value, JsonGenerator jgen, SerializerProvider provider) - throws IOException, JsonProcessingException { - jgen.writeObject(value.value); - } - } - - @JsonCreator - public static GoogleChatOrganizationHandleType fromValue(String value) { - return new GoogleChatOrganizationHandleType(value); - } -} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequestData.java b/src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequestData.java deleted file mode 100644 index 0f1e90e9967..00000000000 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequestData.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - * This product includes software developed at Datadog (https://www.datadoghq.com/). - * Copyright 2019-Present Datadog, Inc. - */ - -package com.datadog.api.client.v2.model; - -import com.fasterxml.jackson.annotation.JsonAnyGetter; -import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -/** Organization handle data for an update request. */ -@JsonPropertyOrder({GoogleChatUpdateOrganizationHandleRequestData.JSON_PROPERTY_ATTRIBUTES}) -@jakarta.annotation.Generated( - value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatUpdateOrganizationHandleRequestData { - @JsonIgnore public boolean unparsed = false; - public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; - private GoogleChatUpdateOrganizationHandleRequestAttributes attributes; - - public GoogleChatUpdateOrganizationHandleRequestData() {} - - @JsonCreator - public GoogleChatUpdateOrganizationHandleRequestData( - @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) - GoogleChatUpdateOrganizationHandleRequestAttributes attributes) { - this.attributes = attributes; - this.unparsed |= attributes.unparsed; - } - - public GoogleChatUpdateOrganizationHandleRequestData attributes( - GoogleChatUpdateOrganizationHandleRequestAttributes attributes) { - this.attributes = attributes; - this.unparsed |= attributes.unparsed; - return this; - } - - /** - * Organization handle attributes for an update request. - * - * @return attributes - */ - @JsonProperty(JSON_PROPERTY_ATTRIBUTES) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public GoogleChatUpdateOrganizationHandleRequestAttributes getAttributes() { - return attributes; - } - - public void setAttributes(GoogleChatUpdateOrganizationHandleRequestAttributes attributes) { - this.attributes = attributes; - } - - /** - * A container for additional, undeclared properties. This is a holder for any undeclared - * properties as specified with the 'additionalProperties' keyword in the OAS document. - */ - private Map additionalProperties; - - /** - * Set the additional (undeclared) property with the specified name and value. If the property - * does not already exist, create it otherwise replace it. - * - * @param key The arbitrary key to set - * @param value The associated value - * @return GoogleChatUpdateOrganizationHandleRequestData - */ - @JsonAnySetter - public GoogleChatUpdateOrganizationHandleRequestData putAdditionalProperty( - String key, Object value) { - if (this.additionalProperties == null) { - this.additionalProperties = new HashMap(); - } - this.additionalProperties.put(key, value); - return this; - } - - /** - * Return the additional (undeclared) property. - * - * @return The additional properties - */ - @JsonAnyGetter - public Map getAdditionalProperties() { - return additionalProperties; - } - - /** - * Return the additional (undeclared) property with the specified name. - * - * @param key The arbitrary key to get - * @return The specific additional property for the given key - */ - public Object getAdditionalProperty(String key) { - if (this.additionalProperties == null) { - return null; - } - return this.additionalProperties.get(key); - } - - /** Return true if this GoogleChatUpdateOrganizationHandleRequestData object is equal to o. */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - GoogleChatUpdateOrganizationHandleRequestData googleChatUpdateOrganizationHandleRequestData = - (GoogleChatUpdateOrganizationHandleRequestData) o; - return Objects.equals(this.attributes, googleChatUpdateOrganizationHandleRequestData.attributes) - && Objects.equals( - this.additionalProperties, - googleChatUpdateOrganizationHandleRequestData.additionalProperties); - } - - @Override - public int hashCode() { - return Objects.hash(attributes, additionalProperties); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatUpdateOrganizationHandleRequestData {\n"); - sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); - sb.append(" additionalProperties: ") - .append(toIndentedString(additionalProperties)) - .append("\n"); - sb.append('}'); - return sb.toString(); - } - - /** - * Convert the given object to string with each line indented by 4 spaces (except the first line). - */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); - } -} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/Maintenance.java similarity index 56% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequestAttributes.java rename to src/main/java/com/datadog/api/client/v2/model/Maintenance.java index c0e4c8d8546..b841ea581f8 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequestAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/Maintenance.java @@ -12,66 +12,79 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Objects; -/** Organization handle attributes for an update request. */ -@JsonPropertyOrder({ - GoogleChatUpdateOrganizationHandleRequestAttributes.JSON_PROPERTY_NAME, - GoogleChatUpdateOrganizationHandleRequestAttributes.JSON_PROPERTY_SPACE_RESOURCE_NAME -}) +/** */ +@JsonPropertyOrder({Maintenance.JSON_PROPERTY_DATA, Maintenance.JSON_PROPERTY_INCLUDED}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatUpdateOrganizationHandleRequestAttributes { +public class Maintenance { @JsonIgnore public boolean unparsed = false; - public static final String JSON_PROPERTY_NAME = "name"; - private String name; + public static final String JSON_PROPERTY_DATA = "data"; + private MaintenanceData data; - public static final String JSON_PROPERTY_SPACE_RESOURCE_NAME = "space_resource_name"; - private String spaceResourceName; + public static final String JSON_PROPERTY_INCLUDED = "included"; + private List included = null; - public GoogleChatUpdateOrganizationHandleRequestAttributes name(String name) { - this.name = name; + public Maintenance data(MaintenanceData data) { + this.data = data; + this.unparsed |= data.unparsed; return this; } /** - * Organization handle name. + * A scheduled maintenance resource. The same resource can be in scheduled, in progress, + * completed, or canceled status over its lifecycle. * - * @return name + * @return data */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(JSON_PROPERTY_DATA) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getName() { - return name; + public MaintenanceData getData() { + return data; } - public void setName(String name) { - this.name = name; + public void setData(MaintenanceData data) { + this.data = data; } - public GoogleChatUpdateOrganizationHandleRequestAttributes spaceResourceName( - String spaceResourceName) { - this.spaceResourceName = spaceResourceName; + public Maintenance included(List included) { + this.included = included; + for (DegradationIncluded item : included) { + this.unparsed |= item.unparsed; + } + return this; + } + + public Maintenance addIncludedItem(DegradationIncluded includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + this.unparsed |= includedItem.unparsed; return this; } /** - * Google space resource name. + * The included related resources of a scheduled maintenance. Client must explicitly request these + * resources by name in the include query parameter. * - * @return spaceResourceName + * @return included */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SPACE_RESOURCE_NAME) + @JsonProperty(JSON_PROPERTY_INCLUDED) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getSpaceResourceName() { - return spaceResourceName; + public List getIncluded() { + return included; } - public void setSpaceResourceName(String spaceResourceName) { - this.spaceResourceName = spaceResourceName; + public void setIncluded(List included) { + this.included = included; } /** @@ -86,11 +99,10 @@ public void setSpaceResourceName(String spaceResourceName) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatUpdateOrganizationHandleRequestAttributes + * @return Maintenance */ @JsonAnySetter - public GoogleChatUpdateOrganizationHandleRequestAttributes putAdditionalProperty( - String key, Object value) { + public Maintenance putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -121,9 +133,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** - * Return true if this GoogleChatUpdateOrganizationHandleRequestAttributes object is equal to o. - */ + /** Return true if this Maintenance object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -132,29 +142,23 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatUpdateOrganizationHandleRequestAttributes - googleChatUpdateOrganizationHandleRequestAttributes = - (GoogleChatUpdateOrganizationHandleRequestAttributes) o; - return Objects.equals(this.name, googleChatUpdateOrganizationHandleRequestAttributes.name) - && Objects.equals( - this.spaceResourceName, - googleChatUpdateOrganizationHandleRequestAttributes.spaceResourceName) - && Objects.equals( - this.additionalProperties, - googleChatUpdateOrganizationHandleRequestAttributes.additionalProperties); + Maintenance maintenance = (Maintenance) o; + return Objects.equals(this.data, maintenance.data) + && Objects.equals(this.included, maintenance.included) + && Objects.equals(this.additionalProperties, maintenance.additionalProperties); } @Override public int hashCode() { - return Objects.hash(name, spaceResourceName, additionalProperties); + return Objects.hash(data, included, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatUpdateOrganizationHandleRequestAttributes {\n"); - sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" spaceResourceName: ").append(toIndentedString(spaceResourceName)).append("\n"); + sb.append("class Maintenance {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/MaintenanceArray.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceArray.java new file mode 100644 index 00000000000..cd5dd9a07d3 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceArray.java @@ -0,0 +1,214 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + MaintenanceArray.JSON_PROPERTY_DATA, + MaintenanceArray.JSON_PROPERTY_INCLUDED, + MaintenanceArray.JSON_PROPERTY_META +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class MaintenanceArray { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_INCLUDED = "included"; + private List included = null; + + public static final String JSON_PROPERTY_META = "meta"; + private PaginationMeta meta; + + public MaintenanceArray() {} + + @JsonCreator + public MaintenanceArray( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) List data) { + this.data = data; + } + + public MaintenanceArray data(List data) { + this.data = data; + for (MaintenanceData item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public MaintenanceArray addDataItem(MaintenanceData dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public MaintenanceArray included(List included) { + this.included = included; + for (DegradationIncluded item : included) { + this.unparsed |= item.unparsed; + } + return this; + } + + public MaintenanceArray addIncludedItem(DegradationIncluded includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + this.unparsed |= includedItem.unparsed; + return this; + } + + /** + * The included related resources of a maintenance. Client must explicitly request these resources + * by name in the include query parameter. + * + * @return included + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INCLUDED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getIncluded() { + return included; + } + + public void setIncluded(List included) { + this.included = included; + } + + /** + * Response metadata. + * + * @return meta + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_META) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public PaginationMeta getMeta() { + return meta; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return MaintenanceArray + */ + @JsonAnySetter + public MaintenanceArray putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this MaintenanceArray object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MaintenanceArray maintenanceArray = (MaintenanceArray) o; + return Objects.equals(this.data, maintenanceArray.data) + && Objects.equals(this.included, maintenanceArray.included) + && Objects.equals(this.meta, maintenanceArray.meta) + && Objects.equals(this.additionalProperties, maintenanceArray.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, included, meta, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MaintenanceArray {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponseData.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceData.java similarity index 58% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponseData.java rename to src/main/java/com/datadog/api/client/v2/model/MaintenanceData.java index b2a580aebfd..a27f60ec4b6 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponseData.java +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceData.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -15,90 +16,127 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.UUID; -/** Google Chat space data from a response. */ +/** + * A scheduled maintenance resource. The same resource can be in scheduled, in progress, completed, + * or canceled status over its lifecycle. + */ @JsonPropertyOrder({ - GoogleChatAppNamedSpaceResponseData.JSON_PROPERTY_ATTRIBUTES, - GoogleChatAppNamedSpaceResponseData.JSON_PROPERTY_ID, - GoogleChatAppNamedSpaceResponseData.JSON_PROPERTY_TYPE + MaintenanceData.JSON_PROPERTY_ATTRIBUTES, + MaintenanceData.JSON_PROPERTY_ID, + MaintenanceData.JSON_PROPERTY_RELATIONSHIPS, + MaintenanceData.JSON_PROPERTY_TYPE }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatAppNamedSpaceResponseData { +public class MaintenanceData { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; - private GoogleChatAppNamedSpaceResponseAttributes attributes; + private MaintenanceDataAttributes attributes; public static final String JSON_PROPERTY_ID = "id"; - private String id; + private UUID id; + + public static final String JSON_PROPERTY_RELATIONSHIPS = "relationships"; + private MaintenanceDataRelationships relationships; public static final String JSON_PROPERTY_TYPE = "type"; - private GoogleChatAppNamedSpaceType type = - GoogleChatAppNamedSpaceType.GOOGLE_CHAT_APP_NAMED_SPACE_TYPE; + private PatchMaintenanceRequestDataType type = PatchMaintenanceRequestDataType.MAINTENANCES; + + public MaintenanceData() {} - public GoogleChatAppNamedSpaceResponseData attributes( - GoogleChatAppNamedSpaceResponseAttributes attributes) { + @JsonCreator + public MaintenanceData( + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + PatchMaintenanceRequestDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + } + + public MaintenanceData attributes(MaintenanceDataAttributes attributes) { this.attributes = attributes; this.unparsed |= attributes.unparsed; return this; } /** - * Google Chat space attributes. + * The attributes of a scheduled maintenance. * * @return attributes */ @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_ATTRIBUTES) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public GoogleChatAppNamedSpaceResponseAttributes getAttributes() { + public MaintenanceDataAttributes getAttributes() { return attributes; } - public void setAttributes(GoogleChatAppNamedSpaceResponseAttributes attributes) { + public void setAttributes(MaintenanceDataAttributes attributes) { this.attributes = attributes; } - public GoogleChatAppNamedSpaceResponseData id(String id) { + public MaintenanceData id(UUID id) { this.id = id; return this; } /** - * The ID of the Google Chat space. + * The ID of the scheduled maintenance. * * @return id */ @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_ID) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getId() { + public UUID getId() { return id; } - public void setId(String id) { + public void setId(UUID id) { this.id = id; } - public GoogleChatAppNamedSpaceResponseData type(GoogleChatAppNamedSpaceType type) { + public MaintenanceData relationships(MaintenanceDataRelationships relationships) { + this.relationships = relationships; + this.unparsed |= relationships.unparsed; + return this; + } + + /** + * The relationships of a scheduled maintenance. + * + * @return relationships + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RELATIONSHIPS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public MaintenanceDataRelationships getRelationships() { + return relationships; + } + + public void setRelationships(MaintenanceDataRelationships relationships) { + this.relationships = relationships; + } + + public MaintenanceData type(PatchMaintenanceRequestDataType type) { this.type = type; this.unparsed |= !type.isValid(); return this; } /** - * Google Chat space resource type. + * Maintenances resource type. * * @return type */ - @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_TYPE) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public GoogleChatAppNamedSpaceType getType() { + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public PatchMaintenanceRequestDataType getType() { return type; } - public void setType(GoogleChatAppNamedSpaceType type) { + public void setType(PatchMaintenanceRequestDataType type) { if (!type.isValid()) { this.unparsed = true; } @@ -117,10 +155,10 @@ public void setType(GoogleChatAppNamedSpaceType type) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatAppNamedSpaceResponseData + * @return MaintenanceData */ @JsonAnySetter - public GoogleChatAppNamedSpaceResponseData putAdditionalProperty(String key, Object value) { + public MaintenanceData putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -151,7 +189,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatAppNamedSpaceResponseData object is equal to o. */ + /** Return true if this MaintenanceData object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -160,26 +198,26 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatAppNamedSpaceResponseData googleChatAppNamedSpaceResponseData = - (GoogleChatAppNamedSpaceResponseData) o; - return Objects.equals(this.attributes, googleChatAppNamedSpaceResponseData.attributes) - && Objects.equals(this.id, googleChatAppNamedSpaceResponseData.id) - && Objects.equals(this.type, googleChatAppNamedSpaceResponseData.type) - && Objects.equals( - this.additionalProperties, googleChatAppNamedSpaceResponseData.additionalProperties); + MaintenanceData maintenanceData = (MaintenanceData) o; + return Objects.equals(this.attributes, maintenanceData.attributes) + && Objects.equals(this.id, maintenanceData.id) + && Objects.equals(this.relationships, maintenanceData.relationships) + && Objects.equals(this.type, maintenanceData.type) + && Objects.equals(this.additionalProperties, maintenanceData.additionalProperties); } @Override public int hashCode() { - return Objects.hash(attributes, id, type, additionalProperties); + return Objects.hash(attributes, id, relationships, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatAppNamedSpaceResponseData {\n"); + sb.append("class MaintenanceData {\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" relationships: ").append(toIndentedString(relationships)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributes.java new file mode 100644 index 00000000000..31749a2c4a7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributes.java @@ -0,0 +1,462 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** The attributes of a scheduled maintenance. */ +@JsonPropertyOrder({ + MaintenanceDataAttributes.JSON_PROPERTY_COMPLETED_DATE, + MaintenanceDataAttributes.JSON_PROPERTY_COMPLETED_DESCRIPTION, + MaintenanceDataAttributes.JSON_PROPERTY_COMPONENTS_AFFECTED, + MaintenanceDataAttributes.JSON_PROPERTY_IN_PROGRESS_DESCRIPTION, + MaintenanceDataAttributes.JSON_PROPERTY_MODIFIED_AT, + MaintenanceDataAttributes.JSON_PROPERTY_PUBLISHED_DATE, + MaintenanceDataAttributes.JSON_PROPERTY_SCHEDULED_DESCRIPTION, + MaintenanceDataAttributes.JSON_PROPERTY_START_DATE, + MaintenanceDataAttributes.JSON_PROPERTY_STATUS, + MaintenanceDataAttributes.JSON_PROPERTY_TITLE, + MaintenanceDataAttributes.JSON_PROPERTY_UPDATES +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class MaintenanceDataAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_COMPLETED_DATE = "completed_date"; + private OffsetDateTime completedDate; + + public static final String JSON_PROPERTY_COMPLETED_DESCRIPTION = "completed_description"; + private String completedDescription; + + public static final String JSON_PROPERTY_COMPONENTS_AFFECTED = "components_affected"; + private List componentsAffected = null; + + public static final String JSON_PROPERTY_IN_PROGRESS_DESCRIPTION = "in_progress_description"; + private String inProgressDescription; + + public static final String JSON_PROPERTY_MODIFIED_AT = "modified_at"; + private OffsetDateTime modifiedAt; + + public static final String JSON_PROPERTY_PUBLISHED_DATE = "published_date"; + private OffsetDateTime publishedDate; + + public static final String JSON_PROPERTY_SCHEDULED_DESCRIPTION = "scheduled_description"; + private String scheduledDescription; + + public static final String JSON_PROPERTY_START_DATE = "start_date"; + private OffsetDateTime startDate; + + public static final String JSON_PROPERTY_STATUS = "status"; + private MaintenanceDataAttributesStatus status; + + public static final String JSON_PROPERTY_TITLE = "title"; + private String title; + + public static final String JSON_PROPERTY_UPDATES = "updates"; + private List updates = null; + + public MaintenanceDataAttributes completedDate(OffsetDateTime completedDate) { + this.completedDate = completedDate; + return this; + } + + /** + * Timestamp of when the maintenance was completed. + * + * @return completedDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPLETED_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getCompletedDate() { + return completedDate; + } + + public void setCompletedDate(OffsetDateTime completedDate) { + this.completedDate = completedDate; + } + + public MaintenanceDataAttributes completedDescription(String completedDescription) { + this.completedDescription = completedDescription; + return this; + } + + /** + * The description shown when the maintenance is completed. + * + * @return completedDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPLETED_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCompletedDescription() { + return completedDescription; + } + + public void setCompletedDescription(String completedDescription) { + this.completedDescription = completedDescription; + } + + public MaintenanceDataAttributes componentsAffected( + List componentsAffected) { + this.componentsAffected = componentsAffected; + for (MaintenanceDataAttributesComponentsAffectedItems item : componentsAffected) { + this.unparsed |= item.unparsed; + } + return this; + } + + public MaintenanceDataAttributes addComponentsAffectedItem( + MaintenanceDataAttributesComponentsAffectedItems componentsAffectedItem) { + if (this.componentsAffected == null) { + this.componentsAffected = new ArrayList<>(); + } + this.componentsAffected.add(componentsAffectedItem); + this.unparsed |= componentsAffectedItem.unparsed; + return this; + } + + /** + * Components affected by the scheduled maintenance. + * + * @return componentsAffected + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPONENTS_AFFECTED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getComponentsAffected() { + return componentsAffected; + } + + public void setComponentsAffected( + List componentsAffected) { + this.componentsAffected = componentsAffected; + } + + public MaintenanceDataAttributes inProgressDescription(String inProgressDescription) { + this.inProgressDescription = inProgressDescription; + return this; + } + + /** + * The description shown while the maintenance is in progress. + * + * @return inProgressDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IN_PROGRESS_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getInProgressDescription() { + return inProgressDescription; + } + + public void setInProgressDescription(String inProgressDescription) { + this.inProgressDescription = inProgressDescription; + } + + public MaintenanceDataAttributes modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + /** + * Timestamp of when the scheduled maintenance was last modified. + * + * @return modifiedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MODIFIED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getModifiedAt() { + return modifiedAt; + } + + public void setModifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = modifiedAt; + } + + public MaintenanceDataAttributes publishedDate(OffsetDateTime publishedDate) { + this.publishedDate = publishedDate; + return this; + } + + /** + * Timestamp of when the scheduled maintenance was published. + * + * @return publishedDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PUBLISHED_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getPublishedDate() { + return publishedDate; + } + + public void setPublishedDate(OffsetDateTime publishedDate) { + this.publishedDate = publishedDate; + } + + public MaintenanceDataAttributes scheduledDescription(String scheduledDescription) { + this.scheduledDescription = scheduledDescription; + return this; + } + + /** + * The description shown when the maintenance is scheduled. + * + * @return scheduledDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SCHEDULED_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getScheduledDescription() { + return scheduledDescription; + } + + public void setScheduledDescription(String scheduledDescription) { + this.scheduledDescription = scheduledDescription; + } + + public MaintenanceDataAttributes startDate(OffsetDateTime startDate) { + this.startDate = startDate; + return this; + } + + /** + * Timestamp of when the maintenance is scheduled to start. + * + * @return startDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_START_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getStartDate() { + return startDate; + } + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + public MaintenanceDataAttributes status(MaintenanceDataAttributesStatus status) { + this.status = status; + this.unparsed |= !status.isValid(); + return this; + } + + /** + * The current status of the scheduled maintenance. + * + * @return status + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public MaintenanceDataAttributesStatus getStatus() { + return status; + } + + public void setStatus(MaintenanceDataAttributesStatus status) { + if (!status.isValid()) { + this.unparsed = true; + } + this.status = status; + } + + public MaintenanceDataAttributes title(String title) { + this.title = title; + return this; + } + + /** + * Title of the scheduled maintenance. + * + * @return title + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TITLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public MaintenanceDataAttributes updates(List updates) { + this.updates = updates; + for (MaintenanceDataAttributesUpdatesItems item : updates) { + this.unparsed |= item.unparsed; + } + return this; + } + + public MaintenanceDataAttributes addUpdatesItem( + MaintenanceDataAttributesUpdatesItems updatesItem) { + if (this.updates == null) { + this.updates = new ArrayList<>(); + } + this.updates.add(updatesItem); + this.unparsed |= updatesItem.unparsed; + return this; + } + + /** + * Past updates made to the scheduled maintenance. + * + * @return updates + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPDATES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getUpdates() { + return updates; + } + + public void setUpdates(List updates) { + this.updates = updates; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return MaintenanceDataAttributes + */ + @JsonAnySetter + public MaintenanceDataAttributes putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this MaintenanceDataAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MaintenanceDataAttributes maintenanceDataAttributes = (MaintenanceDataAttributes) o; + return Objects.equals(this.completedDate, maintenanceDataAttributes.completedDate) + && Objects.equals(this.completedDescription, maintenanceDataAttributes.completedDescription) + && Objects.equals(this.componentsAffected, maintenanceDataAttributes.componentsAffected) + && Objects.equals( + this.inProgressDescription, maintenanceDataAttributes.inProgressDescription) + && Objects.equals(this.modifiedAt, maintenanceDataAttributes.modifiedAt) + && Objects.equals(this.publishedDate, maintenanceDataAttributes.publishedDate) + && Objects.equals(this.scheduledDescription, maintenanceDataAttributes.scheduledDescription) + && Objects.equals(this.startDate, maintenanceDataAttributes.startDate) + && Objects.equals(this.status, maintenanceDataAttributes.status) + && Objects.equals(this.title, maintenanceDataAttributes.title) + && Objects.equals(this.updates, maintenanceDataAttributes.updates) + && Objects.equals( + this.additionalProperties, maintenanceDataAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash( + completedDate, + completedDescription, + componentsAffected, + inProgressDescription, + modifiedAt, + publishedDate, + scheduledDescription, + startDate, + status, + title, + updates, + additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MaintenanceDataAttributes {\n"); + sb.append(" completedDate: ").append(toIndentedString(completedDate)).append("\n"); + sb.append(" completedDescription: ") + .append(toIndentedString(completedDescription)) + .append("\n"); + sb.append(" componentsAffected: ").append(toIndentedString(componentsAffected)).append("\n"); + sb.append(" inProgressDescription: ") + .append(toIndentedString(inProgressDescription)) + .append("\n"); + sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n"); + sb.append(" publishedDate: ").append(toIndentedString(publishedDate)).append("\n"); + sb.append(" scheduledDescription: ") + .append(toIndentedString(scheduledDescription)) + .append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" updates: ").append(toIndentedString(updates)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesComponentsAffectedItems.java similarity index 53% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequestAttributes.java rename to src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesComponentsAffectedItems.java index c423c04c0c0..3c6a64c0168 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequestAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesComponentsAffectedItems.java @@ -16,72 +16,94 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.UUID; -/** Organization handle attributes for a create request. */ +/** */ @JsonPropertyOrder({ - GoogleChatCreateOrganizationHandleRequestAttributes.JSON_PROPERTY_NAME, - GoogleChatCreateOrganizationHandleRequestAttributes.JSON_PROPERTY_SPACE_RESOURCE_NAME + MaintenanceDataAttributesComponentsAffectedItems.JSON_PROPERTY_ID, + MaintenanceDataAttributesComponentsAffectedItems.JSON_PROPERTY_NAME, + MaintenanceDataAttributesComponentsAffectedItems.JSON_PROPERTY_STATUS }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatCreateOrganizationHandleRequestAttributes { +public class MaintenanceDataAttributesComponentsAffectedItems { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; + public static final String JSON_PROPERTY_NAME = "name"; private String name; - public static final String JSON_PROPERTY_SPACE_RESOURCE_NAME = "space_resource_name"; - private String spaceResourceName; + public static final String JSON_PROPERTY_STATUS = "status"; + private PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status; - public GoogleChatCreateOrganizationHandleRequestAttributes() {} + public MaintenanceDataAttributesComponentsAffectedItems() {} @JsonCreator - public GoogleChatCreateOrganizationHandleRequestAttributes( - @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, - @JsonProperty(required = true, value = JSON_PROPERTY_SPACE_RESOURCE_NAME) - String spaceResourceName) { - this.name = name; - this.spaceResourceName = spaceResourceName; + public MaintenanceDataAttributesComponentsAffectedItems( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_STATUS) + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + this.id = id; + this.status = status; + this.unparsed |= !status.isValid(); } - public GoogleChatCreateOrganizationHandleRequestAttributes name(String name) { - this.name = name; + public MaintenanceDataAttributesComponentsAffectedItems id(UUID id) { + this.id = id; return this; } /** - * Organization handle name. + * The ID of the component. Must be a component of type component. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + /** + * The name of the component. * * @return name */ + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_NAME) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public String getName() { return name; } - public void setName(String name) { - this.name = name; - } - - public GoogleChatCreateOrganizationHandleRequestAttributes spaceResourceName( - String spaceResourceName) { - this.spaceResourceName = spaceResourceName; + public MaintenanceDataAttributesComponentsAffectedItems status( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + this.status = status; + this.unparsed |= !status.isValid(); return this; } /** - * Google space resource name. + * The status of the component. * - * @return spaceResourceName + * @return status */ - @JsonProperty(JSON_PROPERTY_SPACE_RESOURCE_NAME) + @JsonProperty(JSON_PROPERTY_STATUS) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public String getSpaceResourceName() { - return spaceResourceName; + public PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus getStatus() { + return status; } - public void setSpaceResourceName(String spaceResourceName) { - this.spaceResourceName = spaceResourceName; + public void setStatus(PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + if (!status.isValid()) { + this.unparsed = true; + } + this.status = status; } /** @@ -96,10 +118,10 @@ public void setSpaceResourceName(String spaceResourceName) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatCreateOrganizationHandleRequestAttributes + * @return MaintenanceDataAttributesComponentsAffectedItems */ @JsonAnySetter - public GoogleChatCreateOrganizationHandleRequestAttributes putAdditionalProperty( + public MaintenanceDataAttributesComponentsAffectedItems putAdditionalProperty( String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); @@ -131,9 +153,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** - * Return true if this GoogleChatCreateOrganizationHandleRequestAttributes object is equal to o. - */ + /** Return true if this MaintenanceDataAttributesComponentsAffectedItems object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -142,29 +162,29 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatCreateOrganizationHandleRequestAttributes - googleChatCreateOrganizationHandleRequestAttributes = - (GoogleChatCreateOrganizationHandleRequestAttributes) o; - return Objects.equals(this.name, googleChatCreateOrganizationHandleRequestAttributes.name) - && Objects.equals( - this.spaceResourceName, - googleChatCreateOrganizationHandleRequestAttributes.spaceResourceName) + MaintenanceDataAttributesComponentsAffectedItems + maintenanceDataAttributesComponentsAffectedItems = + (MaintenanceDataAttributesComponentsAffectedItems) o; + return Objects.equals(this.id, maintenanceDataAttributesComponentsAffectedItems.id) + && Objects.equals(this.name, maintenanceDataAttributesComponentsAffectedItems.name) + && Objects.equals(this.status, maintenanceDataAttributesComponentsAffectedItems.status) && Objects.equals( this.additionalProperties, - googleChatCreateOrganizationHandleRequestAttributes.additionalProperties); + maintenanceDataAttributesComponentsAffectedItems.additionalProperties); } @Override public int hashCode() { - return Objects.hash(name, spaceResourceName, additionalProperties); + return Objects.hash(id, name, status, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatCreateOrganizationHandleRequestAttributes {\n"); + sb.append("class MaintenanceDataAttributesComponentsAffectedItems {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" spaceResourceName: ").append(toIndentedString(spaceResourceName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesStatus.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesStatus.java new file mode 100644 index 00000000000..965efeb2b42 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesStatus.java @@ -0,0 +1,64 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The current status of the scheduled maintenance. */ +@JsonSerialize( + using = MaintenanceDataAttributesStatus.MaintenanceDataAttributesStatusSerializer.class) +public class MaintenanceDataAttributesStatus extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("scheduled", "in_progress", "completed", "canceled")); + + public static final MaintenanceDataAttributesStatus SCHEDULED = + new MaintenanceDataAttributesStatus("scheduled"); + public static final MaintenanceDataAttributesStatus IN_PROGRESS = + new MaintenanceDataAttributesStatus("in_progress"); + public static final MaintenanceDataAttributesStatus COMPLETED = + new MaintenanceDataAttributesStatus("completed"); + public static final MaintenanceDataAttributesStatus CANCELED = + new MaintenanceDataAttributesStatus("canceled"); + + MaintenanceDataAttributesStatus(String value) { + super(value, allowedValues); + } + + public static class MaintenanceDataAttributesStatusSerializer + extends StdSerializer { + public MaintenanceDataAttributesStatusSerializer(Class t) { + super(t); + } + + public MaintenanceDataAttributesStatusSerializer() { + this(null); + } + + @Override + public void serialize( + MaintenanceDataAttributesStatus value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static MaintenanceDataAttributesStatus fromValue(String value) { + return new MaintenanceDataAttributesStatus(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesUpdatesItems.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesUpdatesItems.java new file mode 100644 index 00000000000..5dd32d88da1 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesUpdatesItems.java @@ -0,0 +1,325 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; + +/** */ +@JsonPropertyOrder({ + MaintenanceDataAttributesUpdatesItems.JSON_PROPERTY_COMPONENTS_AFFECTED, + MaintenanceDataAttributesUpdatesItems.JSON_PROPERTY_CREATED_AT, + MaintenanceDataAttributesUpdatesItems.JSON_PROPERTY_DESCRIPTION, + MaintenanceDataAttributesUpdatesItems.JSON_PROPERTY_ID, + MaintenanceDataAttributesUpdatesItems.JSON_PROPERTY_MANUAL_TRANSITION, + MaintenanceDataAttributesUpdatesItems.JSON_PROPERTY_MODIFIED_AT, + MaintenanceDataAttributesUpdatesItems.JSON_PROPERTY_STARTED_AT, + MaintenanceDataAttributesUpdatesItems.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class MaintenanceDataAttributesUpdatesItems { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_COMPONENTS_AFFECTED = "components_affected"; + private List componentsAffected = + null; + + public static final String JSON_PROPERTY_CREATED_AT = "created_at"; + private OffsetDateTime createdAt; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + private String description; + + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; + + public static final String JSON_PROPERTY_MANUAL_TRANSITION = "manual_transition"; + private Boolean manualTransition; + + public static final String JSON_PROPERTY_MODIFIED_AT = "modified_at"; + private OffsetDateTime modifiedAt; + + public static final String JSON_PROPERTY_STARTED_AT = "started_at"; + private OffsetDateTime startedAt; + + public static final String JSON_PROPERTY_STATUS = "status"; + private String status; + + public MaintenanceDataAttributesUpdatesItems componentsAffected( + List componentsAffected) { + this.componentsAffected = componentsAffected; + for (MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems item : componentsAffected) { + this.unparsed |= item.unparsed; + } + return this; + } + + public MaintenanceDataAttributesUpdatesItems addComponentsAffectedItem( + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems componentsAffectedItem) { + if (this.componentsAffected == null) { + this.componentsAffected = new ArrayList<>(); + } + this.componentsAffected.add(componentsAffectedItem); + this.unparsed |= componentsAffectedItem.unparsed; + return this; + } + + /** + * The components affected at the time of the update. + * + * @return componentsAffected + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPONENTS_AFFECTED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List + getComponentsAffected() { + return componentsAffected; + } + + public void setComponentsAffected( + List componentsAffected) { + this.componentsAffected = componentsAffected; + } + + /** + * Timestamp of when the update was created. + * + * @return createdAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CREATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public MaintenanceDataAttributesUpdatesItems description(String description) { + this.description = description; + return this; + } + + /** + * Description of the update. + * + * @return description + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + /** + * Identifier of the update. + * + * @return id + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getId() { + return id; + } + + /** + * Whether the update was applied manually by a user (true) or automatically by the system + * (false). + * + * @return manualTransition + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MANUAL_TRANSITION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getManualTransition() { + return manualTransition; + } + + /** + * Timestamp of when the update was last modified. + * + * @return modifiedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MODIFIED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getModifiedAt() { + return modifiedAt; + } + + public MaintenanceDataAttributesUpdatesItems startedAt(OffsetDateTime startedAt) { + this.startedAt = startedAt; + return this; + } + + /** + * Timestamp of when the update started. + * + * @return startedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STARTED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getStartedAt() { + return startedAt; + } + + public void setStartedAt(OffsetDateTime startedAt) { + this.startedAt = startedAt; + } + + public MaintenanceDataAttributesUpdatesItems status(String status) { + this.status = status; + return this; + } + + /** + * The status of the update. + * + * @return status + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return MaintenanceDataAttributesUpdatesItems + */ + @JsonAnySetter + public MaintenanceDataAttributesUpdatesItems putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this MaintenanceDataAttributesUpdatesItems object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MaintenanceDataAttributesUpdatesItems maintenanceDataAttributesUpdatesItems = + (MaintenanceDataAttributesUpdatesItems) o; + return Objects.equals( + this.componentsAffected, maintenanceDataAttributesUpdatesItems.componentsAffected) + && Objects.equals(this.createdAt, maintenanceDataAttributesUpdatesItems.createdAt) + && Objects.equals(this.description, maintenanceDataAttributesUpdatesItems.description) + && Objects.equals(this.id, maintenanceDataAttributesUpdatesItems.id) + && Objects.equals( + this.manualTransition, maintenanceDataAttributesUpdatesItems.manualTransition) + && Objects.equals(this.modifiedAt, maintenanceDataAttributesUpdatesItems.modifiedAt) + && Objects.equals(this.startedAt, maintenanceDataAttributesUpdatesItems.startedAt) + && Objects.equals(this.status, maintenanceDataAttributesUpdatesItems.status) + && Objects.equals( + this.additionalProperties, maintenanceDataAttributesUpdatesItems.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash( + componentsAffected, + createdAt, + description, + id, + manualTransition, + modifiedAt, + startedAt, + status, + additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MaintenanceDataAttributesUpdatesItems {\n"); + sb.append(" componentsAffected: ").append(toIndentedString(componentsAffected)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" manualTransition: ").append(toIndentedString(manualTransition)).append("\n"); + sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n"); + sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems.java new file mode 100644 index 00000000000..1d31192a77a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems.java @@ -0,0 +1,209 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; + +/** */ +@JsonPropertyOrder({ + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems.JSON_PROPERTY_ID, + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems.JSON_PROPERTY_NAME, + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_STATUS = "status"; + private PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status; + + public MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems() {} + + @JsonCreator + public MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_STATUS) + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + this.id = id; + this.status = status; + this.unparsed |= !status.isValid(); + } + + public MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems id(UUID id) { + this.id = id; + return this; + } + + /** + * Identifier of the component affected at the time of the update. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + /** + * The name of the component affected at the time of the update. + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + public MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems status( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + this.status = status; + this.unparsed |= !status.isValid(); + return this; + } + + /** + * The status of the component. + * + * @return status + */ + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus getStatus() { + return status; + } + + public void setStatus(PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + if (!status.isValid()) { + this.unparsed = true; + } + this.status = status; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems + */ + @JsonAnySetter + public MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems + maintenanceDataAttributesUpdatesItemsComponentsAffectedItems = + (MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems) o; + return Objects.equals(this.id, maintenanceDataAttributesUpdatesItemsComponentsAffectedItems.id) + && Objects.equals( + this.name, maintenanceDataAttributesUpdatesItemsComponentsAffectedItems.name) + && Objects.equals( + this.status, maintenanceDataAttributesUpdatesItemsComponentsAffectedItems.status) + && Objects.equals( + this.additionalProperties, + maintenanceDataAttributesUpdatesItemsComponentsAffectedItems.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationships.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationships.java new file mode 100644 index 00000000000..bfadd3c39b6 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationships.java @@ -0,0 +1,199 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** The relationships of a scheduled maintenance. */ +@JsonPropertyOrder({ + MaintenanceDataRelationships.JSON_PROPERTY_CREATED_BY_USER, + MaintenanceDataRelationships.JSON_PROPERTY_LAST_MODIFIED_BY_USER, + MaintenanceDataRelationships.JSON_PROPERTY_STATUS_PAGE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class MaintenanceDataRelationships { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CREATED_BY_USER = "created_by_user"; + private MaintenanceDataRelationshipsCreatedByUser createdByUser; + + public static final String JSON_PROPERTY_LAST_MODIFIED_BY_USER = "last_modified_by_user"; + private MaintenanceDataRelationshipsLastModifiedByUser lastModifiedByUser; + + public static final String JSON_PROPERTY_STATUS_PAGE = "status_page"; + private MaintenanceDataRelationshipsStatusPage statusPage; + + public MaintenanceDataRelationships createdByUser( + MaintenanceDataRelationshipsCreatedByUser createdByUser) { + this.createdByUser = createdByUser; + this.unparsed |= createdByUser.unparsed; + return this; + } + + /** + * GetcreatedByUser + * + * @return createdByUser + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CREATED_BY_USER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public MaintenanceDataRelationshipsCreatedByUser getCreatedByUser() { + return createdByUser; + } + + public void setCreatedByUser(MaintenanceDataRelationshipsCreatedByUser createdByUser) { + this.createdByUser = createdByUser; + } + + public MaintenanceDataRelationships lastModifiedByUser( + MaintenanceDataRelationshipsLastModifiedByUser lastModifiedByUser) { + this.lastModifiedByUser = lastModifiedByUser; + this.unparsed |= lastModifiedByUser.unparsed; + return this; + } + + /** + * GetlastModifiedByUser + * + * @return lastModifiedByUser + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LAST_MODIFIED_BY_USER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public MaintenanceDataRelationshipsLastModifiedByUser getLastModifiedByUser() { + return lastModifiedByUser; + } + + public void setLastModifiedByUser( + MaintenanceDataRelationshipsLastModifiedByUser lastModifiedByUser) { + this.lastModifiedByUser = lastModifiedByUser; + } + + public MaintenanceDataRelationships statusPage( + MaintenanceDataRelationshipsStatusPage statusPage) { + this.statusPage = statusPage; + this.unparsed |= statusPage.unparsed; + return this; + } + + /** + * GetstatusPage + * + * @return statusPage + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS_PAGE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public MaintenanceDataRelationshipsStatusPage getStatusPage() { + return statusPage; + } + + public void setStatusPage(MaintenanceDataRelationshipsStatusPage statusPage) { + this.statusPage = statusPage; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return MaintenanceDataRelationships + */ + @JsonAnySetter + public MaintenanceDataRelationships putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this MaintenanceDataRelationships object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MaintenanceDataRelationships maintenanceDataRelationships = (MaintenanceDataRelationships) o; + return Objects.equals(this.createdByUser, maintenanceDataRelationships.createdByUser) + && Objects.equals(this.lastModifiedByUser, maintenanceDataRelationships.lastModifiedByUser) + && Objects.equals(this.statusPage, maintenanceDataRelationships.statusPage) + && Objects.equals( + this.additionalProperties, maintenanceDataRelationships.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(createdByUser, lastModifiedByUser, statusPage, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MaintenanceDataRelationships {\n"); + sb.append(" createdByUser: ").append(toIndentedString(createdByUser)).append("\n"); + sb.append(" lastModifiedByUser: ").append(toIndentedString(lastModifiedByUser)).append("\n"); + sb.append(" statusPage: ").append(toIndentedString(statusPage)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponse.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsCreatedByUser.java similarity index 72% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponse.java rename to src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsCreatedByUser.java index 492cd9ef0b6..1f60ca465de 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsCreatedByUser.java @@ -17,46 +17,44 @@ import java.util.Map; import java.util.Objects; -/** - * Organization handle for monitor notifications to a Google Chat space within a Google - * organization. - */ -@JsonPropertyOrder({GoogleChatOrganizationHandleResponse.JSON_PROPERTY_DATA}) +/** */ +@JsonPropertyOrder({MaintenanceDataRelationshipsCreatedByUser.JSON_PROPERTY_DATA}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatOrganizationHandleResponse { +public class MaintenanceDataRelationshipsCreatedByUser { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_DATA = "data"; - private GoogleChatOrganizationHandleResponseData data; + private MaintenanceDataRelationshipsCreatedByUserData data; - public GoogleChatOrganizationHandleResponse() {} + public MaintenanceDataRelationshipsCreatedByUser() {} @JsonCreator - public GoogleChatOrganizationHandleResponse( + public MaintenanceDataRelationshipsCreatedByUser( @JsonProperty(required = true, value = JSON_PROPERTY_DATA) - GoogleChatOrganizationHandleResponseData data) { + MaintenanceDataRelationshipsCreatedByUserData data) { this.data = data; this.unparsed |= data.unparsed; } - public GoogleChatOrganizationHandleResponse data(GoogleChatOrganizationHandleResponseData data) { + public MaintenanceDataRelationshipsCreatedByUser data( + MaintenanceDataRelationshipsCreatedByUserData data) { this.data = data; this.unparsed |= data.unparsed; return this; } /** - * Organization handle data from a response. + * Getdata * * @return data */ @JsonProperty(JSON_PROPERTY_DATA) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public GoogleChatOrganizationHandleResponseData getData() { + public MaintenanceDataRelationshipsCreatedByUserData getData() { return data; } - public void setData(GoogleChatOrganizationHandleResponseData data) { + public void setData(MaintenanceDataRelationshipsCreatedByUserData data) { this.data = data; } @@ -72,10 +70,10 @@ public void setData(GoogleChatOrganizationHandleResponseData data) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatOrganizationHandleResponse + * @return MaintenanceDataRelationshipsCreatedByUser */ @JsonAnySetter - public GoogleChatOrganizationHandleResponse putAdditionalProperty(String key, Object value) { + public MaintenanceDataRelationshipsCreatedByUser putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -106,7 +104,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatOrganizationHandleResponse object is equal to o. */ + /** Return true if this MaintenanceDataRelationshipsCreatedByUser object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -115,11 +113,12 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatOrganizationHandleResponse googleChatOrganizationHandleResponse = - (GoogleChatOrganizationHandleResponse) o; - return Objects.equals(this.data, googleChatOrganizationHandleResponse.data) + MaintenanceDataRelationshipsCreatedByUser maintenanceDataRelationshipsCreatedByUser = + (MaintenanceDataRelationshipsCreatedByUser) o; + return Objects.equals(this.data, maintenanceDataRelationshipsCreatedByUser.data) && Objects.equals( - this.additionalProperties, googleChatOrganizationHandleResponse.additionalProperties); + this.additionalProperties, + maintenanceDataRelationshipsCreatedByUser.additionalProperties); } @Override @@ -130,7 +129,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatOrganizationHandleResponse {\n"); + sb.append("class MaintenanceDataRelationshipsCreatedByUser {\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequest.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsCreatedByUserData.java similarity index 60% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequest.java rename to src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsCreatedByUserData.java index 2cc2c5adb64..f324b882905 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatUpdateOrganizationHandleRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsCreatedByUserData.java @@ -16,77 +16,72 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.UUID; -/** Update organization handle request. */ +/** */ @JsonPropertyOrder({ - GoogleChatUpdateOrganizationHandleRequest.JSON_PROPERTY_DATA, - GoogleChatUpdateOrganizationHandleRequest.JSON_PROPERTY_TYPE + MaintenanceDataRelationshipsCreatedByUserData.JSON_PROPERTY_ID, + MaintenanceDataRelationshipsCreatedByUserData.JSON_PROPERTY_TYPE }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatUpdateOrganizationHandleRequest { +public class MaintenanceDataRelationshipsCreatedByUserData { @JsonIgnore public boolean unparsed = false; - public static final String JSON_PROPERTY_DATA = "data"; - private GoogleChatUpdateOrganizationHandleRequestData data; + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; public static final String JSON_PROPERTY_TYPE = "type"; - private GoogleChatOrganizationHandleType type = - GoogleChatOrganizationHandleType.GOOGLE_CHAT_ORGANIZATION_HANDLE_TYPE; + private StatusPagesUserType type = StatusPagesUserType.USERS; - public GoogleChatUpdateOrganizationHandleRequest() {} + public MaintenanceDataRelationshipsCreatedByUserData() {} @JsonCreator - public GoogleChatUpdateOrganizationHandleRequest( - @JsonProperty(required = true, value = JSON_PROPERTY_DATA) - GoogleChatUpdateOrganizationHandleRequestData data, - @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) - GoogleChatOrganizationHandleType type) { - this.data = data; - this.unparsed |= data.unparsed; + public MaintenanceDataRelationshipsCreatedByUserData( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) StatusPagesUserType type) { + this.id = id; this.type = type; this.unparsed |= !type.isValid(); } - public GoogleChatUpdateOrganizationHandleRequest data( - GoogleChatUpdateOrganizationHandleRequestData data) { - this.data = data; - this.unparsed |= data.unparsed; + public MaintenanceDataRelationshipsCreatedByUserData id(UUID id) { + this.id = id; return this; } /** - * Organization handle data for an update request. + * Getid * - * @return data + * @return id */ - @JsonProperty(JSON_PROPERTY_DATA) + @JsonProperty(JSON_PROPERTY_ID) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public GoogleChatUpdateOrganizationHandleRequestData getData() { - return data; + public UUID getId() { + return id; } - public void setData(GoogleChatUpdateOrganizationHandleRequestData data) { - this.data = data; + public void setId(UUID id) { + this.id = id; } - public GoogleChatUpdateOrganizationHandleRequest type(GoogleChatOrganizationHandleType type) { + public MaintenanceDataRelationshipsCreatedByUserData type(StatusPagesUserType type) { this.type = type; this.unparsed |= !type.isValid(); return this; } /** - * Organization handle resource type. + * Users resource type. * * @return type */ @JsonProperty(JSON_PROPERTY_TYPE) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public GoogleChatOrganizationHandleType getType() { + public StatusPagesUserType getType() { return type; } - public void setType(GoogleChatOrganizationHandleType type) { + public void setType(StatusPagesUserType type) { if (!type.isValid()) { this.unparsed = true; } @@ -105,10 +100,11 @@ public void setType(GoogleChatOrganizationHandleType type) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatUpdateOrganizationHandleRequest + * @return MaintenanceDataRelationshipsCreatedByUserData */ @JsonAnySetter - public GoogleChatUpdateOrganizationHandleRequest putAdditionalProperty(String key, Object value) { + public MaintenanceDataRelationshipsCreatedByUserData putAdditionalProperty( + String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -139,7 +135,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatUpdateOrganizationHandleRequest object is equal to o. */ + /** Return true if this MaintenanceDataRelationshipsCreatedByUserData object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -148,25 +144,25 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatUpdateOrganizationHandleRequest googleChatUpdateOrganizationHandleRequest = - (GoogleChatUpdateOrganizationHandleRequest) o; - return Objects.equals(this.data, googleChatUpdateOrganizationHandleRequest.data) - && Objects.equals(this.type, googleChatUpdateOrganizationHandleRequest.type) + MaintenanceDataRelationshipsCreatedByUserData maintenanceDataRelationshipsCreatedByUserData = + (MaintenanceDataRelationshipsCreatedByUserData) o; + return Objects.equals(this.id, maintenanceDataRelationshipsCreatedByUserData.id) + && Objects.equals(this.type, maintenanceDataRelationshipsCreatedByUserData.type) && Objects.equals( this.additionalProperties, - googleChatUpdateOrganizationHandleRequest.additionalProperties); + maintenanceDataRelationshipsCreatedByUserData.additionalProperties); } @Override public int hashCode() { - return Objects.hash(data, type, additionalProperties); + return Objects.hash(id, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatUpdateOrganizationHandleRequest {\n"); - sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("class MaintenanceDataRelationshipsCreatedByUserData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandlesResponse.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsLastModifiedByUser.java similarity index 66% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandlesResponse.java rename to src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsLastModifiedByUser.java index aae74cf915f..71546a72999 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandlesResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsLastModifiedByUser.java @@ -13,61 +13,48 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Objects; -/** - * List of organization handles for monitor notifications to Google Chat spaces within a Google - * organization. - */ -@JsonPropertyOrder({GoogleChatOrganizationHandlesResponse.JSON_PROPERTY_DATA}) +/** */ +@JsonPropertyOrder({MaintenanceDataRelationshipsLastModifiedByUser.JSON_PROPERTY_DATA}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatOrganizationHandlesResponse { +public class MaintenanceDataRelationshipsLastModifiedByUser { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_DATA = "data"; - private List data = new ArrayList<>(); + private MaintenanceDataRelationshipsLastModifiedByUserData data; - public GoogleChatOrganizationHandlesResponse() {} + public MaintenanceDataRelationshipsLastModifiedByUser() {} @JsonCreator - public GoogleChatOrganizationHandlesResponse( + public MaintenanceDataRelationshipsLastModifiedByUser( @JsonProperty(required = true, value = JSON_PROPERTY_DATA) - List data) { + MaintenanceDataRelationshipsLastModifiedByUserData data) { this.data = data; + this.unparsed |= data.unparsed; } - public GoogleChatOrganizationHandlesResponse data( - List data) { + public MaintenanceDataRelationshipsLastModifiedByUser data( + MaintenanceDataRelationshipsLastModifiedByUserData data) { this.data = data; - for (GoogleChatOrganizationHandleResponseData item : data) { - this.unparsed |= item.unparsed; - } - return this; - } - - public GoogleChatOrganizationHandlesResponse addDataItem( - GoogleChatOrganizationHandleResponseData dataItem) { - this.data.add(dataItem); - this.unparsed |= dataItem.unparsed; + this.unparsed |= data.unparsed; return this; } /** - * An array of organization handles. + * Getdata * * @return data */ @JsonProperty(JSON_PROPERTY_DATA) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public List getData() { + public MaintenanceDataRelationshipsLastModifiedByUserData getData() { return data; } - public void setData(List data) { + public void setData(MaintenanceDataRelationshipsLastModifiedByUserData data) { this.data = data; } @@ -83,10 +70,11 @@ public void setData(List data) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatOrganizationHandlesResponse + * @return MaintenanceDataRelationshipsLastModifiedByUser */ @JsonAnySetter - public GoogleChatOrganizationHandlesResponse putAdditionalProperty(String key, Object value) { + public MaintenanceDataRelationshipsLastModifiedByUser putAdditionalProperty( + String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -117,7 +105,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatOrganizationHandlesResponse object is equal to o. */ + /** Return true if this MaintenanceDataRelationshipsLastModifiedByUser object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -126,11 +114,12 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatOrganizationHandlesResponse googleChatOrganizationHandlesResponse = - (GoogleChatOrganizationHandlesResponse) o; - return Objects.equals(this.data, googleChatOrganizationHandlesResponse.data) + MaintenanceDataRelationshipsLastModifiedByUser maintenanceDataRelationshipsLastModifiedByUser = + (MaintenanceDataRelationshipsLastModifiedByUser) o; + return Objects.equals(this.data, maintenanceDataRelationshipsLastModifiedByUser.data) && Objects.equals( - this.additionalProperties, googleChatOrganizationHandlesResponse.additionalProperties); + this.additionalProperties, + maintenanceDataRelationshipsLastModifiedByUser.additionalProperties); } @Override @@ -141,7 +130,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatOrganizationHandlesResponse {\n"); + sb.append("class MaintenanceDataRelationshipsLastModifiedByUser {\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequest.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsLastModifiedByUserData.java similarity index 61% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequest.java rename to src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsLastModifiedByUserData.java index 672232eff0d..425a5e1b57f 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatCreateOrganizationHandleRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsLastModifiedByUserData.java @@ -16,77 +16,72 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.UUID; -/** Create organization handle request. */ +/** */ @JsonPropertyOrder({ - GoogleChatCreateOrganizationHandleRequest.JSON_PROPERTY_DATA, - GoogleChatCreateOrganizationHandleRequest.JSON_PROPERTY_TYPE + MaintenanceDataRelationshipsLastModifiedByUserData.JSON_PROPERTY_ID, + MaintenanceDataRelationshipsLastModifiedByUserData.JSON_PROPERTY_TYPE }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatCreateOrganizationHandleRequest { +public class MaintenanceDataRelationshipsLastModifiedByUserData { @JsonIgnore public boolean unparsed = false; - public static final String JSON_PROPERTY_DATA = "data"; - private GoogleChatCreateOrganizationHandleRequestData data; + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; public static final String JSON_PROPERTY_TYPE = "type"; - private GoogleChatOrganizationHandleType type = - GoogleChatOrganizationHandleType.GOOGLE_CHAT_ORGANIZATION_HANDLE_TYPE; + private StatusPagesUserType type = StatusPagesUserType.USERS; - public GoogleChatCreateOrganizationHandleRequest() {} + public MaintenanceDataRelationshipsLastModifiedByUserData() {} @JsonCreator - public GoogleChatCreateOrganizationHandleRequest( - @JsonProperty(required = true, value = JSON_PROPERTY_DATA) - GoogleChatCreateOrganizationHandleRequestData data, - @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) - GoogleChatOrganizationHandleType type) { - this.data = data; - this.unparsed |= data.unparsed; + public MaintenanceDataRelationshipsLastModifiedByUserData( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) StatusPagesUserType type) { + this.id = id; this.type = type; this.unparsed |= !type.isValid(); } - public GoogleChatCreateOrganizationHandleRequest data( - GoogleChatCreateOrganizationHandleRequestData data) { - this.data = data; - this.unparsed |= data.unparsed; + public MaintenanceDataRelationshipsLastModifiedByUserData id(UUID id) { + this.id = id; return this; } /** - * Organization handle data for a create request. + * Getid * - * @return data + * @return id */ - @JsonProperty(JSON_PROPERTY_DATA) + @JsonProperty(JSON_PROPERTY_ID) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public GoogleChatCreateOrganizationHandleRequestData getData() { - return data; + public UUID getId() { + return id; } - public void setData(GoogleChatCreateOrganizationHandleRequestData data) { - this.data = data; + public void setId(UUID id) { + this.id = id; } - public GoogleChatCreateOrganizationHandleRequest type(GoogleChatOrganizationHandleType type) { + public MaintenanceDataRelationshipsLastModifiedByUserData type(StatusPagesUserType type) { this.type = type; this.unparsed |= !type.isValid(); return this; } /** - * Organization handle resource type. + * Users resource type. * * @return type */ @JsonProperty(JSON_PROPERTY_TYPE) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public GoogleChatOrganizationHandleType getType() { + public StatusPagesUserType getType() { return type; } - public void setType(GoogleChatOrganizationHandleType type) { + public void setType(StatusPagesUserType type) { if (!type.isValid()) { this.unparsed = true; } @@ -105,10 +100,11 @@ public void setType(GoogleChatOrganizationHandleType type) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatCreateOrganizationHandleRequest + * @return MaintenanceDataRelationshipsLastModifiedByUserData */ @JsonAnySetter - public GoogleChatCreateOrganizationHandleRequest putAdditionalProperty(String key, Object value) { + public MaintenanceDataRelationshipsLastModifiedByUserData putAdditionalProperty( + String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -139,7 +135,9 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatCreateOrganizationHandleRequest object is equal to o. */ + /** + * Return true if this MaintenanceDataRelationshipsLastModifiedByUserData object is equal to o. + */ @Override public boolean equals(Object o) { if (this == o) { @@ -148,25 +146,26 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatCreateOrganizationHandleRequest googleChatCreateOrganizationHandleRequest = - (GoogleChatCreateOrganizationHandleRequest) o; - return Objects.equals(this.data, googleChatCreateOrganizationHandleRequest.data) - && Objects.equals(this.type, googleChatCreateOrganizationHandleRequest.type) + MaintenanceDataRelationshipsLastModifiedByUserData + maintenanceDataRelationshipsLastModifiedByUserData = + (MaintenanceDataRelationshipsLastModifiedByUserData) o; + return Objects.equals(this.id, maintenanceDataRelationshipsLastModifiedByUserData.id) + && Objects.equals(this.type, maintenanceDataRelationshipsLastModifiedByUserData.type) && Objects.equals( this.additionalProperties, - googleChatCreateOrganizationHandleRequest.additionalProperties); + maintenanceDataRelationshipsLastModifiedByUserData.additionalProperties); } @Override public int hashCode() { - return Objects.hash(data, type, additionalProperties); + return Objects.hash(id, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatCreateOrganizationHandleRequest {\n"); - sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append("class MaintenanceDataRelationshipsLastModifiedByUserData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponse.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsStatusPage.java similarity index 73% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponse.java rename to src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsStatusPage.java index d0ecf73973f..c03a1c53ded 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsStatusPage.java @@ -17,43 +17,44 @@ import java.util.Map; import java.util.Objects; -/** Response with Google Chat space information. */ -@JsonPropertyOrder({GoogleChatAppNamedSpaceResponse.JSON_PROPERTY_DATA}) +/** */ +@JsonPropertyOrder({MaintenanceDataRelationshipsStatusPage.JSON_PROPERTY_DATA}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatAppNamedSpaceResponse { +public class MaintenanceDataRelationshipsStatusPage { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_DATA = "data"; - private GoogleChatAppNamedSpaceResponseData data; + private MaintenanceDataRelationshipsStatusPageData data; - public GoogleChatAppNamedSpaceResponse() {} + public MaintenanceDataRelationshipsStatusPage() {} @JsonCreator - public GoogleChatAppNamedSpaceResponse( + public MaintenanceDataRelationshipsStatusPage( @JsonProperty(required = true, value = JSON_PROPERTY_DATA) - GoogleChatAppNamedSpaceResponseData data) { + MaintenanceDataRelationshipsStatusPageData data) { this.data = data; this.unparsed |= data.unparsed; } - public GoogleChatAppNamedSpaceResponse data(GoogleChatAppNamedSpaceResponseData data) { + public MaintenanceDataRelationshipsStatusPage data( + MaintenanceDataRelationshipsStatusPageData data) { this.data = data; this.unparsed |= data.unparsed; return this; } /** - * Google Chat space data from a response. + * Getdata * * @return data */ @JsonProperty(JSON_PROPERTY_DATA) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public GoogleChatAppNamedSpaceResponseData getData() { + public MaintenanceDataRelationshipsStatusPageData getData() { return data; } - public void setData(GoogleChatAppNamedSpaceResponseData data) { + public void setData(MaintenanceDataRelationshipsStatusPageData data) { this.data = data; } @@ -69,10 +70,10 @@ public void setData(GoogleChatAppNamedSpaceResponseData data) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatAppNamedSpaceResponse + * @return MaintenanceDataRelationshipsStatusPage */ @JsonAnySetter - public GoogleChatAppNamedSpaceResponse putAdditionalProperty(String key, Object value) { + public MaintenanceDataRelationshipsStatusPage putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -103,7 +104,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatAppNamedSpaceResponse object is equal to o. */ + /** Return true if this MaintenanceDataRelationshipsStatusPage object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -112,11 +113,11 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatAppNamedSpaceResponse googleChatAppNamedSpaceResponse = - (GoogleChatAppNamedSpaceResponse) o; - return Objects.equals(this.data, googleChatAppNamedSpaceResponse.data) + MaintenanceDataRelationshipsStatusPage maintenanceDataRelationshipsStatusPage = + (MaintenanceDataRelationshipsStatusPage) o; + return Objects.equals(this.data, maintenanceDataRelationshipsStatusPage.data) && Objects.equals( - this.additionalProperties, googleChatAppNamedSpaceResponse.additionalProperties); + this.additionalProperties, maintenanceDataRelationshipsStatusPage.additionalProperties); } @Override @@ -127,7 +128,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatAppNamedSpaceResponse {\n"); + sb.append("class MaintenanceDataRelationshipsStatusPage {\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsStatusPageData.java b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsStatusPageData.java new file mode 100644 index 00000000000..b0dc9bb83fb --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/MaintenanceDataRelationshipsStatusPageData.java @@ -0,0 +1,183 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; + +/** */ +@JsonPropertyOrder({ + MaintenanceDataRelationshipsStatusPageData.JSON_PROPERTY_ID, + MaintenanceDataRelationshipsStatusPageData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class MaintenanceDataRelationshipsStatusPageData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private StatusPageDataType type = StatusPageDataType.STATUS_PAGES; + + public MaintenanceDataRelationshipsStatusPageData() {} + + @JsonCreator + public MaintenanceDataRelationshipsStatusPageData( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) StatusPageDataType type) { + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public MaintenanceDataRelationshipsStatusPageData id(UUID id) { + this.id = id; + return this; + } + + /** + * Getid + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public MaintenanceDataRelationshipsStatusPageData type(StatusPageDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Status pages resource type. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public StatusPageDataType getType() { + return type; + } + + public void setType(StatusPageDataType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return MaintenanceDataRelationshipsStatusPageData + */ + @JsonAnySetter + public MaintenanceDataRelationshipsStatusPageData putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this MaintenanceDataRelationshipsStatusPageData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MaintenanceDataRelationshipsStatusPageData maintenanceDataRelationshipsStatusPageData = + (MaintenanceDataRelationshipsStatusPageData) o; + return Objects.equals(this.id, maintenanceDataRelationshipsStatusPageData.id) + && Objects.equals(this.type, maintenanceDataRelationshipsStatusPageData.type) + && Objects.equals( + this.additionalProperties, + maintenanceDataRelationshipsStatusPageData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MaintenanceDataRelationshipsStatusPageData {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/StatusPagesResponseMeta.java b/src/main/java/com/datadog/api/client/v2/model/PaginationMeta.java similarity index 81% rename from src/main/java/com/datadog/api/client/v2/model/StatusPagesResponseMeta.java rename to src/main/java/com/datadog/api/client/v2/model/PaginationMeta.java index df3c0b6a124..57cf0b2f4b8 100644 --- a/src/main/java/com/datadog/api/client/v2/model/StatusPagesResponseMeta.java +++ b/src/main/java/com/datadog/api/client/v2/model/PaginationMeta.java @@ -17,15 +17,15 @@ import java.util.Objects; /** Response metadata. */ -@JsonPropertyOrder({StatusPagesResponseMeta.JSON_PROPERTY_PAGE}) +@JsonPropertyOrder({PaginationMeta.JSON_PROPERTY_PAGE}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class StatusPagesResponseMeta { +public class PaginationMeta { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_PAGE = "page"; - private StatusPagesPagination page; + private PaginationMetaPage page; - public StatusPagesResponseMeta page(StatusPagesPagination page) { + public PaginationMeta page(PaginationMetaPage page) { this.page = page; this.unparsed |= page.unparsed; return this; @@ -39,11 +39,11 @@ public StatusPagesResponseMeta page(StatusPagesPagination page) { @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_PAGE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public StatusPagesPagination getPage() { + public PaginationMetaPage getPage() { return page; } - public void setPage(StatusPagesPagination page) { + public void setPage(PaginationMetaPage page) { this.page = page; } @@ -59,10 +59,10 @@ public void setPage(StatusPagesPagination page) { * * @param key The arbitrary key to set * @param value The associated value - * @return StatusPagesResponseMeta + * @return PaginationMeta */ @JsonAnySetter - public StatusPagesResponseMeta putAdditionalProperty(String key, Object value) { + public PaginationMeta putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -93,7 +93,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this StatusPagesResponseMeta object is equal to o. */ + /** Return true if this PaginationMeta object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -102,9 +102,9 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - StatusPagesResponseMeta statusPagesResponseMeta = (StatusPagesResponseMeta) o; - return Objects.equals(this.page, statusPagesResponseMeta.page) - && Objects.equals(this.additionalProperties, statusPagesResponseMeta.additionalProperties); + PaginationMeta paginationMeta = (PaginationMeta) o; + return Objects.equals(this.page, paginationMeta.page) + && Objects.equals(this.additionalProperties, paginationMeta.additionalProperties); } @Override @@ -115,7 +115,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class StatusPagesResponseMeta {\n"); + sb.append("class PaginationMeta {\n"); sb.append(" page: ").append(toIndentedString(page)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) diff --git a/src/main/java/com/datadog/api/client/v2/model/StatusPagesPagination.java b/src/main/java/com/datadog/api/client/v2/model/PaginationMetaPage.java similarity index 81% rename from src/main/java/com/datadog/api/client/v2/model/StatusPagesPagination.java rename to src/main/java/com/datadog/api/client/v2/model/PaginationMetaPage.java index c4fbdd6f414..4df8c122ba1 100644 --- a/src/main/java/com/datadog/api/client/v2/model/StatusPagesPagination.java +++ b/src/main/java/com/datadog/api/client/v2/model/PaginationMetaPage.java @@ -19,18 +19,18 @@ /** Offset-based pagination schema. */ @JsonPropertyOrder({ - StatusPagesPagination.JSON_PROPERTY_FIRST_OFFSET, - StatusPagesPagination.JSON_PROPERTY_LAST_OFFSET, - StatusPagesPagination.JSON_PROPERTY_LIMIT, - StatusPagesPagination.JSON_PROPERTY_NEXT_OFFSET, - StatusPagesPagination.JSON_PROPERTY_OFFSET, - StatusPagesPagination.JSON_PROPERTY_PREV_OFFSET, - StatusPagesPagination.JSON_PROPERTY_TOTAL, - StatusPagesPagination.JSON_PROPERTY_TYPE + PaginationMetaPage.JSON_PROPERTY_FIRST_OFFSET, + PaginationMetaPage.JSON_PROPERTY_LAST_OFFSET, + PaginationMetaPage.JSON_PROPERTY_LIMIT, + PaginationMetaPage.JSON_PROPERTY_NEXT_OFFSET, + PaginationMetaPage.JSON_PROPERTY_OFFSET, + PaginationMetaPage.JSON_PROPERTY_PREV_OFFSET, + PaginationMetaPage.JSON_PROPERTY_TOTAL, + PaginationMetaPage.JSON_PROPERTY_TYPE }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class StatusPagesPagination { +public class PaginationMetaPage { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_FIRST_OFFSET = "first_offset"; private Long firstOffset; @@ -54,9 +54,9 @@ public class StatusPagesPagination { private JsonNullable total = JsonNullable.undefined(); public static final String JSON_PROPERTY_TYPE = "type"; - private StatusPagesPaginationType type = StatusPagesPaginationType.OFFSET_LIMIT; + private PaginationMetaPageType type = PaginationMetaPageType.OFFSET_LIMIT; - public StatusPagesPagination firstOffset(Long firstOffset) { + public PaginationMetaPage firstOffset(Long firstOffset) { this.firstOffset = firstOffset; return this; } @@ -77,7 +77,7 @@ public void setFirstOffset(Long firstOffset) { this.firstOffset = firstOffset; } - public StatusPagesPagination lastOffset(Long lastOffset) { + public PaginationMetaPage lastOffset(Long lastOffset) { this.lastOffset = JsonNullable.of(lastOffset); return this; } @@ -108,13 +108,13 @@ public void setLastOffset(Long lastOffset) { this.lastOffset = JsonNullable.of(lastOffset); } - public StatusPagesPagination limit(Long limit) { + public PaginationMetaPage limit(Long limit) { this.limit = limit; return this; } /** - * Integer representing the number of elements to returned in the results. + * Integer representing the number of elements to be returned in the results. * * @return limit */ @@ -129,7 +129,7 @@ public void setLimit(Long limit) { this.limit = limit; } - public StatusPagesPagination nextOffset(Long nextOffset) { + public PaginationMetaPage nextOffset(Long nextOffset) { this.nextOffset = JsonNullable.of(nextOffset); return this; } @@ -161,7 +161,7 @@ public void setNextOffset(Long nextOffset) { this.nextOffset = JsonNullable.of(nextOffset); } - public StatusPagesPagination offset(Long offset) { + public PaginationMetaPage offset(Long offset) { this.offset = offset; return this; } @@ -182,7 +182,7 @@ public void setOffset(Long offset) { this.offset = offset; } - public StatusPagesPagination prevOffset(Long prevOffset) { + public PaginationMetaPage prevOffset(Long prevOffset) { this.prevOffset = JsonNullable.of(prevOffset); return this; } @@ -213,7 +213,7 @@ public void setPrevOffset(Long prevOffset) { this.prevOffset = JsonNullable.of(prevOffset); } - public StatusPagesPagination total(Long total) { + public PaginationMetaPage total(Long total) { this.total = JsonNullable.of(total); return this; } @@ -244,7 +244,7 @@ public void setTotal(Long total) { this.total = JsonNullable.of(total); } - public StatusPagesPagination type(StatusPagesPaginationType type) { + public PaginationMetaPage type(PaginationMetaPageType type) { this.type = type; this.unparsed |= !type.isValid(); return this; @@ -258,11 +258,11 @@ public StatusPagesPagination type(StatusPagesPaginationType type) { @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_TYPE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public StatusPagesPaginationType getType() { + public PaginationMetaPageType getType() { return type; } - public void setType(StatusPagesPaginationType type) { + public void setType(PaginationMetaPageType type) { if (!type.isValid()) { this.unparsed = true; } @@ -281,10 +281,10 @@ public void setType(StatusPagesPaginationType type) { * * @param key The arbitrary key to set * @param value The associated value - * @return StatusPagesPagination + * @return PaginationMetaPage */ @JsonAnySetter - public StatusPagesPagination putAdditionalProperty(String key, Object value) { + public PaginationMetaPage putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -315,7 +315,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this StatusPagesPagination object is equal to o. */ + /** Return true if this PaginationMetaPage object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -324,16 +324,16 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - StatusPagesPagination statusPagesPagination = (StatusPagesPagination) o; - return Objects.equals(this.firstOffset, statusPagesPagination.firstOffset) - && Objects.equals(this.lastOffset, statusPagesPagination.lastOffset) - && Objects.equals(this.limit, statusPagesPagination.limit) - && Objects.equals(this.nextOffset, statusPagesPagination.nextOffset) - && Objects.equals(this.offset, statusPagesPagination.offset) - && Objects.equals(this.prevOffset, statusPagesPagination.prevOffset) - && Objects.equals(this.total, statusPagesPagination.total) - && Objects.equals(this.type, statusPagesPagination.type) - && Objects.equals(this.additionalProperties, statusPagesPagination.additionalProperties); + PaginationMetaPage paginationMetaPage = (PaginationMetaPage) o; + return Objects.equals(this.firstOffset, paginationMetaPage.firstOffset) + && Objects.equals(this.lastOffset, paginationMetaPage.lastOffset) + && Objects.equals(this.limit, paginationMetaPage.limit) + && Objects.equals(this.nextOffset, paginationMetaPage.nextOffset) + && Objects.equals(this.offset, paginationMetaPage.offset) + && Objects.equals(this.prevOffset, paginationMetaPage.prevOffset) + && Objects.equals(this.total, paginationMetaPage.total) + && Objects.equals(this.type, paginationMetaPage.type) + && Objects.equals(this.additionalProperties, paginationMetaPage.additionalProperties); } @Override @@ -353,7 +353,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class StatusPagesPagination {\n"); + sb.append("class PaginationMetaPage {\n"); sb.append(" firstOffset: ").append(toIndentedString(firstOffset)).append("\n"); sb.append(" lastOffset: ").append(toIndentedString(lastOffset)).append("\n"); sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/StatusPagesPaginationType.java b/src/main/java/com/datadog/api/client/v2/model/PaginationMetaPageType.java similarity index 59% rename from src/main/java/com/datadog/api/client/v2/model/StatusPagesPaginationType.java rename to src/main/java/com/datadog/api/client/v2/model/PaginationMetaPageType.java index 602f9a38ec0..449d07d2c7a 100644 --- a/src/main/java/com/datadog/api/client/v2/model/StatusPagesPaginationType.java +++ b/src/main/java/com/datadog/api/client/v2/model/PaginationMetaPageType.java @@ -19,39 +19,39 @@ import java.util.Set; /** */ -@JsonSerialize(using = StatusPagesPaginationType.StatusPagesPaginationTypeSerializer.class) -public class StatusPagesPaginationType extends ModelEnum { +@JsonSerialize(using = PaginationMetaPageType.PaginationMetaPageTypeSerializer.class) +public class PaginationMetaPageType extends ModelEnum { private static final Set allowedValues = new HashSet(Arrays.asList("offset_limit")); - public static final StatusPagesPaginationType OFFSET_LIMIT = - new StatusPagesPaginationType("offset_limit"); + public static final PaginationMetaPageType OFFSET_LIMIT = + new PaginationMetaPageType("offset_limit"); - StatusPagesPaginationType(String value) { + PaginationMetaPageType(String value) { super(value, allowedValues); } - public static class StatusPagesPaginationTypeSerializer - extends StdSerializer { - public StatusPagesPaginationTypeSerializer(Class t) { + public static class PaginationMetaPageTypeSerializer + extends StdSerializer { + public PaginationMetaPageTypeSerializer(Class t) { super(t); } - public StatusPagesPaginationTypeSerializer() { + public PaginationMetaPageTypeSerializer() { this(null); } @Override public void serialize( - StatusPagesPaginationType value, JsonGenerator jgen, SerializerProvider provider) + PaginationMetaPageType value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeObject(value.value); } } @JsonCreator - public static StatusPagesPaginationType fromValue(String value) { - return new StatusPagesPaginationType(value); + public static PaginationMetaPageType fromValue(String value) { + return new PaginationMetaPageType(value); } } diff --git a/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequest.java b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequest.java new file mode 100644 index 00000000000..29b9f0d1c26 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequest.java @@ -0,0 +1,136 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({PatchMaintenanceRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class PatchMaintenanceRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private PatchMaintenanceRequestData data; + + public PatchMaintenanceRequest data(PatchMaintenanceRequestData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public PatchMaintenanceRequestData getData() { + return data; + } + + public void setData(PatchMaintenanceRequestData data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return PatchMaintenanceRequest + */ + @JsonAnySetter + public PatchMaintenanceRequest putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this PatchMaintenanceRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchMaintenanceRequest patchMaintenanceRequest = (PatchMaintenanceRequest) o; + return Objects.equals(this.data, patchMaintenanceRequest.data) + && Objects.equals(this.additionalProperties, patchMaintenanceRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PatchMaintenanceRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponseData.java b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestData.java similarity index 61% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponseData.java rename to src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestData.java index f9d12c97707..4c97a117239 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponseData.java +++ b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestData.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -15,90 +16,102 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.UUID; -/** Organization handle data from a response. */ +/** */ @JsonPropertyOrder({ - GoogleChatOrganizationHandleResponseData.JSON_PROPERTY_ATTRIBUTES, - GoogleChatOrganizationHandleResponseData.JSON_PROPERTY_ID, - GoogleChatOrganizationHandleResponseData.JSON_PROPERTY_TYPE + PatchMaintenanceRequestData.JSON_PROPERTY_ATTRIBUTES, + PatchMaintenanceRequestData.JSON_PROPERTY_ID, + PatchMaintenanceRequestData.JSON_PROPERTY_TYPE }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatOrganizationHandleResponseData { +public class PatchMaintenanceRequestData { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; - private GoogleChatOrganizationHandleResponseAttributes attributes; + private PatchMaintenanceRequestDataAttributes attributes; public static final String JSON_PROPERTY_ID = "id"; - private String id; + private UUID id; public static final String JSON_PROPERTY_TYPE = "type"; - private GoogleChatOrganizationHandleType type = - GoogleChatOrganizationHandleType.GOOGLE_CHAT_ORGANIZATION_HANDLE_TYPE; + private PatchMaintenanceRequestDataType type = PatchMaintenanceRequestDataType.MAINTENANCES; - public GoogleChatOrganizationHandleResponseData attributes( - GoogleChatOrganizationHandleResponseAttributes attributes) { + public PatchMaintenanceRequestData() {} + + @JsonCreator + public PatchMaintenanceRequestData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + PatchMaintenanceRequestDataAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + PatchMaintenanceRequestDataType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public PatchMaintenanceRequestData attributes(PatchMaintenanceRequestDataAttributes attributes) { this.attributes = attributes; this.unparsed |= attributes.unparsed; return this; } /** - * Organization handle attributes. + * The supported attributes for updating a scheduled maintenance. * * @return attributes */ - @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_ATTRIBUTES) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public GoogleChatOrganizationHandleResponseAttributes getAttributes() { + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public PatchMaintenanceRequestDataAttributes getAttributes() { return attributes; } - public void setAttributes(GoogleChatOrganizationHandleResponseAttributes attributes) { + public void setAttributes(PatchMaintenanceRequestDataAttributes attributes) { this.attributes = attributes; } - public GoogleChatOrganizationHandleResponseData id(String id) { + public PatchMaintenanceRequestData id(UUID id) { this.id = id; return this; } /** - * The ID of the organization handle. + * The ID of the maintenance. * * @return id */ - @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_ID) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getId() { + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getId() { return id; } - public void setId(String id) { + public void setId(UUID id) { this.id = id; } - public GoogleChatOrganizationHandleResponseData type(GoogleChatOrganizationHandleType type) { + public PatchMaintenanceRequestData type(PatchMaintenanceRequestDataType type) { this.type = type; this.unparsed |= !type.isValid(); return this; } /** - * Organization handle resource type. + * Maintenances resource type. * * @return type */ - @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_TYPE) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public GoogleChatOrganizationHandleType getType() { + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public PatchMaintenanceRequestDataType getType() { return type; } - public void setType(GoogleChatOrganizationHandleType type) { + public void setType(PatchMaintenanceRequestDataType type) { if (!type.isValid()) { this.unparsed = true; } @@ -117,10 +130,10 @@ public void setType(GoogleChatOrganizationHandleType type) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatOrganizationHandleResponseData + * @return PatchMaintenanceRequestData */ @JsonAnySetter - public GoogleChatOrganizationHandleResponseData putAdditionalProperty(String key, Object value) { + public PatchMaintenanceRequestData putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -151,7 +164,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatOrganizationHandleResponseData object is equal to o. */ + /** Return true if this PatchMaintenanceRequestData object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -160,14 +173,12 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatOrganizationHandleResponseData googleChatOrganizationHandleResponseData = - (GoogleChatOrganizationHandleResponseData) o; - return Objects.equals(this.attributes, googleChatOrganizationHandleResponseData.attributes) - && Objects.equals(this.id, googleChatOrganizationHandleResponseData.id) - && Objects.equals(this.type, googleChatOrganizationHandleResponseData.type) + PatchMaintenanceRequestData patchMaintenanceRequestData = (PatchMaintenanceRequestData) o; + return Objects.equals(this.attributes, patchMaintenanceRequestData.attributes) + && Objects.equals(this.id, patchMaintenanceRequestData.id) + && Objects.equals(this.type, patchMaintenanceRequestData.type) && Objects.equals( - this.additionalProperties, - googleChatOrganizationHandleResponseData.additionalProperties); + this.additionalProperties, patchMaintenanceRequestData.additionalProperties); } @Override @@ -178,7 +189,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatOrganizationHandleResponseData {\n"); + sb.append("class PatchMaintenanceRequestData {\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributes.java new file mode 100644 index 00000000000..ca6634313ec --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributes.java @@ -0,0 +1,371 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** The supported attributes for updating a scheduled maintenance. */ +@JsonPropertyOrder({ + PatchMaintenanceRequestDataAttributes.JSON_PROPERTY_COMPLETED_DATE, + PatchMaintenanceRequestDataAttributes.JSON_PROPERTY_COMPLETED_DESCRIPTION, + PatchMaintenanceRequestDataAttributes.JSON_PROPERTY_COMPONENTS_AFFECTED, + PatchMaintenanceRequestDataAttributes.JSON_PROPERTY_IN_PROGRESS_DESCRIPTION, + PatchMaintenanceRequestDataAttributes.JSON_PROPERTY_SCHEDULED_DESCRIPTION, + PatchMaintenanceRequestDataAttributes.JSON_PROPERTY_START_DATE, + PatchMaintenanceRequestDataAttributes.JSON_PROPERTY_STATUS, + PatchMaintenanceRequestDataAttributes.JSON_PROPERTY_TITLE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class PatchMaintenanceRequestDataAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_COMPLETED_DATE = "completed_date"; + private OffsetDateTime completedDate; + + public static final String JSON_PROPERTY_COMPLETED_DESCRIPTION = "completed_description"; + private String completedDescription; + + public static final String JSON_PROPERTY_COMPONENTS_AFFECTED = "components_affected"; + private List componentsAffected = + null; + + public static final String JSON_PROPERTY_IN_PROGRESS_DESCRIPTION = "in_progress_description"; + private String inProgressDescription; + + public static final String JSON_PROPERTY_SCHEDULED_DESCRIPTION = "scheduled_description"; + private String scheduledDescription; + + public static final String JSON_PROPERTY_START_DATE = "start_date"; + private OffsetDateTime startDate; + + public static final String JSON_PROPERTY_STATUS = "status"; + private MaintenanceDataAttributesStatus status; + + public static final String JSON_PROPERTY_TITLE = "title"; + private String title; + + public PatchMaintenanceRequestDataAttributes completedDate(OffsetDateTime completedDate) { + this.completedDate = completedDate; + return this; + } + + /** + * Timestamp of when the maintenance was completed. + * + * @return completedDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPLETED_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getCompletedDate() { + return completedDate; + } + + public void setCompletedDate(OffsetDateTime completedDate) { + this.completedDate = completedDate; + } + + public PatchMaintenanceRequestDataAttributes completedDescription(String completedDescription) { + this.completedDescription = completedDescription; + return this; + } + + /** + * The description shown when the maintenance is completed. + * + * @return completedDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPLETED_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCompletedDescription() { + return completedDescription; + } + + public void setCompletedDescription(String completedDescription) { + this.completedDescription = completedDescription; + } + + public PatchMaintenanceRequestDataAttributes componentsAffected( + List componentsAffected) { + this.componentsAffected = componentsAffected; + for (PatchMaintenanceRequestDataAttributesComponentsAffectedItems item : componentsAffected) { + this.unparsed |= item.unparsed; + } + return this; + } + + public PatchMaintenanceRequestDataAttributes addComponentsAffectedItem( + PatchMaintenanceRequestDataAttributesComponentsAffectedItems componentsAffectedItem) { + if (this.componentsAffected == null) { + this.componentsAffected = new ArrayList<>(); + } + this.componentsAffected.add(componentsAffectedItem); + this.unparsed |= componentsAffectedItem.unparsed; + return this; + } + + /** + * The components affected by the scheduled maintenance. + * + * @return componentsAffected + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPONENTS_AFFECTED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List + getComponentsAffected() { + return componentsAffected; + } + + public void setComponentsAffected( + List componentsAffected) { + this.componentsAffected = componentsAffected; + } + + public PatchMaintenanceRequestDataAttributes inProgressDescription(String inProgressDescription) { + this.inProgressDescription = inProgressDescription; + return this; + } + + /** + * The description shown while the maintenance is in progress. + * + * @return inProgressDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IN_PROGRESS_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getInProgressDescription() { + return inProgressDescription; + } + + public void setInProgressDescription(String inProgressDescription) { + this.inProgressDescription = inProgressDescription; + } + + public PatchMaintenanceRequestDataAttributes scheduledDescription(String scheduledDescription) { + this.scheduledDescription = scheduledDescription; + return this; + } + + /** + * The description shown when the maintenance is scheduled. + * + * @return scheduledDescription + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SCHEDULED_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getScheduledDescription() { + return scheduledDescription; + } + + public void setScheduledDescription(String scheduledDescription) { + this.scheduledDescription = scheduledDescription; + } + + public PatchMaintenanceRequestDataAttributes startDate(OffsetDateTime startDate) { + this.startDate = startDate; + return this; + } + + /** + * Timestamp of when the maintenance is scheduled to start. + * + * @return startDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_START_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getStartDate() { + return startDate; + } + + public void setStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + } + + public PatchMaintenanceRequestDataAttributes status(MaintenanceDataAttributesStatus status) { + this.status = status; + this.unparsed |= !status.isValid(); + return this; + } + + /** + * The current status of the scheduled maintenance. + * + * @return status + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public MaintenanceDataAttributesStatus getStatus() { + return status; + } + + public void setStatus(MaintenanceDataAttributesStatus status) { + if (!status.isValid()) { + this.unparsed = true; + } + this.status = status; + } + + public PatchMaintenanceRequestDataAttributes title(String title) { + this.title = title; + return this; + } + + /** + * The title of the scheduled maintenance. + * + * @return title + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TITLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return PatchMaintenanceRequestDataAttributes + */ + @JsonAnySetter + public PatchMaintenanceRequestDataAttributes putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this PatchMaintenanceRequestDataAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchMaintenanceRequestDataAttributes patchMaintenanceRequestDataAttributes = + (PatchMaintenanceRequestDataAttributes) o; + return Objects.equals(this.completedDate, patchMaintenanceRequestDataAttributes.completedDate) + && Objects.equals( + this.completedDescription, patchMaintenanceRequestDataAttributes.completedDescription) + && Objects.equals( + this.componentsAffected, patchMaintenanceRequestDataAttributes.componentsAffected) + && Objects.equals( + this.inProgressDescription, patchMaintenanceRequestDataAttributes.inProgressDescription) + && Objects.equals( + this.scheduledDescription, patchMaintenanceRequestDataAttributes.scheduledDescription) + && Objects.equals(this.startDate, patchMaintenanceRequestDataAttributes.startDate) + && Objects.equals(this.status, patchMaintenanceRequestDataAttributes.status) + && Objects.equals(this.title, patchMaintenanceRequestDataAttributes.title) + && Objects.equals( + this.additionalProperties, patchMaintenanceRequestDataAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash( + completedDate, + completedDescription, + componentsAffected, + inProgressDescription, + scheduledDescription, + startDate, + status, + title, + additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PatchMaintenanceRequestDataAttributes {\n"); + sb.append(" completedDate: ").append(toIndentedString(completedDate)).append("\n"); + sb.append(" completedDescription: ") + .append(toIndentedString(completedDescription)) + .append("\n"); + sb.append(" componentsAffected: ").append(toIndentedString(componentsAffected)).append("\n"); + sb.append(" inProgressDescription: ") + .append(toIndentedString(inProgressDescription)) + .append("\n"); + sb.append(" scheduledDescription: ") + .append(toIndentedString(scheduledDescription)) + .append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributesComponentsAffectedItems.java similarity index 51% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponseAttributes.java rename to src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributesComponentsAffectedItems.java index 13cf355c87b..66c550adcf8 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatOrganizationHandleResponseAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributesComponentsAffectedItems.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -15,88 +16,94 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.UUID; -/** Organization handle attributes. */ +/** */ @JsonPropertyOrder({ - GoogleChatOrganizationHandleResponseAttributes.JSON_PROPERTY_NAME, - GoogleChatOrganizationHandleResponseAttributes.JSON_PROPERTY_SPACE_DISPLAY_NAME, - GoogleChatOrganizationHandleResponseAttributes.JSON_PROPERTY_SPACE_RESOURCE_NAME + PatchMaintenanceRequestDataAttributesComponentsAffectedItems.JSON_PROPERTY_ID, + PatchMaintenanceRequestDataAttributesComponentsAffectedItems.JSON_PROPERTY_NAME, + PatchMaintenanceRequestDataAttributesComponentsAffectedItems.JSON_PROPERTY_STATUS }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class GoogleChatOrganizationHandleResponseAttributes { +public class PatchMaintenanceRequestDataAttributesComponentsAffectedItems { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; + public static final String JSON_PROPERTY_NAME = "name"; private String name; - public static final String JSON_PROPERTY_SPACE_DISPLAY_NAME = "space_display_name"; - private String spaceDisplayName; + public static final String JSON_PROPERTY_STATUS = "status"; + private PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status; + + public PatchMaintenanceRequestDataAttributesComponentsAffectedItems() {} - public static final String JSON_PROPERTY_SPACE_RESOURCE_NAME = "space_resource_name"; - private String spaceResourceName; + @JsonCreator + public PatchMaintenanceRequestDataAttributesComponentsAffectedItems( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_STATUS) + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + this.id = id; + this.status = status; + this.unparsed |= !status.isValid(); + } - public GoogleChatOrganizationHandleResponseAttributes name(String name) { - this.name = name; + public PatchMaintenanceRequestDataAttributesComponentsAffectedItems id(UUID id) { + this.id = id; return this; } /** - * Organization handle name. + * The ID of the component. Must be a component of type component. * - * @return name + * @return id */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_NAME) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getName() { - return name; + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getId() { + return id; } - public void setName(String name) { - this.name = name; - } - - public GoogleChatOrganizationHandleResponseAttributes spaceDisplayName(String spaceDisplayName) { - this.spaceDisplayName = spaceDisplayName; - return this; + public void setId(UUID id) { + this.id = id; } /** - * Google space display name. + * The name of the component. * - * @return spaceDisplayName + * @return name */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SPACE_DISPLAY_NAME) + @JsonProperty(JSON_PROPERTY_NAME) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getSpaceDisplayName() { - return spaceDisplayName; - } - - public void setSpaceDisplayName(String spaceDisplayName) { - this.spaceDisplayName = spaceDisplayName; + public String getName() { + return name; } - public GoogleChatOrganizationHandleResponseAttributes spaceResourceName( - String spaceResourceName) { - this.spaceResourceName = spaceResourceName; + public PatchMaintenanceRequestDataAttributesComponentsAffectedItems status( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + this.status = status; + this.unparsed |= !status.isValid(); return this; } /** - * Google space resource name. + * The status of the component. * - * @return spaceResourceName + * @return status */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SPACE_RESOURCE_NAME) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getSpaceResourceName() { - return spaceResourceName; + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus getStatus() { + return status; } - public void setSpaceResourceName(String spaceResourceName) { - this.spaceResourceName = spaceResourceName; + public void setStatus(PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus status) { + if (!status.isValid()) { + this.unparsed = true; + } + this.status = status; } /** @@ -111,10 +118,10 @@ public void setSpaceResourceName(String spaceResourceName) { * * @param key The arbitrary key to set * @param value The associated value - * @return GoogleChatOrganizationHandleResponseAttributes + * @return PatchMaintenanceRequestDataAttributesComponentsAffectedItems */ @JsonAnySetter - public GoogleChatOrganizationHandleResponseAttributes putAdditionalProperty( + public PatchMaintenanceRequestDataAttributesComponentsAffectedItems putAdditionalProperty( String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); @@ -146,7 +153,10 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this GoogleChatOrganizationHandleResponseAttributes object is equal to o. */ + /** + * Return true if this PatchMaintenanceRequestDataAttributesComponentsAffectedItems object is + * equal to o. + */ @Override public boolean equals(Object o) { if (this == o) { @@ -155,31 +165,31 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GoogleChatOrganizationHandleResponseAttributes googleChatOrganizationHandleResponseAttributes = - (GoogleChatOrganizationHandleResponseAttributes) o; - return Objects.equals(this.name, googleChatOrganizationHandleResponseAttributes.name) + PatchMaintenanceRequestDataAttributesComponentsAffectedItems + patchMaintenanceRequestDataAttributesComponentsAffectedItems = + (PatchMaintenanceRequestDataAttributesComponentsAffectedItems) o; + return Objects.equals(this.id, patchMaintenanceRequestDataAttributesComponentsAffectedItems.id) && Objects.equals( - this.spaceDisplayName, googleChatOrganizationHandleResponseAttributes.spaceDisplayName) + this.name, patchMaintenanceRequestDataAttributesComponentsAffectedItems.name) && Objects.equals( - this.spaceResourceName, - googleChatOrganizationHandleResponseAttributes.spaceResourceName) + this.status, patchMaintenanceRequestDataAttributesComponentsAffectedItems.status) && Objects.equals( this.additionalProperties, - googleChatOrganizationHandleResponseAttributes.additionalProperties); + patchMaintenanceRequestDataAttributesComponentsAffectedItems.additionalProperties); } @Override public int hashCode() { - return Objects.hash(name, spaceDisplayName, spaceResourceName, additionalProperties); + return Objects.hash(id, name, status, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class GoogleChatOrganizationHandleResponseAttributes {\n"); + sb.append("class PatchMaintenanceRequestDataAttributesComponentsAffectedItems {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" spaceDisplayName: ").append(toIndentedString(spaceDisplayName)).append("\n"); - sb.append(" spaceResourceName: ").append(toIndentedString(spaceResourceName)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus.java b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus.java new file mode 100644 index 00000000000..fcd9a2fa455 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus.java @@ -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. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The status of the component. */ +@JsonSerialize( + using = + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + .PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatusSerializer.class) +public class PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("operational", "maintenance")); + + public static final PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + OPERATIONAL = + new PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus("operational"); + public static final PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus + MAINTENANCE = + new PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus("maintenance"); + + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus(String value) { + super(value, allowedValues); + } + + public static class PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatusSerializer + extends StdSerializer { + public PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatusSerializer( + Class t) { + super(t); + } + + public PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatusSerializer() { + this(null); + } + + @Override + public void serialize( + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus fromValue( + String value) { + return new PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceType.java b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataType.java similarity index 52% rename from src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceType.java rename to src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataType.java index bfd1a9f1878..c8e58ce3df7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GoogleChatAppNamedSpaceType.java +++ b/src/main/java/com/datadog/api/client/v2/model/PatchMaintenanceRequestDataType.java @@ -18,40 +18,41 @@ import java.util.HashSet; import java.util.Set; -/** Google Chat space resource type. */ -@JsonSerialize(using = GoogleChatAppNamedSpaceType.GoogleChatAppNamedSpaceTypeSerializer.class) -public class GoogleChatAppNamedSpaceType extends ModelEnum { +/** Maintenances resource type. */ +@JsonSerialize( + using = PatchMaintenanceRequestDataType.PatchMaintenanceRequestDataTypeSerializer.class) +public class PatchMaintenanceRequestDataType extends ModelEnum { private static final Set allowedValues = - new HashSet(Arrays.asList("google-chat-app-named-space")); + new HashSet(Arrays.asList("maintenances")); - public static final GoogleChatAppNamedSpaceType GOOGLE_CHAT_APP_NAMED_SPACE_TYPE = - new GoogleChatAppNamedSpaceType("google-chat-app-named-space"); + public static final PatchMaintenanceRequestDataType MAINTENANCES = + new PatchMaintenanceRequestDataType("maintenances"); - GoogleChatAppNamedSpaceType(String value) { + PatchMaintenanceRequestDataType(String value) { super(value, allowedValues); } - public static class GoogleChatAppNamedSpaceTypeSerializer - extends StdSerializer { - public GoogleChatAppNamedSpaceTypeSerializer(Class t) { + public static class PatchMaintenanceRequestDataTypeSerializer + extends StdSerializer { + public PatchMaintenanceRequestDataTypeSerializer(Class t) { super(t); } - public GoogleChatAppNamedSpaceTypeSerializer() { + public PatchMaintenanceRequestDataTypeSerializer() { this(null); } @Override public void serialize( - GoogleChatAppNamedSpaceType value, JsonGenerator jgen, SerializerProvider provider) + PatchMaintenanceRequestDataType value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeObject(value.value); } } @JsonCreator - public static GoogleChatAppNamedSpaceType fromValue(String value) { - return new GoogleChatAppNamedSpaceType(value); + public static PatchMaintenanceRequestDataType fromValue(String value) { + return new PatchMaintenanceRequestDataType(value); } } diff --git a/src/main/java/com/datadog/api/client/v2/model/StatusPageArray.java b/src/main/java/com/datadog/api/client/v2/model/StatusPageArray.java index eb30d2bf0f5..09980a70080 100644 --- a/src/main/java/com/datadog/api/client/v2/model/StatusPageArray.java +++ b/src/main/java/com/datadog/api/client/v2/model/StatusPageArray.java @@ -36,7 +36,7 @@ public class StatusPageArray { private List included = null; public static final String JSON_PROPERTY_META = "meta"; - private StatusPagesResponseMeta meta; + private PaginationMeta meta; public StatusPageArray() {} @@ -117,7 +117,7 @@ public void setIncluded(List included) { @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_META) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public StatusPagesResponseMeta getMeta() { + public PaginationMeta getMeta() { return meta; } diff --git a/src/test/resources/cassettes/features/v2/Create_component_returns_Created_response.freeze b/src/test/resources/cassettes/features/v2/Create_component_returns_Created_response.freeze index 7323200d4a6..de01be8e44f 100644 --- a/src/test/resources/cassettes/features/v2/Create_component_returns_Created_response.freeze +++ b/src/test/resources/cassettes/features/v2/Create_component_returns_Created_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:35.707Z \ No newline at end of file +2026-02-23T20:16:02.392Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_component_returns_Created_response.json b/src/test/resources/cassettes/features/v2/Create_component_returns_Created_response.json index 8fb7784ce18..b39c929207d 100644 --- a/src/test/resources/cassettes/features/v2/Create_component_returns_Created_response.json +++ b/src/test/resources/cassettes/features/v2/Create_component_returns_Created_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"4b0ba6475da3a49c\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"47db0986-7fe2-41d7-8820-aa0d2aff0232\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"f18376be-8b3d-467b-96df-d30a4cfd485f\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"7ae0ae92-e748-4619-b47a-5d4fd1cabfaa\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"7909aaf2-9067-4086-8305-54105b0ad2f0\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:02.572733Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"4b0ba6475da3a49c\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:02.572733Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/47db0986-7fe2-41d7-8820-aa0d2aff0232/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,7 +27,7 @@ "timeToLive": { "unlimited": true }, - "id": "2ea553d7-9d8f-a7df-3a24-23485704284d" + "id": "c0599fb6-0b57-4cf7-45af-0160f24cbf0b" }, { "httpRequest": { @@ -37,12 +37,12 @@ }, "headers": {}, "method": "POST", - "path": "/api/v2/statuspages/b53231b9-4737-47eb-8bb8-90d2b51e0803/components", + "path": "/api/v2/statuspages/47db0986-7fe2-41d7-8820-aa0d2aff0232/components", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"79dba89f-4646-4553-9c05-6caf4abfae78\",\"type\":\"components\",\"attributes\":{\"created_at\":\"2026-02-23T20:16:03.258772Z\",\"modified_at\":\"2026-02-23T20:16:03.258772Z\",\"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\":\"47db0986-7fe2-41d7-8820-aa0d2aff0232\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "2a824714-fc6c-f258-352b-1b1dde563210" + "id": "5a8dca4e-f411-0b7c-d65b-5b940c0fdf9b" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/b53231b9-4737-47eb-8bb8-90d2b51e0803/components/42f96d69-9136-4888-b822-ca0dc2013978", + "path": "/api/v2/statuspages/47db0986-7fe2-41d7-8820-aa0d2aff0232/components/79dba89f-4646-4553-9c05-6caf4abfae78", "keepAlive": false, "secure": true }, @@ -78,13 +78,13 @@ "timeToLive": { "unlimited": true }, - "id": "cc95292e-50c1-a055-64bb-3b3a7bf44c1f" + "id": "537117e0-b2d0-f3a0-2811-a0b7b1847467" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/b53231b9-4737-47eb-8bb8-90d2b51e0803", + "path": "/api/v2/statuspages/47db0986-7fe2-41d7-8820-aa0d2aff0232", "keepAlive": false, "secure": true }, @@ -99,6 +99,6 @@ "timeToLive": { "unlimited": true }, - "id": "a4989956-eb66-237f-31ec-415b58473674" + "id": "65316bb8-e654-3864-e619-8dd674216937" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_degradation_returns_Created_response.freeze b/src/test/resources/cassettes/features/v2/Create_degradation_returns_Created_response.freeze index 2c73d078040..8a97a4f7335 100644 --- a/src/test/resources/cassettes/features/v2/Create_degradation_returns_Created_response.freeze +++ b/src/test/resources/cassettes/features/v2/Create_degradation_returns_Created_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:36.959Z \ No newline at end of file +2026-02-23T20:16:04.191Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_degradation_returns_Created_response.json b/src/test/resources/cassettes/features/v2/Create_degradation_returns_Created_response.json index 462195558d9..c49db1d3fb3 100644 --- a/src/test/resources/cassettes/features/v2/Create_degradation_returns_Created_response.json +++ b/src/test/resources/cassettes/features/v2/Create_degradation_returns_Created_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"28547f610cbed33b\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"cd216a69-fc89-4d7e-a53d-feba50ca5ed5\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"aa1f14e1-e439-4930-9826-d09eb425bce4\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"5f2c4ba3-1948-4bd7-899a-c7e168d2e381\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"67f2c325-b3f9-4f90-8a36-aa12dc301a29\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:04.375688Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"28547f610cbed33b\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:04.375688Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/cd216a69-fc89-4d7e-a53d-feba50ca5ed5/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,22 +27,22 @@ "timeToLive": { "unlimited": true }, - "id": "cf4042f1-b28b-6c16-116b-a8526f18a74f" + "id": "b6312a99-3eea-af4e-1abc-099740255a4b" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"43c959d9-3dda-4dc9-ae42-74b71ea39f08\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" + "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"5f2c4ba3-1948-4bd7-899a-c7e168d2e381\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" }, "headers": {}, "method": "POST", - "path": "/api/v2/statuspages/bb4afad2-f893-464a-82a4-d2ab29d5105c/degradations", + "path": "/api/v2/statuspages/cd216a69-fc89-4d7e-a53d-feba50ca5ed5/degradations", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"d54c9196-5115-4d1e-a43c-9ac7bf1bef08\",\"type\":\"degradations\",\"attributes\":{\"components_affected\":[{\"id\":\"5f2c4ba3-1948-4bd7-899a-c7e168d2e381\",\"name\":\"Login\",\"status\":\"major_outage\"}],\"created_at\":\"2026-02-23T20:16:05.12678Z\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"modified_at\":\"2026-02-23T20:16:05.12678Z\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\",\"updates\":[{\"id\":\"2d31c490-76ff-403d-b8e6-127193341439\",\"created_at\":\"2026-02-23T20:16:05.12678Z\",\"modified_at\":\"2026-02-23T20:16:05.12678Z\",\"status\":\"investigating\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"components_affected\":[{\"id\":\"5f2c4ba3-1948-4bd7-899a-c7e168d2e381\",\"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\":\"cd216a69-fc89-4d7e-a53d-feba50ca5ed5\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "b569f35d-523e-1d26-95d2-1135a5b44cef" + "id": "2a1136e3-f716-0d60-55a7-8d749e8f1659" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/bb4afad2-f893-464a-82a4-d2ab29d5105c/degradations/e4e76067-6b16-48d1-b943-734d0d81f715", + "path": "/api/v2/statuspages/cd216a69-fc89-4d7e-a53d-feba50ca5ed5/degradations/d54c9196-5115-4d1e-a43c-9ac7bf1bef08", "keepAlive": false, "secure": true }, @@ -78,13 +78,13 @@ "timeToLive": { "unlimited": true }, - "id": "08af11c3-4bd2-5243-56f8-54691a1b5151" + "id": "41cb0166-b3d3-da63-1d18-7b16910e125a" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/bb4afad2-f893-464a-82a4-d2ab29d5105c", + "path": "/api/v2/statuspages/cd216a69-fc89-4d7e-a53d-feba50ca5ed5", "keepAlive": false, "secure": true }, @@ -99,6 +99,6 @@ "timeToLive": { "unlimited": true }, - "id": "a40f5db2-4b58-abb5-db95-73c697534ce2" + "id": "8aca4b8d-2d18-93ab-8845-6aa78aa351e4" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_maintenance_returns_Created_response.freeze b/src/test/resources/cassettes/features/v2/Create_maintenance_returns_Created_response.freeze new file mode 100644 index 00000000000..4a5f306628d --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Create_maintenance_returns_Created_response.freeze @@ -0,0 +1 @@ +2026-02-23T20:16:06.101Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_maintenance_returns_Created_response.json b/src/test/resources/cassettes/features/v2/Create_maintenance_returns_Created_response.json new file mode 100644 index 00000000000..b743457c7bb --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Create_maintenance_returns_Created_response.json @@ -0,0 +1,83 @@ +[ + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"6ba49e7619d78593\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/statuspages", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"8efe9c02-9614-4a28-9cc2-67150f3c6978\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"de13a6dd-447e-4cec-bca6-ae062923d3fb\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"c289dc24-ea58-4cf6-910e-dd86915389a7\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"a5e9ac3c-cd0e-4e83-883c-748add96dbb3\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:06.287168Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"6ba49e7619d78593\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:06.287168Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/8efe9c02-9614-4a28-9cc2-67150f3c6978/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" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "ef968544-8bba-6efb-361c-db5cc153e80c" + }, + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"completed_date\":\"2026-02-23T22:16:06.101Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"c289dc24-ea58-4cf6-910e-dd86915389a7\",\"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-23T21:16:06.101Z\",\"title\":\"API Maintenance\"},\"type\":\"maintenances\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/statuspages/8efe9c02-9614-4a28-9cc2-67150f3c6978/maintenances", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"8006da9a-2e0d-40d6-9ab4-095401621ce6\",\"type\":\"maintenances\",\"attributes\":{\"completed_date\":\"2026-02-23T22:16:06.101Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"c289dc24-ea58-4cf6-910e-dd86915389a7\",\"name\":\"Login\",\"status\":\"operational\"}],\"in_progress_description\":\"We are currently performing maintenance on the API to improve performance.\",\"modified_at\":\"2026-02-23T20:16:07.000214Z\",\"published_date\":\"2026-02-23T20:16:07.000214Z\",\"scheduled_description\":\"We will be performing maintenance on the API to improve performance.\",\"start_date\":\"2026-02-23T21:16:06.101Z\",\"status\":\"scheduled\",\"title\":\"API Maintenance\",\"updates\":[{\"id\":\"bb61b3cb-7c7b-45ed-82c5-486562d9e4d9\",\"created_at\":\"2026-02-23T20:16:07.000214Z\",\"modified_at\":\"2026-02-23T20:16:07.000214Z\",\"started_at\":\"2026-02-23T20:16:07.000214Z\",\"manual_transition\":false,\"status\":\"scheduled\",\"description\":\"We will be performing maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"c289dc24-ea58-4cf6-910e-dd86915389a7\",\"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\":\"8efe9c02-9614-4a28-9cc2-67150f3c6978\",\"type\":\"status_pages\"}}}}}", + "headers": { + "Content-Type": [ + "application/vnd.api+json" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "75c5dea2-e77b-ccd2-b0ac-f38facf806db" + }, + { + "httpRequest": { + "headers": {}, + "method": "DELETE", + "path": "/api/v2/statuspages/8efe9c02-9614-4a28-9cc2-67150f3c6978", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "headers": {}, + "statusCode": 204, + "reasonPhrase": "No Content" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "542d0bfd-00b2-5b53-c6e9-e5e7d1c8ae2c" + } +] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_organization_handle_returns_CREATED_response.freeze b/src/test/resources/cassettes/features/v2/Create_organization_handle_returns_CREATED_response.freeze deleted file mode 100644 index ea2dcfddaef..00000000000 --- a/src/test/resources/cassettes/features/v2/Create_organization_handle_returns_CREATED_response.freeze +++ /dev/null @@ -1 +0,0 @@ -2026-02-10T19:17:08.664Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_organization_handle_returns_CREATED_response.json b/src/test/resources/cassettes/features/v2/Create_organization_handle_returns_CREATED_response.json deleted file mode 100644 index 6122f72743e..00000000000 --- a/src/test/resources/cassettes/features/v2/Create_organization_handle_returns_CREATED_response.json +++ /dev/null @@ -1,53 +0,0 @@ -[ - { - "httpRequest": { - "body": { - "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Create_organization_handle_returns_CREATED_response-1770751028\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}},\"type\":\"google-chat-organization-handle\"}" - }, - "headers": {}, - "method": "POST", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"id\":\"dcad18fd-a3b1-4544-8fee-e1e2988204d8\",\"type\":\"google-chat-organization-handle\",\"attributes\":{\"name\":\"Test-Create_organization_handle_returns_CREATED_response-1770751028\",\"space_display_name\":\"api-test-space\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}}}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 201, - "reasonPhrase": "Created" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "be844af4-4435-29cf-e868-515ccb19e2fa" - }, - { - "httpRequest": { - "headers": {}, - "method": "DELETE", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles/dcad18fd-a3b1-4544-8fee-e1e2988204d8", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "headers": {}, - "statusCode": 204, - "reasonPhrase": "No Content" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "7928316b-a21b-7110-225c-72d2c8a86d6c" - } -] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_status_page_returns_Created_response.freeze b/src/test/resources/cassettes/features/v2/Create_status_page_returns_Created_response.freeze index f09a7049e48..95b3f9e64df 100644 --- a/src/test/resources/cassettes/features/v2/Create_status_page_returns_Created_response.freeze +++ b/src/test/resources/cassettes/features/v2/Create_status_page_returns_Created_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:38.324Z \ No newline at end of file +2026-02-23T20:16:07.716Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_status_page_returns_Created_response.json b/src/test/resources/cassettes/features/v2/Create_status_page_returns_Created_response.json index d54dfd0076f..855cf22336d 100644 --- a/src/test/resources/cassettes/features/v2/Create_status_page_returns_Created_response.json +++ b/src/test/resources/cassettes/features/v2/Create_status_page_returns_Created_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"domain_prefix\":\"bd769f64d06a9cdb\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"domain_prefix\":\"5766f187ce930318\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"e48bb171-92f3-4589-84f4-f39eb233da8d\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"13bbfba9-5170-422a-af24-b54b88f2604a\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"13c78230-e170-49f0-80a1-f2ab18404e16\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}],\"created_at\":\"2026-02-23T20:16:07.898001Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"5766f187ce930318\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:07.898001Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/e48bb171-92f3-4589-84f4-f39eb233da8d/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,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "c322df76-ed65-e6eb-b799-529a381ed095" + "id": "03614e31-20e5-ee1d-e934-73589ff4cdcb" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/f59e184f-4019-40d6-be90-b59f2381976d", + "path": "/api/v2/statuspages/e48bb171-92f3-4589-84f4-f39eb233da8d", "keepAlive": false, "secure": true }, @@ -48,6 +48,6 @@ "timeToLive": { "unlimited": true }, - "id": "a0c4f81e-430d-f69f-2029-2689c082c5cc" + "id": "e76202b8-1213-ad1b-a519-2a555b959668" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_component_returns_No_Content_response.freeze b/src/test/resources/cassettes/features/v2/Delete_component_returns_No_Content_response.freeze index dccc0cd79e6..6b62ddd6b41 100644 --- a/src/test/resources/cassettes/features/v2/Delete_component_returns_No_Content_response.freeze +++ b/src/test/resources/cassettes/features/v2/Delete_component_returns_No_Content_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:39.373Z \ No newline at end of file +2026-02-23T20:16:09.033Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_component_returns_No_Content_response.json b/src/test/resources/cassettes/features/v2/Delete_component_returns_No_Content_response.json index 4392a9ceb77..3d0d7a86b63 100644 --- a/src/test/resources/cassettes/features/v2/Delete_component_returns_No_Content_response.json +++ b/src/test/resources/cassettes/features/v2/Delete_component_returns_No_Content_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"edee101776af20b9\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"e25e32c3-23a7-4586-9c4f-76b87c1bec1f\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"f6b3a3fa-8536-43c2-bbe0-fcff4dff6f54\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"1f2931bf-7330-4be0-8fd1-05fa30ad372d\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"5bfcd42d-c9d6-43aa-b2d9-f1a031907023\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:09.211864Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"edee101776af20b9\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:09.211864Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/e25e32c3-23a7-4586-9c4f-76b87c1bec1f/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,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "739b2fe3-8f0a-3eba-be58-e7140b1c4686" + "id": "44fe6d7b-150a-1780-96f9-cf70406f042e" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/e4365564-6c49-4a14-b9c2-736c038a62a9/components/be6cbe05-c28b-4cd1-be92-0323c2399a6c", + "path": "/api/v2/statuspages/e25e32c3-23a7-4586-9c4f-76b87c1bec1f/components/f6b3a3fa-8536-43c2-bbe0-fcff4dff6f54", "keepAlive": false, "secure": true }, @@ -48,13 +48,13 @@ "timeToLive": { "unlimited": true }, - "id": "d1e6249c-0bb4-848d-9e6e-f9c42cf5df8b" + "id": "b8f01a9e-77d9-e8ff-be5d-aea6ec567366" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/e4365564-6c49-4a14-b9c2-736c038a62a9", + "path": "/api/v2/statuspages/e25e32c3-23a7-4586-9c4f-76b87c1bec1f", "keepAlive": false, "secure": true }, @@ -69,6 +69,6 @@ "timeToLive": { "unlimited": true }, - "id": "79652247-fa32-7a3a-4a8b-6370da1bbe83" + "id": "5fc3d453-6e30-fce1-f462-c3852f173d46" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_degradation_returns_No_Content_response.freeze b/src/test/resources/cassettes/features/v2/Delete_degradation_returns_No_Content_response.freeze index f9dac8fe0f8..4a9b4a06ed7 100644 --- a/src/test/resources/cassettes/features/v2/Delete_degradation_returns_No_Content_response.freeze +++ b/src/test/resources/cassettes/features/v2/Delete_degradation_returns_No_Content_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:40.553Z \ No newline at end of file +2026-02-23T20:16:10.453Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_degradation_returns_No_Content_response.json b/src/test/resources/cassettes/features/v2/Delete_degradation_returns_No_Content_response.json index 0a6724cca6a..bfbc074fff0 100644 --- a/src/test/resources/cassettes/features/v2/Delete_degradation_returns_No_Content_response.json +++ b/src/test/resources/cassettes/features/v2/Delete_degradation_returns_No_Content_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"c0c93907390b306e\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"41a4aa90-b290-48bf-afe1-912cf088f145\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"5656e3f9-4437-458f-89e3-55e326247c1c\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"b8c061cc-7f56-46b3-9386-cbf6e2c1bb69\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"4fb4a5f8-000e-4823-9df0-fbe0ffb781f4\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:10.621282Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"c0c93907390b306e\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:10.621282Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/41a4aa90-b290-48bf-afe1-912cf088f145/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,22 +27,22 @@ "timeToLive": { "unlimited": true }, - "id": "439415c0-8b0d-558a-cf87-8f59eef0fb40" + "id": "e2e9160f-ac79-8eca-3624-7a0345d558d5" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"45221c15-9e84-469a-bc08-be9e3988f3ea\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" + "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"b8c061cc-7f56-46b3-9386-cbf6e2c1bb69\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" }, "headers": {}, "method": "POST", - "path": "/api/v2/statuspages/6be99142-8929-473e-9799-041e6372f114/degradations", + "path": "/api/v2/statuspages/41a4aa90-b290-48bf-afe1-912cf088f145/degradations", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"f0574b5a-9892-4e1c-98dd-0e6670d461f9\",\"type\":\"degradations\",\"attributes\":{\"components_affected\":[{\"id\":\"b8c061cc-7f56-46b3-9386-cbf6e2c1bb69\",\"name\":\"Login\",\"status\":\"major_outage\"}],\"created_at\":\"2026-02-23T20:16:11.285843Z\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"modified_at\":\"2026-02-23T20:16:11.285843Z\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\",\"updates\":[{\"id\":\"20aa0854-b07a-4470-8ba7-2b8c9f3cc5c9\",\"created_at\":\"2026-02-23T20:16:11.285843Z\",\"modified_at\":\"2026-02-23T20:16:11.285843Z\",\"status\":\"investigating\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"components_affected\":[{\"id\":\"b8c061cc-7f56-46b3-9386-cbf6e2c1bb69\",\"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\":\"41a4aa90-b290-48bf-afe1-912cf088f145\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "7298d37e-6259-e283-6b3c-510b0f0c9d1d" + "id": "f5862c02-7e5c-45ff-3cfb-453162ff540f" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/6be99142-8929-473e-9799-041e6372f114/degradations/bd0e77e0-83e5-4556-809b-f582969f1441", + "path": "/api/v2/statuspages/41a4aa90-b290-48bf-afe1-912cf088f145/degradations/f0574b5a-9892-4e1c-98dd-0e6670d461f9", "keepAlive": false, "secure": true }, @@ -78,13 +78,13 @@ "timeToLive": { "unlimited": true }, - "id": "fcda4360-becd-d1ad-ca56-99c1e0df7636" + "id": "47efaed5-8c38-4f78-cf44-d76d789a716e" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/6be99142-8929-473e-9799-041e6372f114/degradations/bd0e77e0-83e5-4556-809b-f582969f1441", + "path": "/api/v2/statuspages/41a4aa90-b290-48bf-afe1-912cf088f145/degradations/f0574b5a-9892-4e1c-98dd-0e6670d461f9", "keepAlive": false, "secure": true }, @@ -104,13 +104,13 @@ "timeToLive": { "unlimited": true }, - "id": "fcda4360-becd-d1ad-ca56-99c1e0df7637" + "id": "47efaed5-8c38-4f78-cf44-d76d789a716f" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/6be99142-8929-473e-9799-041e6372f114", + "path": "/api/v2/statuspages/41a4aa90-b290-48bf-afe1-912cf088f145", "keepAlive": false, "secure": true }, @@ -125,6 +125,6 @@ "timeToLive": { "unlimited": true }, - "id": "28555656-8138-5b22-d4fe-fe1ddb98dc73" + "id": "ee9ad8c0-cde8-ba90-f01a-a3b0c7720083" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_organization_handle_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Delete_organization_handle_returns_OK_response.freeze deleted file mode 100644 index 874d0ee2e65..00000000000 --- a/src/test/resources/cassettes/features/v2/Delete_organization_handle_returns_OK_response.freeze +++ /dev/null @@ -1 +0,0 @@ -2026-02-10T19:17:09.317Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_organization_handle_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Delete_organization_handle_returns_OK_response.json deleted file mode 100644 index 566c403bf16..00000000000 --- a/src/test/resources/cassettes/features/v2/Delete_organization_handle_returns_OK_response.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - "httpRequest": { - "body": { - "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Delete_organization_handle_returns_OK_response-1770751029\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}},\"type\":\"google-chat-organization-handle\"}" - }, - "headers": {}, - "method": "POST", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"id\":\"e70e04d1-7547-47de-ad3b-41a345fd1abe\",\"type\":\"google-chat-organization-handle\",\"attributes\":{\"name\":\"Test-Delete_organization_handle_returns_OK_response-1770751029\",\"space_display_name\":\"api-test-space\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}}}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 201, - "reasonPhrase": "Created" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "295657c0-35e7-e8d9-3742-3f064780dd39" - }, - { - "httpRequest": { - "headers": {}, - "method": "DELETE", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles/e70e04d1-7547-47de-ad3b-41a345fd1abe", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "headers": {}, - "statusCode": 204, - "reasonPhrase": "No Content" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "43883590-a0ea-dd89-9a79-89bf95fa01b4" - }, - { - "httpRequest": { - "headers": {}, - "method": "DELETE", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles/e70e04d1-7547-47de-ad3b-41a345fd1abe", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "headers": {}, - "statusCode": 204, - "reasonPhrase": "No Content" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "43883590-a0ea-dd89-9a79-89bf95fa01b5" - } -] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_status_page_returns_No_Content_response.freeze b/src/test/resources/cassettes/features/v2/Delete_status_page_returns_No_Content_response.freeze index dbcea3ddf98..6a266f1b5f3 100644 --- a/src/test/resources/cassettes/features/v2/Delete_status_page_returns_No_Content_response.freeze +++ b/src/test/resources/cassettes/features/v2/Delete_status_page_returns_No_Content_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:41.981Z \ No newline at end of file +2026-02-23T20:16:12.425Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_status_page_returns_No_Content_response.json b/src/test/resources/cassettes/features/v2/Delete_status_page_returns_No_Content_response.json index 13999db7415..e79af2b587f 100644 --- a/src/test/resources/cassettes/features/v2/Delete_status_page_returns_No_Content_response.json +++ b/src/test/resources/cassettes/features/v2/Delete_status_page_returns_No_Content_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"ee142e459bb4c43e\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"b4b175a2-7e20-4ed7-b62e-b93d86c88581\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"ed94dcd2-2957-4369-b527-f3d3e10585f1\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"1a2c8154-89a2-4559-94c4-57c9f638aa68\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"e80ad5f2-89d7-4315-a8f2-a6d7ce489669\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:12.586432Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"ee142e459bb4c43e\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:12.586432Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/b4b175a2-7e20-4ed7-b62e-b93d86c88581/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,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "1ef5d0f3-cc2e-fc36-c6f6-02fb76a59981" + "id": "7a64ec36-0bf1-1cb2-4d8a-cc320ed2054e" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/bc81fd89-62a4-4c28-b5e1-167c63ce3249", + "path": "/api/v2/statuspages/b4b175a2-7e20-4ed7-b62e-b93d86c88581", "keepAlive": false, "secure": true }, @@ -48,13 +48,13 @@ "timeToLive": { "unlimited": true }, - "id": "c3b70638-eb16-04d2-a6dd-76ed243a6210" + "id": "efcc148a-1ac6-3dcb-397b-2449f5338323" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/bc81fd89-62a4-4c28-b5e1-167c63ce3249", + "path": "/api/v2/statuspages/b4b175a2-7e20-4ed7-b62e-b93d86c88581", "keepAlive": false, "secure": true }, @@ -74,6 +74,6 @@ "timeToLive": { "unlimited": true }, - "id": "c3b70638-eb16-04d2-a6dd-76ed243a6211" + "id": "efcc148a-1ac6-3dcb-397b-2449f5338324" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_all_organization_handles_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_all_organization_handles_returns_OK_response.freeze deleted file mode 100644 index 339a9835bb6..00000000000 --- a/src/test/resources/cassettes/features/v2/Get_all_organization_handles_returns_OK_response.freeze +++ /dev/null @@ -1 +0,0 @@ -2026-02-10T19:17:10.064Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_all_organization_handles_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_all_organization_handles_returns_OK_response.json deleted file mode 100644 index a815b0605f5..00000000000 --- a/src/test/resources/cassettes/features/v2/Get_all_organization_handles_returns_OK_response.json +++ /dev/null @@ -1,79 +0,0 @@ -[ - { - "httpRequest": { - "body": { - "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_all_organization_handles_returns_OK_response-1770751030\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}},\"type\":\"google-chat-organization-handle\"}" - }, - "headers": {}, - "method": "POST", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"id\":\"9c140b3f-05c1-4943-959a-cae272356979\",\"type\":\"google-chat-organization-handle\",\"attributes\":{\"name\":\"Test-Get_all_organization_handles_returns_OK_response-1770751030\",\"space_display_name\":\"api-test-space\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}}}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 201, - "reasonPhrase": "Created" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "f63029fd-b447-1b39-d058-5889b334aa66" - }, - { - "httpRequest": { - "headers": {}, - "method": "GET", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":[{\"id\":\"9c140b3f-05c1-4943-959a-cae272356979\",\"type\":\"google-chat-organization-handle\",\"attributes\":{\"name\":\"Test-Get_all_organization_handles_returns_OK_response-1770751030\",\"space_display_name\":\"api-test-space\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}}]}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 200, - "reasonPhrase": "OK" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "ae5d5fc8-6f94-e60f-0851-4ac4e061bed6" - }, - { - "httpRequest": { - "headers": {}, - "method": "DELETE", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles/9c140b3f-05c1-4943-959a-cae272356979", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "headers": {}, - "statusCode": 204, - "reasonPhrase": "No Content" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "ab0b8062-f10e-1248-b66e-1aede7c9d77c" - } -] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_component_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_component_returns_OK_response.freeze index 06ecf5ee7c9..d490b6814df 100644 --- a/src/test/resources/cassettes/features/v2/Get_component_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_component_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:43.141Z \ No newline at end of file +2026-02-23T20:16:13.927Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_component_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_component_returns_OK_response.json index 3f68bfbb806..b9318cb1cf1 100644 --- a/src/test/resources/cassettes/features/v2/Get_component_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_component_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"a8b55355204193bc\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"0d8e9a4b-b4ba-48f6-a753-d88a6454991b\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"43c23f87-08cb-406b-8d9d-751e1b7c3084\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"56186061-ab34-46a1-a60d-444604dd994b\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"1c36ea46-0195-458a-afad-c1a3841e3870\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:14.097405Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"a8b55355204193bc\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:14.097405Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/0d8e9a4b-b4ba-48f6-a753-d88a6454991b/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,18 +27,18 @@ "timeToLive": { "unlimited": true }, - "id": "98646d4f-4c48-0543-7053-72a3834c0f38" + "id": "82349c4e-bbe2-eb50-5c12-51f6844c3bb4" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/statuspages/70f5256d-c03f-45e1-8057-bc036d4793eb/components/7a270e4e-a064-44d0-bf07-326cf1f51cad", + "path": "/api/v2/statuspages/0d8e9a4b-b4ba-48f6-a753-d88a6454991b/components/43c23f87-08cb-406b-8d9d-751e1b7c3084", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"43c23f87-08cb-406b-8d9d-751e1b7c3084\",\"type\":\"components\",\"attributes\":{\"components\":[{\"id\":\"56186061-ab34-46a1-a60d-444604dd994b\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"1c36ea46-0195-458a-afad-c1a3841e3870\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}],\"created_at\":\"2026-02-23T20:16:14.097405Z\",\"modified_at\":\"2026-02-23T20:16:14.097405Z\",\"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\":\"0d8e9a4b-b4ba-48f6-a753-d88a6454991b\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -53,13 +53,13 @@ "timeToLive": { "unlimited": true }, - "id": "8b65bb20-5a2b-8508-33c4-f3528253c0ad" + "id": "7a49f69b-a91b-c99d-37bb-96aba5e592fd" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/70f5256d-c03f-45e1-8057-bc036d4793eb", + "path": "/api/v2/statuspages/0d8e9a4b-b4ba-48f6-a753-d88a6454991b", "keepAlive": false, "secure": true }, @@ -74,6 +74,6 @@ "timeToLive": { "unlimited": true }, - "id": "a7595656-1349-f10f-8256-dfa948dd5a7e" + "id": "61314a93-d117-84f1-0836-0f7161c91645" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_degradation_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_degradation_returns_OK_response.freeze index 5bf876ce9e7..d9091ca501c 100644 --- a/src/test/resources/cassettes/features/v2/Get_degradation_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_degradation_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:44.279Z \ No newline at end of file +2026-02-23T20:16:15.355Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_degradation_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_degradation_returns_OK_response.json index a93cb832263..5d73e006741 100644 --- a/src/test/resources/cassettes/features/v2/Get_degradation_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_degradation_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"da956c8169f240b4\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"127fb554-3f89-414d-a54f-a2b24df82f69\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"91830c5a-0ad1-43e2-ac98-d66bac053cf7\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"b25d5817-2c3e-429c-964f-6bb45d267610\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"1da27643-0e19-423c-a956-7c957f46846f\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:15.526946Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"da956c8169f240b4\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:15.526946Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/127fb554-3f89-414d-a54f-a2b24df82f69/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,22 +27,22 @@ "timeToLive": { "unlimited": true }, - "id": "899a7f71-23f5-af9e-81d7-dfa3f305476f" + "id": "ef9888ef-47ff-9a81-b371-ea668ec1f678" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"bd226a05-e4f4-41bd-bb65-6c575acb55df\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" + "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"b25d5817-2c3e-429c-964f-6bb45d267610\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" }, "headers": {}, "method": "POST", - "path": "/api/v2/statuspages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45/degradations", + "path": "/api/v2/statuspages/127fb554-3f89-414d-a54f-a2b24df82f69/degradations", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"b9844c35-dcc9-47ff-93d7-f6a275b23b71\",\"type\":\"degradations\",\"attributes\":{\"components_affected\":[{\"id\":\"b25d5817-2c3e-429c-964f-6bb45d267610\",\"name\":\"Login\",\"status\":\"major_outage\"}],\"created_at\":\"2026-02-23T20:16:16.29478Z\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"modified_at\":\"2026-02-23T20:16:16.29478Z\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\",\"updates\":[{\"id\":\"8fbabdd3-6230-4924-9b78-b0402bc8e9f9\",\"created_at\":\"2026-02-23T20:16:16.29478Z\",\"modified_at\":\"2026-02-23T20:16:16.29478Z\",\"status\":\"investigating\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"components_affected\":[{\"id\":\"b25d5817-2c3e-429c-964f-6bb45d267610\",\"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\":\"127fb554-3f89-414d-a54f-a2b24df82f69\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,18 +57,18 @@ "timeToLive": { "unlimited": true }, - "id": "35cd63ec-3378-0b01-2b46-98bcef44c3e4" + "id": "6a043a10-192d-38ad-04bd-479fbcfaebb1" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/statuspages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45/degradations/ce318082-f158-4f69-a325-dfcc3a4e0cd4", + "path": "/api/v2/statuspages/127fb554-3f89-414d-a54f-a2b24df82f69/degradations/b9844c35-dcc9-47ff-93d7-f6a275b23b71", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"b9844c35-dcc9-47ff-93d7-f6a275b23b71\",\"type\":\"degradations\",\"attributes\":{\"components_affected\":[{\"id\":\"b25d5817-2c3e-429c-964f-6bb45d267610\",\"name\":\"Login\",\"status\":\"major_outage\"}],\"created_at\":\"2026-02-23T20:16:16.29478Z\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"modified_at\":\"2026-02-23T20:16:16.29478Z\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\",\"updates\":[{\"id\":\"8fbabdd3-6230-4924-9b78-b0402bc8e9f9\",\"created_at\":\"2026-02-23T20:16:16.29478Z\",\"modified_at\":\"2026-02-23T20:16:16.29478Z\",\"status\":\"investigating\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"components_affected\":[{\"id\":\"b25d5817-2c3e-429c-964f-6bb45d267610\",\"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\":\"127fb554-3f89-414d-a54f-a2b24df82f69\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -83,13 +83,13 @@ "timeToLive": { "unlimited": true }, - "id": "346fc540-96c6-3964-a47a-1cf57a08b479" + "id": "673714b0-5ae8-f930-5ab2-c7b677cfe455" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45/degradations/ce318082-f158-4f69-a325-dfcc3a4e0cd4", + "path": "/api/v2/statuspages/127fb554-3f89-414d-a54f-a2b24df82f69/degradations/b9844c35-dcc9-47ff-93d7-f6a275b23b71", "keepAlive": false, "secure": true }, @@ -104,13 +104,13 @@ "timeToLive": { "unlimited": true }, - "id": "0a6c4521-ea52-2d93-2230-870a0d6927a0" + "id": "49a98c2c-0ff9-7534-9f5c-f9adb7643835" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/a0e1ebd1-38d3-4b7b-bb90-9a7427ce7c45", + "path": "/api/v2/statuspages/127fb554-3f89-414d-a54f-a2b24df82f69", "keepAlive": false, "secure": true }, @@ -125,6 +125,6 @@ "timeToLive": { "unlimited": true }, - "id": "fa2e4dd8-45b8-4309-5db6-40d1c50aca5a" + "id": "54fee136-c12e-80f5-6934-9ce21af4da86" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_maintenance_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_maintenance_returns_OK_response.freeze new file mode 100644 index 00000000000..09805355ad3 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_maintenance_returns_OK_response.freeze @@ -0,0 +1 @@ +2026-02-23T20:16:17.526Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_maintenance_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_maintenance_returns_OK_response.json new file mode 100644 index 00000000000..a6860387834 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Get_maintenance_returns_OK_response.json @@ -0,0 +1,109 @@ +[ + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"966e67c4721d01a0\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/statuspages", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"33f5c1c2-517f-4374-b3d0-67b435934c99\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"3fb9a745-a635-4865-b36e-59e843ab3287\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"5c1a59eb-f284-4a72-88e2-ae72c2e34960\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"99b31c47-314c-4550-9f61-1a6bb4ae23ae\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:17.778311Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"966e67c4721d01a0\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:17.778311Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/33f5c1c2-517f-4374-b3d0-67b435934c99/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" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "e3eab571-adc8-9306-4206-9de5e1ba9a2d" + }, + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"completed_date\":\"2026-02-23T22:16:17.526Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"5c1a59eb-f284-4a72-88e2-ae72c2e34960\",\"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-23T21:16:17.526Z\",\"title\":\"API Maintenance\"},\"type\":\"maintenances\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/statuspages/33f5c1c2-517f-4374-b3d0-67b435934c99/maintenances", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"b3c6eef6-8b46-4ddb-ad69-8030a6ae5d2b\",\"type\":\"maintenances\",\"attributes\":{\"completed_date\":\"2026-02-23T22:16:17.526Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"5c1a59eb-f284-4a72-88e2-ae72c2e34960\",\"name\":\"Login\",\"status\":\"operational\"}],\"in_progress_description\":\"We are currently performing maintenance on the API to improve performance.\",\"modified_at\":\"2026-02-23T20:16:18.42422Z\",\"published_date\":\"2026-02-23T20:16:18.42422Z\",\"scheduled_description\":\"We will be performing maintenance on the API to improve performance.\",\"start_date\":\"2026-02-23T21:16:17.526Z\",\"status\":\"scheduled\",\"title\":\"API Maintenance\",\"updates\":[{\"id\":\"7c892b93-e595-4210-bcf8-71ac7866186c\",\"created_at\":\"2026-02-23T20:16:18.42422Z\",\"modified_at\":\"2026-02-23T20:16:18.42422Z\",\"started_at\":\"2026-02-23T20:16:18.42422Z\",\"manual_transition\":false,\"status\":\"scheduled\",\"description\":\"We will be performing maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"5c1a59eb-f284-4a72-88e2-ae72c2e34960\",\"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\":\"33f5c1c2-517f-4374-b3d0-67b435934c99\",\"type\":\"status_pages\"}}}}}", + "headers": { + "Content-Type": [ + "application/vnd.api+json" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "847caf8f-d7c4-23f8-8a4e-bdcfb6e30e44" + }, + { + "httpRequest": { + "headers": {}, + "method": "GET", + "path": "/api/v2/statuspages/33f5c1c2-517f-4374-b3d0-67b435934c99/maintenances/b3c6eef6-8b46-4ddb-ad69-8030a6ae5d2b", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"b3c6eef6-8b46-4ddb-ad69-8030a6ae5d2b\",\"type\":\"maintenances\",\"attributes\":{\"completed_date\":\"2026-02-23T22:16:17.526Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"5c1a59eb-f284-4a72-88e2-ae72c2e34960\",\"name\":\"Login\",\"status\":\"operational\"}],\"in_progress_description\":\"We are currently performing maintenance on the API to improve performance.\",\"modified_at\":\"2026-02-23T20:16:18.42422Z\",\"published_date\":\"2026-02-23T20:16:18.42422Z\",\"scheduled_description\":\"We will be performing maintenance on the API to improve performance.\",\"start_date\":\"2026-02-23T21:16:17.526Z\",\"status\":\"scheduled\",\"title\":\"API Maintenance\",\"updates\":[{\"id\":\"7c892b93-e595-4210-bcf8-71ac7866186c\",\"created_at\":\"2026-02-23T20:16:18.42422Z\",\"modified_at\":\"2026-02-23T20:16:18.42422Z\",\"started_at\":\"2026-02-23T20:16:18.42422Z\",\"manual_transition\":false,\"status\":\"scheduled\",\"description\":\"We will be performing maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"5c1a59eb-f284-4a72-88e2-ae72c2e34960\",\"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\":\"33f5c1c2-517f-4374-b3d0-67b435934c99\",\"type\":\"status_pages\"}}}}}", + "headers": { + "Content-Type": [ + "application/vnd.api+json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "b10144cb-380c-bf49-9db1-84d0a5ea5971" + }, + { + "httpRequest": { + "headers": {}, + "method": "DELETE", + "path": "/api/v2/statuspages/33f5c1c2-517f-4374-b3d0-67b435934c99", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "headers": {}, + "statusCode": 204, + "reasonPhrase": "No Content" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "ff2aa34a-f920-6360-b2c9-1ed698803e2e" + } +] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_organization_handle_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_organization_handle_returns_OK_response.freeze deleted file mode 100644 index 71947fc9496..00000000000 --- a/src/test/resources/cassettes/features/v2/Get_organization_handle_returns_OK_response.freeze +++ /dev/null @@ -1 +0,0 @@ -2026-02-10T19:17:11.045Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_organization_handle_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_organization_handle_returns_OK_response.json deleted file mode 100644 index b46c0f29b0e..00000000000 --- a/src/test/resources/cassettes/features/v2/Get_organization_handle_returns_OK_response.json +++ /dev/null @@ -1,79 +0,0 @@ -[ - { - "httpRequest": { - "body": { - "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_organization_handle_returns_OK_response-1770751031\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}},\"type\":\"google-chat-organization-handle\"}" - }, - "headers": {}, - "method": "POST", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"id\":\"f712e551-628f-4688-be1d-cb69c69c9690\",\"type\":\"google-chat-organization-handle\",\"attributes\":{\"name\":\"Test-Get_organization_handle_returns_OK_response-1770751031\",\"space_display_name\":\"api-test-space\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}}}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 201, - "reasonPhrase": "Created" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "1fb74f92-00a2-d681-4066-9beb84d3f3e2" - }, - { - "httpRequest": { - "headers": {}, - "method": "GET", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles/f712e551-628f-4688-be1d-cb69c69c9690", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"id\":\"f712e551-628f-4688-be1d-cb69c69c9690\",\"type\":\"google-chat-organization-handle\",\"attributes\":{\"name\":\"Test-Get_organization_handle_returns_OK_response-1770751031\",\"space_display_name\":\"api-test-space\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}}}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 200, - "reasonPhrase": "OK" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "4bd5b396-dd60-c2a7-eff6-7314912559f6" - }, - { - "httpRequest": { - "headers": {}, - "method": "DELETE", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles/f712e551-628f-4688-be1d-cb69c69c9690", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "headers": {}, - "statusCode": 204, - "reasonPhrase": "No Content" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "f5f2a28d-9f2e-ca22-add6-92b35be49c18" - } -] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_space_information_by_display_name_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_space_information_by_display_name_returns_OK_response.freeze deleted file mode 100644 index d11f3c86a31..00000000000 --- a/src/test/resources/cassettes/features/v2/Get_space_information_by_display_name_returns_OK_response.freeze +++ /dev/null @@ -1 +0,0 @@ -2026-02-10T19:17:12.022Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_space_information_by_display_name_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_space_information_by_display_name_returns_OK_response.json deleted file mode 100644 index d87bc75c58c..00000000000 --- a/src/test/resources/cassettes/features/v2/Get_space_information_by_display_name_returns_OK_response.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { - "httpRequest": { - "headers": {}, - "method": "GET", - "path": "/api/v2/integration/google-chat/organizations/app/named-spaces/datadog.ninja/api-test-space", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"id\":\"d57f39c4-f22b-6da0-108c-23bdb9c460a3\",\"type\":\"google-chat-app-named-space\",\"attributes\":{\"display_name\":\"api-test-space\",\"organization_binding_id\":\"e54cb570-c674-529c-769d-84b312288ed7\",\"resource_name\":\"spaces/AAQA-zFIks8\",\"space_uri\":\"https://chat.google.com/room/AAQA-zFIks8?cls=11\"}}}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 200, - "reasonPhrase": "OK" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "5c0717bd-3bff-bf0c-bc70-ab3e4d29d478" - } -] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_status_page_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_status_page_returns_OK_response.freeze index 712b01c4720..de837b5059e 100644 --- a/src/test/resources/cassettes/features/v2/Get_status_page_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_status_page_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:45.761Z \ No newline at end of file +2026-02-23T20:16:19.270Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_status_page_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_status_page_returns_OK_response.json index fd8a323efb9..1917d73dacd 100644 --- a/src/test/resources/cassettes/features/v2/Get_status_page_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_status_page_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"0e736890fb35d70a\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"0ce27f23-2922-4b8b-b6be-04142feb6782\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"2a1b8f06-0c63-409c-93bb-f92bb5bafa3d\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"84d3c9bd-b059-4f25-84eb-d638e9775e87\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"797ac32f-07e6-4f1b-b3f0-cf63feacc74d\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:19.436996Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"0e736890fb35d70a\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:19.436996Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/0ce27f23-2922-4b8b-b6be-04142feb6782/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,18 +27,18 @@ "timeToLive": { "unlimited": true }, - "id": "fd16f007-b83f-6cbb-985a-f3fcfd540eb6" + "id": "6915f1eb-288c-a4fc-8b66-796c155d200b" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/statuspages/24205612-f1dc-444f-aec6-7010c3097cb5", + "path": "/api/v2/statuspages/0ce27f23-2922-4b8b-b6be-04142feb6782", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"0ce27f23-2922-4b8b-b6be-04142feb6782\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"2a1b8f06-0c63-409c-93bb-f92bb5bafa3d\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"84d3c9bd-b059-4f25-84eb-d638e9775e87\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"797ac32f-07e6-4f1b-b3f0-cf63feacc74d\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:19.436996Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"0e736890fb35d70a\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:19.436996Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/0ce27f23-2922-4b8b-b6be-04142feb6782/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" @@ -53,13 +53,13 @@ "timeToLive": { "unlimited": true }, - "id": "47b7d219-3208-3f43-4762-8a7be4a6da01" + "id": "b0021bce-ae49-b235-4b66-f24f6079b043" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/24205612-f1dc-444f-aec6-7010c3097cb5", + "path": "/api/v2/statuspages/0ce27f23-2922-4b8b-b6be-04142feb6782", "keepAlive": false, "secure": true }, @@ -74,6 +74,6 @@ "timeToLive": { "unlimited": true }, - "id": "797c4807-8658-7852-ff5c-86d115b6c149" + "id": "607fe0f9-50f3-aa7a-f381-270aead663b3" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/List_components_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/List_components_returns_OK_response.freeze index d9b768691c7..26dcef4c545 100644 --- a/src/test/resources/cassettes/features/v2/List_components_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/List_components_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:46.975Z \ No newline at end of file +2026-02-23T20:16:20.776Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/List_components_returns_OK_response.json b/src/test/resources/cassettes/features/v2/List_components_returns_OK_response.json index 151e7240600..bca1ff874a8 100644 --- a/src/test/resources/cassettes/features/v2/List_components_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/List_components_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"9e87027f13a48cf6\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"b2fa0f2b-2848-4e98-bd53-70f13ea710ea\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"61c8929b-282a-46ae-a406-66ad45ee0b94\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"480745e7-21e3-4c58-b449-5aab1c20d7d7\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"9e33b649-b9a4-4ac5-983a-94c4a3f21211\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:20.940864Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"9e87027f13a48cf6\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:20.940864Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/b2fa0f2b-2848-4e98-bd53-70f13ea710ea/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,18 +27,18 @@ "timeToLive": { "unlimited": true }, - "id": "bbb8f085-02a3-c04e-2916-0d7ca0a5e9e1" + "id": "14f4fe1d-ff8c-cd2e-38a2-06ea7359ff01" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/statuspages/02b22755-8a22-449f-817b-c4f649f37ebd/components", + "path": "/api/v2/statuspages/b2fa0f2b-2848-4e98-bd53-70f13ea710ea/components", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}]}", + "body": "{\"data\":[{\"id\":\"61c8929b-282a-46ae-a406-66ad45ee0b94\",\"type\":\"components\",\"attributes\":{\"components\":[{\"id\":\"480745e7-21e3-4c58-b449-5aab1c20d7d7\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"9e33b649-b9a4-4ac5-983a-94c4a3f21211\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}],\"created_at\":\"2026-02-23T20:16:20.940864Z\",\"modified_at\":\"2026-02-23T20:16:20.940864Z\",\"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\":\"b2fa0f2b-2848-4e98-bd53-70f13ea710ea\",\"type\":\"status_pages\"}}}}]}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -53,13 +53,13 @@ "timeToLive": { "unlimited": true }, - "id": "934801c4-3520-5366-511b-fa086b1e8e1f" + "id": "8434c50e-3f5e-8dea-1fd8-a77b7d6a1454" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/02b22755-8a22-449f-817b-c4f649f37ebd", + "path": "/api/v2/statuspages/b2fa0f2b-2848-4e98-bd53-70f13ea710ea", "keepAlive": false, "secure": true }, @@ -74,6 +74,6 @@ "timeToLive": { "unlimited": true }, - "id": "3c587298-d5b7-6f34-a8f4-7d4bf6299415" + "id": "7a8fadd6-6b13-d17a-c914-8b3611e47ee6" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/List_degradations_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/List_degradations_returns_OK_response.freeze index 5ef43ee5a2e..632719d406e 100644 --- a/src/test/resources/cassettes/features/v2/List_degradations_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/List_degradations_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:48.128Z \ No newline at end of file +2026-02-23T20:16:22.241Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/List_degradations_returns_OK_response.json b/src/test/resources/cassettes/features/v2/List_degradations_returns_OK_response.json index 24f0dba40f3..9dd8db4d3bb 100644 --- a/src/test/resources/cassettes/features/v2/List_degradations_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/List_degradations_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"eac2d10a67312c2e\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"a57dc388-e4e8-42fa-8798-d5676af80f1f\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"962da5d3-b80f-47f7-a184-4501c181a50b\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"d176bfb4-04bf-479b-a3b2-9f249557b1d6\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"e4ef7c0e-9831-4e8d-90f6-78e034afe0f1\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:22.413765Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"eac2d10a67312c2e\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:22.413765Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/a57dc388-e4e8-42fa-8798-d5676af80f1f/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,22 +27,22 @@ "timeToLive": { "unlimited": true }, - "id": "42cc66e2-266f-5442-4236-087d1cc72b17" + "id": "93a3ba26-6ca5-6b0f-3a1e-0cf46925a1ab" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"b257b99d-355b-4b2c-82c0-335694c1e940\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" + "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"d176bfb4-04bf-479b-a3b2-9f249557b1d6\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" }, "headers": {}, "method": "POST", - "path": "/api/v2/statuspages/fcf5cb92-aa21-43c1-b2c3-54ff692fef7b/degradations", + "path": "/api/v2/statuspages/a57dc388-e4e8-42fa-8798-d5676af80f1f/degradations", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"2e10a35f-602b-40f9-96c1-65c9fb487a4e\",\"type\":\"degradations\",\"attributes\":{\"components_affected\":[{\"id\":\"d176bfb4-04bf-479b-a3b2-9f249557b1d6\",\"name\":\"Login\",\"status\":\"major_outage\"}],\"created_at\":\"2026-02-23T20:16:23.177773Z\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"modified_at\":\"2026-02-23T20:16:23.177773Z\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\",\"updates\":[{\"id\":\"001f848b-0f15-4ac2-a1d0-3cbc1b3ddd4c\",\"created_at\":\"2026-02-23T20:16:23.177773Z\",\"modified_at\":\"2026-02-23T20:16:23.177773Z\",\"status\":\"investigating\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"components_affected\":[{\"id\":\"d176bfb4-04bf-479b-a3b2-9f249557b1d6\",\"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\":\"a57dc388-e4e8-42fa-8798-d5676af80f1f\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,7 +57,7 @@ "timeToLive": { "unlimited": true }, - "id": "275ed5df-3696-ac17-a845-8f6c119ec055" + "id": "5a46b957-7c3a-669b-9823-d840f48624fd" }, { "httpRequest": { @@ -68,7 +68,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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}}}", + "body": "{\"data\":[{\"id\":\"2e10a35f-602b-40f9-96c1-65c9fb487a4e\",\"type\":\"degradations\",\"attributes\":{\"components_affected\":[{\"id\":\"d176bfb4-04bf-479b-a3b2-9f249557b1d6\",\"name\":\"Login\",\"status\":\"major_outage\"}],\"created_at\":\"2026-02-23T20:16:23.177773Z\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"modified_at\":\"2026-02-23T20:16:23.177773Z\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\",\"updates\":[{\"id\":\"001f848b-0f15-4ac2-a1d0-3cbc1b3ddd4c\",\"created_at\":\"2026-02-23T20:16:23.177773Z\",\"modified_at\":\"2026-02-23T20:16:23.177773Z\",\"status\":\"investigating\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"components_affected\":[{\"id\":\"d176bfb4-04bf-479b-a3b2-9f249557b1d6\",\"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\":\"a57dc388-e4e8-42fa-8798-d5676af80f1f\",\"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" @@ -89,7 +89,7 @@ "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/fcf5cb92-aa21-43c1-b2c3-54ff692fef7b/degradations/2339dce7-c32c-42f4-88c6-ce3ff16f0cbd", + "path": "/api/v2/statuspages/a57dc388-e4e8-42fa-8798-d5676af80f1f/degradations/2e10a35f-602b-40f9-96c1-65c9fb487a4e", "keepAlive": false, "secure": true }, @@ -104,13 +104,13 @@ "timeToLive": { "unlimited": true }, - "id": "ac7c257f-e1aa-f62a-53af-97033b4a1f42" + "id": "2c5be144-7236-2fed-eb87-eeeb7bc0ab5c" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/fcf5cb92-aa21-43c1-b2c3-54ff692fef7b", + "path": "/api/v2/statuspages/a57dc388-e4e8-42fa-8798-d5676af80f1f", "keepAlive": false, "secure": true }, @@ -125,6 +125,6 @@ "timeToLive": { "unlimited": true }, - "id": "c6ffb4df-deae-c180-8a5e-5070af52cf35" + "id": "cf3f0d89-5755-ad72-a713-71fdbb64cc5b" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/List_maintenances_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/List_maintenances_returns_OK_response.freeze new file mode 100644 index 00000000000..38e88d20e58 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/List_maintenances_returns_OK_response.freeze @@ -0,0 +1 @@ +2026-02-23T20:16:24.312Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/List_maintenances_returns_OK_response.json b/src/test/resources/cassettes/features/v2/List_maintenances_returns_OK_response.json new file mode 100644 index 00000000000..bb0bd422d05 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/List_maintenances_returns_OK_response.json @@ -0,0 +1,109 @@ +[ + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"7fc2608e1d93b6c7\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/statuspages", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"d1d29d3a-c8a2-45f2-90ea-d704239b946c\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"230442a8-8a9e-4aca-b81f-7fe385fe365c\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"1c79ea0e-c34c-481f-a95a-6cc162176c32\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"1ddf3d22-e428-4d0f-bd2c-ee2bdaef5817\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:24.487143Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"7fc2608e1d93b6c7\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:24.487143Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/d1d29d3a-c8a2-45f2-90ea-d704239b946c/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" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "f9f69c8d-3f81-58de-be19-3de0b65d44b8" + }, + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"completed_date\":\"2026-02-23T22:16:24.312Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"1c79ea0e-c34c-481f-a95a-6cc162176c32\",\"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-23T21:16:24.312Z\",\"title\":\"API Maintenance\"},\"type\":\"maintenances\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/statuspages/d1d29d3a-c8a2-45f2-90ea-d704239b946c/maintenances", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"c92e185e-3553-4ee3-892b-143c16562e97\",\"type\":\"maintenances\",\"attributes\":{\"completed_date\":\"2026-02-23T22:16:24.312Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"1c79ea0e-c34c-481f-a95a-6cc162176c32\",\"name\":\"Login\",\"status\":\"operational\"}],\"in_progress_description\":\"We are currently performing maintenance on the API to improve performance.\",\"modified_at\":\"2026-02-23T20:16:25.143017Z\",\"published_date\":\"2026-02-23T20:16:25.143017Z\",\"scheduled_description\":\"We will be performing maintenance on the API to improve performance.\",\"start_date\":\"2026-02-23T21:16:24.312Z\",\"status\":\"scheduled\",\"title\":\"API Maintenance\",\"updates\":[{\"id\":\"8cfe5877-f77a-460e-99bb-19a62bd58397\",\"created_at\":\"2026-02-23T20:16:25.143017Z\",\"modified_at\":\"2026-02-23T20:16:25.143017Z\",\"started_at\":\"2026-02-23T20:16:25.143017Z\",\"manual_transition\":false,\"status\":\"scheduled\",\"description\":\"We will be performing maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"1c79ea0e-c34c-481f-a95a-6cc162176c32\",\"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\":\"d1d29d3a-c8a2-45f2-90ea-d704239b946c\",\"type\":\"status_pages\"}}}}}", + "headers": { + "Content-Type": [ + "application/vnd.api+json" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "e68d3bbc-0ae8-f392-0e89-c2f35bed864d" + }, + { + "httpRequest": { + "headers": {}, + "method": "GET", + "path": "/api/v2/statuspages/maintenances", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"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\":\"c92e185e-3553-4ee3-892b-143c16562e97\",\"type\":\"maintenances\",\"attributes\":{\"completed_date\":\"2026-02-23T22:16:24.312Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"1c79ea0e-c34c-481f-a95a-6cc162176c32\",\"name\":\"Login\",\"status\":\"operational\"}],\"in_progress_description\":\"We are currently performing maintenance on the API to improve performance.\",\"modified_at\":\"2026-02-23T20:16:25.143017Z\",\"published_date\":\"2026-02-23T20:16:25.143017Z\",\"scheduled_description\":\"We will be performing maintenance on the API to improve performance.\",\"start_date\":\"2026-02-23T21:16:24.312Z\",\"status\":\"scheduled\",\"title\":\"API Maintenance\",\"updates\":[{\"id\":\"8cfe5877-f77a-460e-99bb-19a62bd58397\",\"created_at\":\"2026-02-23T20:16:25.143017Z\",\"modified_at\":\"2026-02-23T20:16:25.143017Z\",\"started_at\":\"2026-02-23T20:16:25.143017Z\",\"manual_transition\":false,\"status\":\"scheduled\",\"description\":\"We will be performing maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"1c79ea0e-c34c-481f-a95a-6cc162176c32\",\"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\":\"d1d29d3a-c8a2-45f2-90ea-d704239b946c\",\"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" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "3b80f059-341a-1ed3-5001-787afda11e1f" + }, + { + "httpRequest": { + "headers": {}, + "method": "DELETE", + "path": "/api/v2/statuspages/d1d29d3a-c8a2-45f2-90ea-d704239b946c", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "headers": {}, + "statusCode": 204, + "reasonPhrase": "No Content" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "69866431-1590-c39d-8142-0a630dfbb84d" + } +] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/List_status_pages_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/List_status_pages_returns_OK_response.freeze index 95c95875d8d..af330f59160 100644 --- a/src/test/resources/cassettes/features/v2/List_status_pages_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/List_status_pages_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:49.653Z \ No newline at end of file +2026-02-23T20:16:26.389Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/List_status_pages_returns_OK_response.json b/src/test/resources/cassettes/features/v2/List_status_pages_returns_OK_response.json index d9b8f7537d4..8802f073e85 100644 --- a/src/test/resources/cassettes/features/v2/List_status_pages_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/List_status_pages_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"5fac5fd038cb703a\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"9d583055-fcef-4b9b-a8d1-dea5e3f1558f\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"80d6d1d8-9dbf-4e7b-800c-8bd7cf22fc3b\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"27581079-168a-4b3e-92c3-dd637f47416f\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"d81cecf4-23cf-4874-aaa0-f2c8d77bef1c\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:26.612343Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"5fac5fd038cb703a\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:26.612343Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/9d583055-fcef-4b9b-a8d1-dea5e3f1558f/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,7 +27,7 @@ "timeToLive": { "unlimited": true }, - "id": "63d67ac0-a4fe-0d95-36a3-73008bd74bc0" + "id": "9ed315a9-d0b1-e33c-edcb-57aba9348138" }, { "httpRequest": { @@ -38,7 +38,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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}}}", + "body": "{\"data\":[{\"id\":\"9d583055-fcef-4b9b-a8d1-dea5e3f1558f\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"80d6d1d8-9dbf-4e7b-800c-8bd7cf22fc3b\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"27581079-168a-4b3e-92c3-dd637f47416f\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"d81cecf4-23cf-4874-aaa0-f2c8d77bef1c\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:26.612343Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"5fac5fd038cb703a\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:26.612343Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/9d583055-fcef-4b9b-a8d1-dea5e3f1558f/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\"}}}},{\"id\":\"ac1070ea-9621-4aa7-8c2a-98bee38b8824\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"8888c402-f4c8-42c5-bc9a-322a303a17f3\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"0e18a41f-a089-4c9e-a2fe-9823e92d8892\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"6b53237e-ac44-45e1-bfee-f7cc6359ce36\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-18T21:56:10.131645Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"6a88252acb78d212\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-18T21:56:10.131645Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/ac1070ea-9621-4aa7-8c2a-98bee38b8824/view\",\"subscriptions_enabled\":false,\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"relationships\":{\"created_by_user\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}},\"last_modified_by_user\":{\"data\":{\"id\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"type\":\"users\"}}}}],\"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" @@ -59,7 +59,7 @@ "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/2fb5cefa-a43b-4974-b439-96cef54df054", + "path": "/api/v2/statuspages/9d583055-fcef-4b9b-a8d1-dea5e3f1558f", "keepAlive": false, "secure": true }, @@ -74,6 +74,6 @@ "timeToLive": { "unlimited": true }, - "id": "aad41943-f0e1-02da-84fd-a23ddb689ad2" + "id": "41054394-2a64-4ef4-f021-a9a5d19ef6b2" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_component_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Update_component_returns_OK_response.freeze index 7b2cd91b767..41e44684df1 100644 --- a/src/test/resources/cassettes/features/v2/Update_component_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Update_component_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:50.959Z \ No newline at end of file +2026-02-23T20:16:28.463Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_component_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Update_component_returns_OK_response.json index f7b96c09716..4c4da561e2d 100644 --- a/src/test/resources/cassettes/features/v2/Update_component_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Update_component_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"2d78e33e5120f8cd\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"651dca8d-1dbb-41fe-8adc-3202bbacf8c1\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"f149b448-105b-4b56-a8da-c135650cde16\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"839a7e38-3972-454a-9072-ba9f620ebaa4\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"46b804fd-04df-4cf1-9bb5-57a3afdc7ed9\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:28.660007Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"2d78e33e5120f8cd\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:28.660007Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/651dca8d-1dbb-41fe-8adc-3202bbacf8c1/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,22 +27,22 @@ "timeToLive": { "unlimited": true }, - "id": "1077f135-5bba-c22c-8d79-df2f9aba7f47" + "id": "0a7ec978-23a4-fec3-1220-2ac19d4239f5" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Logs Indexing\"},\"id\":\"7a828867-d56d-41a9-bc35-9eec112fd334\",\"type\":\"components\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Logs Indexing\"},\"id\":\"f149b448-105b-4b56-a8da-c135650cde16\",\"type\":\"components\"}}" }, "headers": {}, "method": "PATCH", - "path": "/api/v2/statuspages/2f95d75e-d08f-4c37-8808-2b0246f86e16/components/7a828867-d56d-41a9-bc35-9eec112fd334", + "path": "/api/v2/statuspages/651dca8d-1dbb-41fe-8adc-3202bbacf8c1/components/f149b448-105b-4b56-a8da-c135650cde16", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"f149b448-105b-4b56-a8da-c135650cde16\",\"type\":\"components\",\"attributes\":{\"components\":[{\"id\":\"839a7e38-3972-454a-9072-ba9f620ebaa4\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"46b804fd-04df-4cf1-9bb5-57a3afdc7ed9\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}],\"created_at\":\"2026-02-23T20:16:28.660007Z\",\"modified_at\":\"2026-02-23T20:16:29.489259Z\",\"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\":\"651dca8d-1dbb-41fe-8adc-3202bbacf8c1\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "b53230d2-7ea4-e81c-4b40-63e00841e459" + "id": "1827357f-4750-e7de-c112-a2641feee885" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/2f95d75e-d08f-4c37-8808-2b0246f86e16", + "path": "/api/v2/statuspages/651dca8d-1dbb-41fe-8adc-3202bbacf8c1", "keepAlive": false, "secure": true }, @@ -78,6 +78,6 @@ "timeToLive": { "unlimited": true }, - "id": "1b78beba-3d57-8104-54e2-e8f304655697" + "id": "f8e8be72-1f10-a568-db38-3b5eec37eea1" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_degradation_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Update_degradation_returns_OK_response.freeze index 7ba365b7947..b03c1de96d7 100644 --- a/src/test/resources/cassettes/features/v2/Update_degradation_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Update_degradation_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:52.130Z \ No newline at end of file +2026-02-23T20:16:30.213Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_degradation_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Update_degradation_returns_OK_response.json index 89a0f4c017b..c53c19eb062 100644 --- a/src/test/resources/cassettes/features/v2/Update_degradation_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Update_degradation_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"2daf69a7641e3777\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"03043fcd-c478-4f1a-935a-a16dca35e1c4\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"55299db8-53dd-4ab2-ae6c-fe1bdf0cf44c\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"f8c0b1dc-e178-442c-9089-3f6908fb24d3\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"65011d21-f266-44f6-93c4-b80a9bbf8e85\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:30.426048Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"2daf69a7641e3777\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:30.426048Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/03043fcd-c478-4f1a-935a-a16dca35e1c4/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,22 +27,22 @@ "timeToLive": { "unlimited": true }, - "id": "d7cec229-f3e7-058a-121d-0fc62db29580" + "id": "2f9882f4-7d4c-7432-2d77-ce607a61ab26" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"681d4866-a4ff-4e4e-b295-6b9586892675\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" + "json": "{\"data\":{\"attributes\":{\"components_affected\":[{\"id\":\"f8c0b1dc-e178-442c-9089-3f6908fb24d3\",\"status\":\"major_outage\"}],\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\"},\"type\":\"degradations\"}}" }, "headers": {}, "method": "POST", - "path": "/api/v2/statuspages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa/degradations", + "path": "/api/v2/statuspages/03043fcd-c478-4f1a-935a-a16dca35e1c4/degradations", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"b3ccea86-915c-4d85-8f9c-d90cc55f311b\",\"type\":\"degradations\",\"attributes\":{\"components_affected\":[{\"id\":\"f8c0b1dc-e178-442c-9089-3f6908fb24d3\",\"name\":\"Login\",\"status\":\"major_outage\"}],\"created_at\":\"2026-02-23T20:16:31.177816Z\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"modified_at\":\"2026-02-23T20:16:31.177816Z\",\"status\":\"investigating\",\"title\":\"Elevated API Latency\",\"updates\":[{\"id\":\"c542c887-5d6c-485f-aa34-0a202b92f2b4\",\"created_at\":\"2026-02-23T20:16:31.177816Z\",\"modified_at\":\"2026-02-23T20:16:31.177816Z\",\"status\":\"investigating\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"components_affected\":[{\"id\":\"f8c0b1dc-e178-442c-9089-3f6908fb24d3\",\"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\":\"03043fcd-c478-4f1a-935a-a16dca35e1c4\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,22 +57,22 @@ "timeToLive": { "unlimited": true }, - "id": "0b5398d0-e5f5-8db9-27b9-106107734db1" + "id": "f482ae8d-379e-e2cf-44c4-157267275988" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"title\":\"Elevated API Latency in US1\"},\"id\":\"3e8741c2-3c93-4346-9ddc-67d381baee05\",\"type\":\"degradations\"}}" + "json": "{\"data\":{\"attributes\":{\"title\":\"Elevated API Latency in US1\"},\"id\":\"b3ccea86-915c-4d85-8f9c-d90cc55f311b\",\"type\":\"degradations\"}}" }, "headers": {}, "method": "PATCH", - "path": "/api/v2/statuspages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa/degradations/3e8741c2-3c93-4346-9ddc-67d381baee05", + "path": "/api/v2/statuspages/03043fcd-c478-4f1a-935a-a16dca35e1c4/degradations/b3ccea86-915c-4d85-8f9c-d90cc55f311b", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"b3ccea86-915c-4d85-8f9c-d90cc55f311b\",\"type\":\"degradations\",\"attributes\":{\"components_affected\":[{\"id\":\"f8c0b1dc-e178-442c-9089-3f6908fb24d3\",\"name\":\"Login\",\"status\":\"major_outage\"}],\"created_at\":\"2026-02-23T20:16:31.177816Z\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"modified_at\":\"2026-02-23T20:16:31.417821Z\",\"status\":\"investigating\",\"title\":\"Elevated API Latency in US1\",\"updates\":[{\"id\":\"c542c887-5d6c-485f-aa34-0a202b92f2b4\",\"created_at\":\"2026-02-23T20:16:31.177816Z\",\"modified_at\":\"2026-02-23T20:16:31.177816Z\",\"status\":\"investigating\",\"description\":\"Our API is experiencing elevated latency. We are investigating the issue.\",\"components_affected\":[{\"id\":\"f8c0b1dc-e178-442c-9089-3f6908fb24d3\",\"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\":\"03043fcd-c478-4f1a-935a-a16dca35e1c4\",\"type\":\"status_pages\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "95f228ec-c75a-6794-15d5-75ac9afd5a87" + "id": "ec5a3a87-f05e-4a85-f8ec-0f509c8cd4d7" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa/degradations/3e8741c2-3c93-4346-9ddc-67d381baee05", + "path": "/api/v2/statuspages/03043fcd-c478-4f1a-935a-a16dca35e1c4/degradations/b3ccea86-915c-4d85-8f9c-d90cc55f311b", "keepAlive": false, "secure": true }, @@ -108,13 +108,13 @@ "timeToLive": { "unlimited": true }, - "id": "213a6659-4a83-7894-4698-cb80efe31889" + "id": "bc1e13cc-ef97-8a83-38b9-6e1aa8dba2b2" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/5df6e8f7-b903-4ba9-b0c5-d603536e23fa", + "path": "/api/v2/statuspages/03043fcd-c478-4f1a-935a-a16dca35e1c4", "keepAlive": false, "secure": true }, @@ -129,6 +129,6 @@ "timeToLive": { "unlimited": true }, - "id": "97632e19-c46e-fe70-30ee-906a26c051ea" + "id": "76462e0d-d7a4-962e-58d5-f0fbf4e1be09" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_maintenance_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Update_maintenance_returns_OK_response.freeze new file mode 100644 index 00000000000..6452b8ffa53 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Update_maintenance_returns_OK_response.freeze @@ -0,0 +1 @@ +2026-02-23T20:16:32.343Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_maintenance_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Update_maintenance_returns_OK_response.json new file mode 100644 index 00000000000..4a1c907f770 --- /dev/null +++ b/src/test/resources/cassettes/features/v2/Update_maintenance_returns_OK_response.json @@ -0,0 +1,113 @@ +[ + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"03eb3f18dce9a48f\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/statuspages", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"116d3403-d1fd-47bb-ae4f-04df31903f71\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"d2abde8b-4a56-4fad-a1d6-6c747a4d4b85\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"d16b5088-ef48-46a5-81a7-34ef1742a648\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"73615cc2-8073-4d07-9a90-2822014d83a1\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:32.528303Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"03eb3f18dce9a48f\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:32.528303Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/116d3403-d1fd-47bb-ae4f-04df31903f71/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" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "bd10383a-638e-0a1c-f556-449448289a77" + }, + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"data\":{\"attributes\":{\"completed_date\":\"2026-02-23T22:16:32.343Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"d16b5088-ef48-46a5-81a7-34ef1742a648\",\"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-23T21:16:32.343Z\",\"title\":\"API Maintenance\"},\"type\":\"maintenances\"}}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v2/statuspages/116d3403-d1fd-47bb-ae4f-04df31903f71/maintenances", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"9a7f5cff-9694-4deb-af02-2d56b80c26a4\",\"type\":\"maintenances\",\"attributes\":{\"completed_date\":\"2026-02-23T22:16:32.343Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"d16b5088-ef48-46a5-81a7-34ef1742a648\",\"name\":\"Login\",\"status\":\"operational\"}],\"in_progress_description\":\"We are currently performing maintenance on the API to improve performance.\",\"modified_at\":\"2026-02-23T20:16:33.17339Z\",\"published_date\":\"2026-02-23T20:16:33.17339Z\",\"scheduled_description\":\"We will be performing maintenance on the API to improve performance.\",\"start_date\":\"2026-02-23T21:16:32.343Z\",\"status\":\"scheduled\",\"title\":\"API Maintenance\",\"updates\":[{\"id\":\"48c33783-0790-445c-b78b-8ca8894d6886\",\"created_at\":\"2026-02-23T20:16:33.17339Z\",\"modified_at\":\"2026-02-23T20:16:33.17339Z\",\"started_at\":\"2026-02-23T20:16:33.17339Z\",\"manual_transition\":false,\"status\":\"scheduled\",\"description\":\"We will be performing maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"d16b5088-ef48-46a5-81a7-34ef1742a648\",\"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\":\"116d3403-d1fd-47bb-ae4f-04df31903f71\",\"type\":\"status_pages\"}}}}}", + "headers": { + "Content-Type": [ + "application/vnd.api+json" + ] + }, + "statusCode": 201, + "reasonPhrase": "Created" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "020dd40a-1b81-f7d9-b948-c077a692971f" + }, + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"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\":\"9a7f5cff-9694-4deb-af02-2d56b80c26a4\",\"type\":\"maintenances\"}}" + }, + "headers": {}, + "method": "PATCH", + "path": "/api/v2/statuspages/116d3403-d1fd-47bb-ae4f-04df31903f71/maintenances/9a7f5cff-9694-4deb-af02-2d56b80c26a4", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":{\"id\":\"9a7f5cff-9694-4deb-af02-2d56b80c26a4\",\"type\":\"maintenances\",\"attributes\":{\"completed_date\":\"2026-02-23T22:16:32.343Z\",\"completed_description\":\"We have completed maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"d16b5088-ef48-46a5-81a7-34ef1742a648\",\"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-23T20:16:33.412127Z\",\"published_date\":\"2026-02-23T20:16:33.17339Z\",\"scheduled_description\":\"We will be performing maintenance on the API to improve performance for 40 minutes.\",\"start_date\":\"2026-02-23T21:16:32.343Z\",\"status\":\"scheduled\",\"title\":\"API Maintenance\",\"updates\":[{\"id\":\"48c33783-0790-445c-b78b-8ca8894d6886\",\"created_at\":\"2026-02-23T20:16:33.17339Z\",\"modified_at\":\"2026-02-23T20:16:33.17339Z\",\"started_at\":\"2026-02-23T20:16:33.17339Z\",\"manual_transition\":false,\"status\":\"scheduled\",\"description\":\"We will be performing maintenance on the API to improve performance.\",\"components_affected\":[{\"id\":\"d16b5088-ef48-46a5-81a7-34ef1742a648\",\"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\":\"116d3403-d1fd-47bb-ae4f-04df31903f71\",\"type\":\"status_pages\"}}}}}", + "headers": { + "Content-Type": [ + "application/vnd.api+json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "d9b04d38-53ab-df53-192a-fb0f6f779fc5" + }, + { + "httpRequest": { + "headers": {}, + "method": "DELETE", + "path": "/api/v2/statuspages/116d3403-d1fd-47bb-ae4f-04df31903f71", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "headers": {}, + "statusCode": 204, + "reasonPhrase": "No Content" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "34df5acc-65bc-ffd7-bc2a-e51fc7d97b5b" + } +] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_organization_handle_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Update_organization_handle_returns_OK_response.freeze deleted file mode 100644 index b30514cc3b6..00000000000 --- a/src/test/resources/cassettes/features/v2/Update_organization_handle_returns_OK_response.freeze +++ /dev/null @@ -1 +0,0 @@ -2026-02-10T19:17:12.337Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_organization_handle_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Update_organization_handle_returns_OK_response.json deleted file mode 100644 index 057d461ab08..00000000000 --- a/src/test/resources/cassettes/features/v2/Update_organization_handle_returns_OK_response.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - { - "httpRequest": { - "body": { - "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Update_organization_handle_returns_OK_response-1770751032\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}},\"type\":\"google-chat-organization-handle\"}" - }, - "headers": {}, - "method": "POST", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"id\":\"b036578c-665f-4ff2-8785-ba4d00fc87b5\",\"type\":\"google-chat-organization-handle\",\"attributes\":{\"name\":\"Test-Update_organization_handle_returns_OK_response-1770751032\",\"space_display_name\":\"api-test-space\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}}}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 201, - "reasonPhrase": "Created" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "cc0cef26-7f9e-f615-0627-fd057cf04b85" - }, - { - "httpRequest": { - "body": { - "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Update_organization_handle_returns_OK_response-1770751032--updated\"}},\"type\":\"google-chat-organization-handle\"}" - }, - "headers": {}, - "method": "PATCH", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles/b036578c-665f-4ff2-8785-ba4d00fc87b5", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "body": "{\"data\":{\"id\":\"b036578c-665f-4ff2-8785-ba4d00fc87b5\",\"type\":\"google-chat-organization-handle\",\"attributes\":{\"name\":\"Test-Update_organization_handle_returns_OK_response-1770751032--updated\",\"space_display_name\":\"api-test-space\",\"space_resource_name\":\"spaces/AAQA-zFIks8\"}}}", - "headers": { - "Content-Type": [ - "application/vnd.api+json" - ] - }, - "statusCode": 200, - "reasonPhrase": "OK" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "9c4b31f4-0d27-e74d-e4d3-3d0b210a73ba" - }, - { - "httpRequest": { - "headers": {}, - "method": "DELETE", - "path": "/api/v2/integration/google-chat/organizations/e54cb570-c674-529c-769d-84b312288ed7/organization-handles/b036578c-665f-4ff2-8785-ba4d00fc87b5", - "keepAlive": false, - "secure": true - }, - "httpResponse": { - "headers": {}, - "statusCode": 204, - "reasonPhrase": "No Content" - }, - "times": { - "remainingTimes": 1 - }, - "timeToLive": { - "unlimited": true - }, - "id": "029937c1-3cad-ac0e-258a-d3a4c8ac5b8a" - } -] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_status_page_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Update_status_page_returns_OK_response.freeze index bbf12a2e765..33a94695c95 100644 --- a/src/test/resources/cassettes/features/v2/Update_status_page_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Update_status_page_returns_OK_response.freeze @@ -1 +1 @@ -2026-01-21T21:23:53.747Z \ No newline at end of file +2026-02-23T20:16:34.122Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_status_page_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Update_status_page_returns_OK_response.json index 162a4670fed..eeab274dc69 100644 --- a/src/test/resources/cassettes/features/v2/Update_status_page_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Update_status_page_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"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 Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"components\":[{\"components\":[{\"name\":\"Login\",\"position\":0,\"type\":\"component\"},{\"name\":\"Settings\",\"position\":1,\"type\":\"component\"}],\"name\":\"Application\",\"type\":\"group\"}],\"domain_prefix\":\"46055b8ccdb9d0c6\",\"enabled\":true,\"name\":\"A Status Page\",\"type\":\"internal\",\"visualization_type\":\"bars_and_uptime_percentage\"},\"type\":\"status_pages\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"7ea40fc1-7f0d-4add-a8b6-b4473dd32fbe\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"13d38829-3486-4e0a-bd69-af1f6fb06ffa\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"4340fa47-d2b4-4b7b-ade8-180e3bfff52b\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"5c7ea6aa-87b5-45f1-8ca4-8f3b3276b8ed\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:34.426923Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"46055b8ccdb9d0c6\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:34.426923Z\",\"name\":\"A Status Page\",\"page_url\":\"https://frog.datadoghq.com/status-pages/7ea40fc1-7f0d-4add-a8b6-b4473dd32fbe/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,22 +27,22 @@ "timeToLive": { "unlimited": true }, - "id": "69094a38-d42f-3b4e-7e00-1fda567cbb07" + "id": "773b2534-645c-8ca0-e6cc-579712369c4b" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"A Status Page in US1\"},\"id\":\"197028d4-9c5e-420f-acb1-963ae82ebf22\",\"type\":\"status_pages\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"A Status Page in US1\"},\"id\":\"7ea40fc1-7f0d-4add-a8b6-b4473dd32fbe\",\"type\":\"status_pages\"}}" }, "headers": {}, "method": "PATCH", - "path": "/api/v2/statuspages/197028d4-9c5e-420f-acb1-963ae82ebf22", + "path": "/api/v2/statuspages/7ea40fc1-7f0d-4add-a8b6-b4473dd32fbe", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"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\"}}}}}", + "body": "{\"data\":{\"id\":\"7ea40fc1-7f0d-4add-a8b6-b4473dd32fbe\",\"type\":\"status_pages\",\"attributes\":{\"company_logo\":null,\"components\":[{\"id\":\"13d38829-3486-4e0a-bd69-af1f6fb06ffa\",\"name\":\"Application\",\"type\":\"group\",\"position\":0,\"components\":[{\"id\":\"4340fa47-d2b4-4b7b-ade8-180e3bfff52b\",\"name\":\"Login\",\"type\":\"component\",\"status\":\"operational\",\"position\":0},{\"id\":\"5c7ea6aa-87b5-45f1-8ca4-8f3b3276b8ed\",\"name\":\"Settings\",\"type\":\"component\",\"status\":\"operational\",\"position\":1}]}],\"created_at\":\"2026-02-23T20:16:34.426923Z\",\"custom_domain\":null,\"custom_domain_enabled\":false,\"domain_prefix\":\"46055b8ccdb9d0c6\",\"email_header_image\":null,\"enabled\":true,\"favicon\":null,\"modified_at\":\"2026-02-23T20:16:35.28413Z\",\"name\":\"A Status Page in US1\",\"page_url\":\"https://frog.datadoghq.com/status-pages/7ea40fc1-7f0d-4add-a8b6-b4473dd32fbe/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" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "8e23cdf0-a85d-61fe-95dc-005f2aee24c1" + "id": "4fe9a78e-388a-8ac0-4b1f-2bd3c51edb16" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/statuspages/197028d4-9c5e-420f-acb1-963ae82ebf22", + "path": "/api/v2/statuspages/7ea40fc1-7f0d-4add-a8b6-b4473dd32fbe", "keepAlive": false, "secure": true }, @@ -78,6 +78,6 @@ "timeToLive": { "unlimited": true }, - "id": "f987fa96-9230-014a-4ce8-3a28b7202533" + "id": "694155b2-b29f-3840-e9d5-6f13fe53f086" } ] \ No newline at end of file diff --git a/src/test/resources/com/datadog/api/client/v2/api/given.json b/src/test/resources/com/datadog/api/client/v2/api/given.json index 1202e4f78a1..672f982f6d0 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/given.json +++ b/src/test/resources/com/datadog/api/client/v2/api/given.json @@ -565,22 +565,6 @@ "tag": "GCP Integration", "operationId": "CreateGCPSTSAccount" }, - { - "parameters": [ - { - "name": "organization_binding_id", - "value": "\"e54cb570-c674-529c-769d-84b312288ed7\"" - }, - { - "name": "body", - "value": "{\n \"type\": \"google-chat-organization-handle\",\n \"data\": {\n \"attributes\": {\n \"name\": \"{{ unique }}\",\n \"space_resource_name\": \"spaces/AAQA-zFIks8\"\n }\n }\n}" - } - ], - "step": "there is a valid \"organization_handle\" in the system", - "key": "organization_handle", - "tag": "Google Chat Integration", - "operationId": "CreateOrganizationHandle" - }, { "parameters": [ { @@ -1299,6 +1283,22 @@ "tag": "Status Pages", "operationId": "CreateDegradation" }, + { + "parameters": [ + { + "name": "page_id", + "value": "\"{{ status_page.data.id }}\"" + }, + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"title\": \"API Maintenance\",\n \"scheduled_description\": \"We will be performing maintenance on the API to improve performance.\",\n \"in_progress_description\": \"We are currently performing maintenance on the API to improve performance.\",\n \"completed_description\": \"We have completed maintenance on the API to improve performance.\",\n \"start_date\": \"{{ timeISO('now + 1h') }}\",\n \"completed_date\": \"{{ timeISO('now + 2h') }}\",\n \"components_affected\": [\n {\n \"id\": \"{{ status_page.data.attributes.components[0].components[0].id }}\",\n \"status\": \"operational\"\n }\n ]\n },\n \"type\": \"maintenances\"\n }\n}" + } + ], + "step": "there is a valid \"maintenance\" in the system", + "key": "maintenance", + "tag": "Status Pages", + "operationId": "CreateMaintenance" + }, { "parameters": [ { diff --git a/src/test/resources/com/datadog/api/client/v2/api/google_chat_integration.feature b/src/test/resources/com/datadog/api/client/v2/api/google_chat_integration.feature deleted file mode 100644 index f722a7ea208..00000000000 --- a/src/test/resources/com/datadog/api/client/v2/api/google_chat_integration.feature +++ /dev/null @@ -1,175 +0,0 @@ -@endpoint(google-chat-integration) @endpoint(google-chat-integration-v2) -Feature: Google Chat Integration - Configure your [Datadog Google Chat - integration](https://docs.datadoghq.com/integrations/google-hangouts- - chat/) directly through the Datadog API. - - Background: - Given a valid "apiKeyAuth" key in the system - And a valid "appKeyAuth" key in the system - And an instance of "GoogleChatIntegration" API - - @generated @skip @team:DataDog/chat-integrations - Scenario: Create organization handle returns "Bad Request" response - Given new "CreateOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"name": "fake-handle-name", "space_resource_name": "spaces/AAAAAAAAA"}}, "type": "google-chat-organization-handle"} - When the request is sent - Then the response status is 400 Bad Request - - @team:DataDog/chat-integrations - Scenario: Create organization handle returns "CREATED" response - Given new "CreateOrganizationHandle" request - And request contains "organization_binding_id" parameter with value "e54cb570-c674-529c-769d-84b312288ed7" - And body with value {"data": {"attributes": {"name": "{{unique}}", "space_resource_name": "spaces/AAQA-zFIks8"}}, "type": "google-chat-organization-handle"} - When the request is sent - Then the response status is 201 CREATED - And the response "data.attributes.name" is equal to "{{unique}}" - - @generated @skip @team:DataDog/chat-integrations - Scenario: Create organization handle returns "Conflict" response - Given new "CreateOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"name": "fake-handle-name", "space_resource_name": "spaces/AAAAAAAAA"}}, "type": "google-chat-organization-handle"} - When the request is sent - Then the response status is 409 Conflict - - @generated @skip @team:DataDog/chat-integrations - Scenario: Create organization handle returns "Not Found" response - Given new "CreateOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"name": "fake-handle-name", "space_resource_name": "spaces/AAAAAAAAA"}}, "type": "google-chat-organization-handle"} - When the request is sent - Then the response status is 404 Not Found - - @generated @skip @team:DataDog/chat-integrations - Scenario: Delete organization handle returns "Bad Request" response - Given new "DeleteOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And request contains "handle_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 400 Bad Request - - @team:DataDog/chat-integrations - Scenario: Delete organization handle returns "OK" response - Given new "DeleteOrganizationHandle" request - And there is a valid "organization_handle" in the system - And request contains "organization_binding_id" parameter with value "e54cb570-c674-529c-769d-84b312288ed7" - And request contains "handle_id" parameter from "organization_handle.data.id" - When the request is sent - Then the response status is 204 OK - - @generated @skip @team:DataDog/chat-integrations - Scenario: Get all organization handles returns "Bad Request" response - Given new "ListOrganizationHandles" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 400 Bad Request - - @generated @skip @team:DataDog/chat-integrations - Scenario: Get all organization handles returns "Not Found" response - Given new "ListOrganizationHandles" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 404 Not Found - - @team:DataDog/chat-integrations - Scenario: Get all organization handles returns "OK" response - Given new "ListOrganizationHandles" request - And there is a valid "organization_handle" in the system - And request contains "organization_binding_id" parameter with value "e54cb570-c674-529c-769d-84b312288ed7" - When the request is sent - Then the response status is 200 OK - And the response "data[0].type" is equal to "google-chat-organization-handle" - - @generated @skip @team:DataDog/chat-integrations - Scenario: Get organization handle returns "Bad Request" response - Given new "GetOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And request contains "handle_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 400 Bad Request - - @generated @skip @team:DataDog/chat-integrations - Scenario: Get organization handle returns "Not Found" response - Given new "GetOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And request contains "handle_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 404 Not Found - - @team:DataDog/chat-integrations - Scenario: Get organization handle returns "OK" response - Given new "GetOrganizationHandle" request - And there is a valid "organization_handle" in the system - And request contains "organization_binding_id" parameter with value "e54cb570-c674-529c-769d-84b312288ed7" - And request contains "handle_id" parameter from "organization_handle.data.id" - When the request is sent - Then the response status is 200 OK - And the response "data.attributes.name" has the same value as "organization_handle.data.attributes.name" - And the response "data.attributes.space_display_name" has the same value as "organization_handle.data.attributes.space_display_name" - And the response "data.attributes.space_resource_name" has the same value as "organization_handle.data.attributes.space_resource_name" - - @generated @skip @team:DataDog/chat-integrations - Scenario: Get space information by display name returns "Bad Request" response - Given new "GetSpaceByDisplayName" request - And request contains "domain_name" parameter from "REPLACE.ME" - And request contains "space_display_name" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 400 Bad Request - - @generated @skip @team:DataDog/chat-integrations - Scenario: Get space information by display name returns "Not Found" response - Given new "GetSpaceByDisplayName" request - And request contains "domain_name" parameter from "REPLACE.ME" - And request contains "space_display_name" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 404 Not Found - - @team:DataDog/chat-integrations - Scenario: Get space information by display name returns "OK" response - Given new "GetSpaceByDisplayName" request - And request contains "domain_name" parameter with value "datadog.ninja" - And request contains "space_display_name" parameter with value "api-test-space" - When the request is sent - Then the response status is 200 OK - And the response "data.attributes.resource_name" is equal to "spaces/AAQA-zFIks8" - And the response "data.attributes.organization_binding_id" is equal to "e54cb570-c674-529c-769d-84b312288ed7" - - @generated @skip @team:DataDog/chat-integrations - Scenario: Update organization handle returns "Bad Request" response - Given new "UpdateOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And request contains "handle_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"name": "fake-handle-name", "space_resource_name": "spaces/AAAAAAAAA"}}, "type": "google-chat-organization-handle"} - When the request is sent - Then the response status is 400 Bad Request - - @generated @skip @team:DataDog/chat-integrations - Scenario: Update organization handle returns "Conflict" response - Given new "UpdateOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And request contains "handle_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"name": "fake-handle-name", "space_resource_name": "spaces/AAAAAAAAA"}}, "type": "google-chat-organization-handle"} - When the request is sent - Then the response status is 409 Conflict - - @generated @skip @team:DataDog/chat-integrations - Scenario: Update organization handle returns "Not Found" response - Given new "UpdateOrganizationHandle" request - And request contains "organization_binding_id" parameter from "REPLACE.ME" - And request contains "handle_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"name": "fake-handle-name", "space_resource_name": "spaces/AAAAAAAAA"}}, "type": "google-chat-organization-handle"} - When the request is sent - Then the response status is 404 Not Found - - @team:DataDog/chat-integrations - Scenario: Update organization handle returns "OK" response - Given new "UpdateOrganizationHandle" request - And there is a valid "organization_handle" in the system - And request contains "organization_binding_id" parameter with value "e54cb570-c674-529c-769d-84b312288ed7" - And request contains "handle_id" parameter from "organization_handle.data.id" - And body with value {"data": {"attributes": {"name": "{{organization_handle.data.attributes.name}}--updated"}}, "type": "google-chat-organization-handle"} - When the request is sent - Then the response status is 200 OK - And the response "data.attributes.name" is equal to "{{organization_handle.data.attributes.name}}--updated" diff --git a/src/test/resources/com/datadog/api/client/v2/api/status_pages.feature b/src/test/resources/com/datadog/api/client/v2/api/status_pages.feature index 35d80dd2fed..e8afff4d72b 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/status_pages.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/status_pages.feature @@ -10,6 +10,14 @@ Feature: Status Pages And a valid "appKeyAuth" key in the system And an instance of "StatusPages" API + @generated @skip @team:DataDog/incident-app + Scenario: Create Scheduled 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: Create component returns "Created" response Given there is a valid "status_page" in the system @@ -30,6 +38,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 @@ -64,6 +82,14 @@ Feature: Status Pages When the request is sent Then the response status is 204 No Content + @generated @skip @team:DataDog/incident-app + Scenario: Get Scheduled Maintenance returns "OK" response + Given new "GetMaintenance" request + And request contains "page_id" parameter from "REPLACE.ME" + And request contains "maintenance_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @team:DataDog/incident-app Scenario: Get component returns "OK" response Given new "GetComponent" request @@ -83,6 +109,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 +143,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 +158,15 @@ Feature: Status Pages When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Update Scheduled Maintenance returns "OK" response + Given new "UpdateMaintenance" request + And request contains "page_id" parameter from "REPLACE.ME" + And request contains "maintenance_id" parameter from "REPLACE.ME" + And body with value {"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"}} + When the request is sent + Then the response status is 200 OK + @team:DataDog/incident-app Scenario: Update component returns "OK" response Given new "UpdateComponent" request @@ -137,6 +190,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/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json index ec42a6bbb0e..03329c70128 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/undo.json +++ b/src/test/resources/com/datadog/api/client/v2/api/undo.json @@ -2257,54 +2257,6 @@ "type": "idempotent" } }, - "GetSpaceByDisplayName": { - "tag": "Google Chat Integration", - "undo": { - "type": "safe" - } - }, - "ListOrganizationHandles": { - "tag": "Google Chat Integration", - "undo": { - "type": "safe" - } - }, - "CreateOrganizationHandle": { - "tag": "Google Chat Integration", - "undo": { - "operationId": "DeleteOrganizationHandle", - "parameters": [ - { - "name": "organization_binding_id", - "origin": "path", - "source": "organization_binding_id" - }, - { - "name": "handle_id", - "source": "data.id" - } - ], - "type": "unsafe" - } - }, - "DeleteOrganizationHandle": { - "tag": "Google Chat Integration", - "undo": { - "type": "idempotent" - } - }, - "GetOrganizationHandle": { - "tag": "Google Chat Integration", - "undo": { - "type": "safe" - } - }, - "UpdateOrganizationHandle": { - "tag": "Google Chat Integration", - "undo": { - "type": "idempotent" - } - }, "ListJiraAccounts": { "tag": "Jira Integration", "undo": { @@ -5338,6 +5290,12 @@ "type": "safe" } }, + "ListMaintenances": { + "tag": "Status Pages", + "undo": { + "type": "safe" + } + }, "DeleteStatusPage": { "tag": "Status Pages", "undo": { @@ -5432,6 +5390,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": {