From 1ea0b6ebe90d58818efbc538c6b42642eee98cf3 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Fri, 7 Aug 2026 15:23:32 +0000 Subject: [PATCH] Regenerate client from commit 1e0b6ab of spec repo --- .generator/schemas/v2/openapi.yaml | 242 ++++++++++++++++++ docs/datadog_api_client.v2.model.rst | 91 +++++++ .../v2/status-pages/PatchMaintenanceUpdate.py | 35 +++ .../v2/api/status_pages_api.py | 71 +++++ .../v2/model/maintenance_update.py | 42 +++ .../v2/model/maintenance_update_data.py | 78 ++++++ .../maintenance_update_data_attributes.py | 107 ++++++++ ...intenance_update_data_attributes_status.py | 44 ++++ .../maintenance_update_data_relationships.py | 72 ++++++ ...e_update_data_relationships_maintenance.py | 44 ++++ ...ate_data_relationships_maintenance_data.py | 47 ++++ ...ntenance_update_data_relationships_user.py | 44 ++++ ...nce_update_data_relationships_user_data.py | 47 ++++ ...tch_maintenance_request_data_attributes.py | 8 + .../model/patch_maintenance_update_request.py | 42 +++ .../patch_maintenance_update_request_data.py | 71 +++++ ...ntenance_update_request_data_attributes.py | 36 +++ ...ch_maintenance_update_request_data_type.py | 35 +++ src/datadog_api_client/v2/models/__init__.py | 36 +++ tests/v2/features/status_pages.feature | 10 + tests/v2/features/undo.json | 6 + 21 files changed, 1208 insertions(+) create mode 100644 examples/v2/status-pages/PatchMaintenanceUpdate.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update_data.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update_data_attributes_status.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update_data_relationships.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update_data_relationships_maintenance.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update_data_relationships_maintenance_data.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update_data_relationships_user.py create mode 100644 src/datadog_api_client/v2/model/maintenance_update_data_relationships_user_data.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_update_request.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_update_request_data.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_update_request_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/patch_maintenance_update_request_data_type.py diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 397d1a8cdc..cee2fcc707 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -64693,6 +64693,126 @@ components: - type - id type: object + MaintenanceUpdate: + description: Response object for a maintenance update. + properties: + data: + $ref: "#/components/schemas/MaintenanceUpdateData" + type: object + MaintenanceUpdateData: + description: The data object for a maintenance update. + properties: + attributes: + $ref: "#/components/schemas/MaintenanceUpdateDataAttributes" + id: + description: The ID of the maintenance update. + example: "1234abcd-12ab-34cd-56ef-123456abcdef" + format: uuid + type: string + relationships: + $ref: "#/components/schemas/MaintenanceUpdateDataRelationships" + type: + $ref: "#/components/schemas/PatchMaintenanceUpdateRequestDataType" + required: + - id + - type + type: object + MaintenanceUpdateDataAttributes: + description: Attributes of a maintenance update resource. + properties: + components_affected: + description: Components affected at the time of the update. + items: + $ref: "#/components/schemas/CreateMaintenanceRequestDataAttributesComponentsAffectedItems" + type: array + created_at: + description: The date and time the update was created. + format: date-time + type: string + description: + description: The message body of the update. + type: string + manual_transition: + description: Whether the update was applied manually by a user (true) or automatically by the system (false). + type: boolean + modified_at: + description: The date and time the update was last modified. + format: date-time + type: string + started_at: + description: The date and time the update started. + format: date-time + type: string + status: + $ref: "#/components/schemas/MaintenanceUpdateDataAttributesStatus" + type: object + MaintenanceUpdateDataAttributesStatus: + description: The status of the maintenance update. + enum: + - scheduled + - in_progress + - completed + - canceled + type: string + x-enum-varnames: + - SCHEDULED + - IN_PROGRESS + - COMPLETED + - CANCELED + MaintenanceUpdateDataRelationships: + description: Relationships of a maintenance update resource. + properties: + created_by_user: + $ref: "#/components/schemas/MaintenanceUpdateDataRelationshipsUser" + last_modified_by_user: + $ref: "#/components/schemas/MaintenanceUpdateDataRelationshipsUser" + maintenance: + $ref: "#/components/schemas/MaintenanceUpdateDataRelationshipsMaintenance" + type: object + MaintenanceUpdateDataRelationshipsMaintenance: + description: The parent maintenance of the update. + properties: + data: + $ref: "#/components/schemas/MaintenanceUpdateDataRelationshipsMaintenanceData" + required: + - data + type: object + MaintenanceUpdateDataRelationshipsMaintenanceData: + description: The maintenance linked to a maintenance update. + properties: + id: + description: The ID of the maintenance. + example: "" + format: uuid + type: string + type: + $ref: "#/components/schemas/PatchMaintenanceRequestDataType" + required: + - type + - id + type: object + MaintenanceUpdateDataRelationshipsUser: + description: A user relationship of a maintenance update. + properties: + data: + $ref: "#/components/schemas/MaintenanceUpdateDataRelationshipsUserData" + required: + - data + type: object + MaintenanceUpdateDataRelationshipsUserData: + description: The data object identifying a Datadog user linked to a maintenance update. + properties: + id: + description: The ID of the Datadog user. + example: "" + format: uuid + type: string + type: + $ref: "#/components/schemas/StatusPagesUserType" + required: + - type + - id + type: object MaintenanceWindow: description: A maintenance window that defines a scheduled time period during which case-related notifications and automation rules are suppressed. Each maintenance window applies to cases matching a specified query. properties: @@ -80255,6 +80375,9 @@ components: PatchMaintenanceRequestDataAttributes: description: The supported attributes for updating a maintenance. properties: + canceled_description: + description: The description shown when the maintenance is canceled. + type: string completed_date: description: Timestamp of when the maintenance was completed. format: date-time @@ -80403,6 +80526,50 @@ components: type: string x-enum-varnames: - MAINTENANCE_TEMPLATES + PatchMaintenanceUpdateRequest: + description: Request object for editing a maintenance update. + example: + data: + attributes: + description: We have completed maintenance on the API to improve performance. + id: 00000000-0000-0000-0000-000000000000 + type: maintenance_updates + properties: + data: + $ref: "#/components/schemas/PatchMaintenanceUpdateRequestData" + type: object + PatchMaintenanceUpdateRequestData: + description: The data object for editing a maintenance update. + properties: + attributes: + $ref: "#/components/schemas/PatchMaintenanceUpdateRequestDataAttributes" + id: + description: The ID of the maintenance update to edit. Must match the `update_id` path parameter. + example: "1234abcd-12ab-34cd-56ef-123456abcdef" + type: string + type: + $ref: "#/components/schemas/PatchMaintenanceUpdateRequestDataType" + required: + - id + - type + type: object + PatchMaintenanceUpdateRequestDataAttributes: + description: Attributes for editing a maintenance update. + properties: + description: + description: The message body of the update. + example: "" + type: string + type: object + PatchMaintenanceUpdateRequestDataType: + default: maintenance_updates + description: Maintenance updates resource type. + enum: + - maintenance_updates + example: maintenance_updates + type: string + x-enum-varnames: + - MAINTENANCE_UPDATES PatchNotificationRuleParameters: description: Body of the notification rule patch request. properties: @@ -203994,6 +204161,81 @@ paths: operator: AND permissions: - status_pages_incident_write + /api/v2/statuspages/{page_id}/maintenances/{maintenance_id}/updates/{update_id}: + patch: + description: Edits the message of a specific maintenance update. Editing is allowed regardless of the parent maintenance's status, including completed and canceled maintenances. + operationId: PatchMaintenanceUpdate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the maintenance. + in: path + name: maintenance_id + required: true + schema: + format: uuid + type: string + - description: The ID of the maintenance update. + in: path + name: update_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: We have completed maintenance on the API to improve performance. + id: 00000000-0000-0000-0000-000000000000 + type: maintenance_updates + schema: + $ref: "#/components/schemas/PatchMaintenanceUpdateRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: [] + created_at: "2026-04-27T13:37:31+00:00" + description: We have completed maintenance on the API to improve performance. + manual_transition: true + modified_at: "2026-04-27T14:37:31+00:00" + started_at: "2026-04-27T13:37:31+00:00" + status: completed + id: 00000000-0000-0000-0000-000000000000 + type: maintenance_updates + schema: + $ref: "#/components/schemas/MaintenanceUpdate" + description: OK + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Edit maintenance update + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write /api/v2/statuspages/{page_id}/publish: post: description: Publishes a status page. For pages of type `public`, makes the status page available on the public internet and requires the `status_pages_public_page_publish` permission. For pages of type `internal`, makes the status page available under the `status-pages/$domain_prefix/view` route within the Datadog organization and requires the `status_pages_internal_page_publish` permission. The `status_pages_settings_write` permission is temporarily honored as we migrate publishing functionality from the update status page endpoint to the publish status page endpoint. diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index dd56032ba7..47ce269546 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -26709,6 +26709,69 @@ datadog\_api\_client.v2.model.maintenance\_template\_data\_relationships\_status :members: :show-inheritance: +datadog\_api\_client.v2.model.maintenance\_update module +-------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_update + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_update\_data module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_update_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_update\_data\_attributes module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_update_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_update\_data\_attributes\_status module +---------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_update_data_attributes_status + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_update\_data\_relationships module +----------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_update_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_update\_data\_relationships\_maintenance module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.maintenance_update_data_relationships_maintenance + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_update\_data\_relationships\_maintenance\_data module +------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.maintenance_update_data_relationships_maintenance_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_update\_data\_relationships\_user module +----------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_update_data_relationships_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.maintenance\_update\_data\_relationships\_user\_data module +----------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.maintenance_update_data_relationships_user_data + :members: + :show-inheritance: + datadog\_api\_client.v2.model.maintenance\_window module -------------------------------------------------------- @@ -33919,6 +33982,34 @@ datadog\_api\_client.v2.model.patch\_maintenance\_template\_request\_data\_type :members: :show-inheritance: +datadog\_api\_client.v2.model.patch\_maintenance\_update\_request module +------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_update_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_maintenance\_update\_request\_data module +------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_update_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_maintenance\_update\_request\_data\_attributes module +------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_update_request_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.patch\_maintenance\_update\_request\_data\_type module +------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.patch_maintenance_update_request_data_type + :members: + :show-inheritance: + datadog\_api\_client.v2.model.patch\_notification\_rule\_parameters module -------------------------------------------------------------------------- diff --git a/examples/v2/status-pages/PatchMaintenanceUpdate.py b/examples/v2/status-pages/PatchMaintenanceUpdate.py new file mode 100644 index 0000000000..373abdf9ec --- /dev/null +++ b/examples/v2/status-pages/PatchMaintenanceUpdate.py @@ -0,0 +1,35 @@ +""" +Edit maintenance update returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.status_pages_api import StatusPagesApi +from datadog_api_client.v2.model.patch_maintenance_update_request import PatchMaintenanceUpdateRequest +from datadog_api_client.v2.model.patch_maintenance_update_request_data import PatchMaintenanceUpdateRequestData +from datadog_api_client.v2.model.patch_maintenance_update_request_data_attributes import ( + PatchMaintenanceUpdateRequestDataAttributes, +) +from datadog_api_client.v2.model.patch_maintenance_update_request_data_type import PatchMaintenanceUpdateRequestDataType +from uuid import UUID + +body = PatchMaintenanceUpdateRequest( + data=PatchMaintenanceUpdateRequestData( + attributes=PatchMaintenanceUpdateRequestDataAttributes( + description="We have completed maintenance on the API to improve performance.", + ), + id="00000000-0000-0000-0000-000000000000", + type=PatchMaintenanceUpdateRequestDataType.MAINTENANCE_UPDATES, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = StatusPagesApi(api_client) + response = api_instance.patch_maintenance_update( + page_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + maintenance_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + update_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + body=body, + ) + + print(response) diff --git a/src/datadog_api_client/v2/api/status_pages_api.py b/src/datadog_api_client/v2/api/status_pages_api.py index e5de44c66c..adf0114c13 100644 --- a/src/datadog_api_client/v2/api/status_pages_api.py +++ b/src/datadog_api_client/v2/api/status_pages_api.py @@ -40,6 +40,8 @@ from datadog_api_client.v2.model.create_maintenance_request import CreateMaintenanceRequest from datadog_api_client.v2.model.create_backfilled_maintenance_request import CreateBackfilledMaintenanceRequest from datadog_api_client.v2.model.patch_maintenance_request import PatchMaintenanceRequest +from datadog_api_client.v2.model.maintenance_update import MaintenanceUpdate +from datadog_api_client.v2.model.patch_maintenance_update_request import PatchMaintenanceUpdateRequest class StatusPagesApi: @@ -904,6 +906,44 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._patch_maintenance_update_endpoint = _Endpoint( + settings={ + "response_type": (MaintenanceUpdate,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/statuspages/{page_id}/maintenances/{maintenance_id}/updates/{update_id}", + "operation_id": "patch_maintenance_update", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "page_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "page_id", + "location": "path", + }, + "maintenance_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "maintenance_id", + "location": "path", + }, + "update_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "update_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (PatchMaintenanceUpdateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._publish_status_page_endpoint = _Endpoint( settings={ "response_type": None, @@ -1972,6 +2012,37 @@ def list_status_pages( return self._list_status_pages_endpoint.call_with_http_info(**kwargs) + def patch_maintenance_update( + self, + page_id: UUID, + maintenance_id: UUID, + update_id: UUID, + body: PatchMaintenanceUpdateRequest, + ) -> MaintenanceUpdate: + """Edit maintenance update. + + Edits the message of a specific maintenance update. Editing is allowed regardless of the parent maintenance's status, including completed and canceled maintenances. + + :param page_id: The ID of the status page. + :type page_id: UUID + :param maintenance_id: The ID of the maintenance. + :type maintenance_id: UUID + :param update_id: The ID of the maintenance update. + :type update_id: UUID + :type body: PatchMaintenanceUpdateRequest + :rtype: MaintenanceUpdate + """ + kwargs: Dict[str, Any] = {} + kwargs["page_id"] = page_id + + kwargs["maintenance_id"] = maintenance_id + + kwargs["update_id"] = update_id + + kwargs["body"] = body + + return self._patch_maintenance_update_endpoint.call_with_http_info(**kwargs) + def publish_status_page( self, page_id: UUID, diff --git a/src/datadog_api_client/v2/model/maintenance_update.py b/src/datadog_api_client/v2/model/maintenance_update.py new file mode 100644 index 0000000000..6828de279b --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.maintenance_update_data import MaintenanceUpdateData + + +class MaintenanceUpdate(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_update_data import MaintenanceUpdateData + + return { + "data": (MaintenanceUpdateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[MaintenanceUpdateData, UnsetType] = unset, **kwargs): + """ + Response object for a maintenance update. + + :param data: The data object for a maintenance update. + :type data: MaintenanceUpdateData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/maintenance_update_data.py b/src/datadog_api_client/v2/model/maintenance_update_data.py new file mode 100644 index 0000000000..84a49c4e52 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update_data.py @@ -0,0 +1,78 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.maintenance_update_data_attributes import MaintenanceUpdateDataAttributes + from datadog_api_client.v2.model.maintenance_update_data_relationships import MaintenanceUpdateDataRelationships + from datadog_api_client.v2.model.patch_maintenance_update_request_data_type import ( + PatchMaintenanceUpdateRequestDataType, + ) + + +class MaintenanceUpdateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_update_data_attributes import MaintenanceUpdateDataAttributes + from datadog_api_client.v2.model.maintenance_update_data_relationships import MaintenanceUpdateDataRelationships + from datadog_api_client.v2.model.patch_maintenance_update_request_data_type import ( + PatchMaintenanceUpdateRequestDataType, + ) + + return { + "attributes": (MaintenanceUpdateDataAttributes,), + "id": (UUID,), + "relationships": (MaintenanceUpdateDataRelationships,), + "type": (PatchMaintenanceUpdateRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + id: UUID, + type: PatchMaintenanceUpdateRequestDataType, + attributes: Union[MaintenanceUpdateDataAttributes, UnsetType] = unset, + relationships: Union[MaintenanceUpdateDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + The data object for a maintenance update. + + :param attributes: Attributes of a maintenance update resource. + :type attributes: MaintenanceUpdateDataAttributes, optional + + :param id: The ID of the maintenance update. + :type id: UUID + + :param relationships: Relationships of a maintenance update resource. + :type relationships: MaintenanceUpdateDataRelationships, optional + + :param type: Maintenance updates resource type. + :type type: PatchMaintenanceUpdateRequestDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/maintenance_update_data_attributes.py b/src/datadog_api_client/v2/model/maintenance_update_data_attributes.py new file mode 100644 index 0000000000..e9478f16b4 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update_data_attributes.py @@ -0,0 +1,107 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.create_maintenance_request_data_attributes_components_affected_items import ( + CreateMaintenanceRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.maintenance_update_data_attributes_status import ( + MaintenanceUpdateDataAttributesStatus, + ) + + +class MaintenanceUpdateDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.create_maintenance_request_data_attributes_components_affected_items import ( + CreateMaintenanceRequestDataAttributesComponentsAffectedItems, + ) + from datadog_api_client.v2.model.maintenance_update_data_attributes_status import ( + MaintenanceUpdateDataAttributesStatus, + ) + + return { + "components_affected": ([CreateMaintenanceRequestDataAttributesComponentsAffectedItems],), + "created_at": (datetime,), + "description": (str,), + "manual_transition": (bool,), + "modified_at": (datetime,), + "started_at": (datetime,), + "status": (MaintenanceUpdateDataAttributesStatus,), + } + + attribute_map = { + "components_affected": "components_affected", + "created_at": "created_at", + "description": "description", + "manual_transition": "manual_transition", + "modified_at": "modified_at", + "started_at": "started_at", + "status": "status", + } + + def __init__( + self_, + components_affected: Union[ + List[CreateMaintenanceRequestDataAttributesComponentsAffectedItems], UnsetType + ] = unset, + created_at: Union[datetime, UnsetType] = unset, + description: Union[str, UnsetType] = unset, + manual_transition: Union[bool, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + started_at: Union[datetime, UnsetType] = unset, + status: Union[MaintenanceUpdateDataAttributesStatus, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a maintenance update resource. + + :param components_affected: Components affected at the time of the update. + :type components_affected: [CreateMaintenanceRequestDataAttributesComponentsAffectedItems], optional + + :param created_at: The date and time the update was created. + :type created_at: datetime, optional + + :param description: The message body of the update. + :type description: str, optional + + :param manual_transition: Whether the update was applied manually by a user (true) or automatically by the system (false). + :type manual_transition: bool, optional + + :param modified_at: The date and time the update was last modified. + :type modified_at: datetime, optional + + :param started_at: The date and time the update started. + :type started_at: datetime, optional + + :param status: The status of the maintenance update. + :type status: MaintenanceUpdateDataAttributesStatus, optional + """ + if components_affected is not unset: + kwargs["components_affected"] = components_affected + if created_at is not unset: + kwargs["created_at"] = created_at + if description is not unset: + kwargs["description"] = description + if manual_transition is not unset: + kwargs["manual_transition"] = manual_transition + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if started_at is not unset: + kwargs["started_at"] = started_at + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/maintenance_update_data_attributes_status.py b/src/datadog_api_client/v2/model/maintenance_update_data_attributes_status.py new file mode 100644 index 0000000000..5f63044a84 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update_data_attributes_status.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class MaintenanceUpdateDataAttributesStatus(ModelSimple): + """ + The status of the maintenance update. + + :param value: Must be one of ["scheduled", "in_progress", "completed", "canceled"]. + :type value: str + """ + + allowed_values = { + "scheduled", + "in_progress", + "completed", + "canceled", + } + SCHEDULED: ClassVar["MaintenanceUpdateDataAttributesStatus"] + IN_PROGRESS: ClassVar["MaintenanceUpdateDataAttributesStatus"] + COMPLETED: ClassVar["MaintenanceUpdateDataAttributesStatus"] + CANCELED: ClassVar["MaintenanceUpdateDataAttributesStatus"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +MaintenanceUpdateDataAttributesStatus.SCHEDULED = MaintenanceUpdateDataAttributesStatus("scheduled") +MaintenanceUpdateDataAttributesStatus.IN_PROGRESS = MaintenanceUpdateDataAttributesStatus("in_progress") +MaintenanceUpdateDataAttributesStatus.COMPLETED = MaintenanceUpdateDataAttributesStatus("completed") +MaintenanceUpdateDataAttributesStatus.CANCELED = MaintenanceUpdateDataAttributesStatus("canceled") diff --git a/src/datadog_api_client/v2/model/maintenance_update_data_relationships.py b/src/datadog_api_client/v2/model/maintenance_update_data_relationships.py new file mode 100644 index 0000000000..ea3e942347 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update_data_relationships.py @@ -0,0 +1,72 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.maintenance_update_data_relationships_user import ( + MaintenanceUpdateDataRelationshipsUser, + ) + from datadog_api_client.v2.model.maintenance_update_data_relationships_maintenance import ( + MaintenanceUpdateDataRelationshipsMaintenance, + ) + + +class MaintenanceUpdateDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_update_data_relationships_user import ( + MaintenanceUpdateDataRelationshipsUser, + ) + from datadog_api_client.v2.model.maintenance_update_data_relationships_maintenance import ( + MaintenanceUpdateDataRelationshipsMaintenance, + ) + + return { + "created_by_user": (MaintenanceUpdateDataRelationshipsUser,), + "last_modified_by_user": (MaintenanceUpdateDataRelationshipsUser,), + "maintenance": (MaintenanceUpdateDataRelationshipsMaintenance,), + } + + attribute_map = { + "created_by_user": "created_by_user", + "last_modified_by_user": "last_modified_by_user", + "maintenance": "maintenance", + } + + def __init__( + self_, + created_by_user: Union[MaintenanceUpdateDataRelationshipsUser, UnsetType] = unset, + last_modified_by_user: Union[MaintenanceUpdateDataRelationshipsUser, UnsetType] = unset, + maintenance: Union[MaintenanceUpdateDataRelationshipsMaintenance, UnsetType] = unset, + **kwargs, + ): + """ + Relationships of a maintenance update resource. + + :param created_by_user: A user relationship of a maintenance update. + :type created_by_user: MaintenanceUpdateDataRelationshipsUser, optional + + :param last_modified_by_user: A user relationship of a maintenance update. + :type last_modified_by_user: MaintenanceUpdateDataRelationshipsUser, optional + + :param maintenance: The parent maintenance of the update. + :type maintenance: MaintenanceUpdateDataRelationshipsMaintenance, optional + """ + if created_by_user is not unset: + kwargs["created_by_user"] = created_by_user + if last_modified_by_user is not unset: + kwargs["last_modified_by_user"] = last_modified_by_user + if maintenance is not unset: + kwargs["maintenance"] = maintenance + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/maintenance_update_data_relationships_maintenance.py b/src/datadog_api_client/v2/model/maintenance_update_data_relationships_maintenance.py new file mode 100644 index 0000000000..0bb5b99b4a --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update_data_relationships_maintenance.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.maintenance_update_data_relationships_maintenance_data import ( + MaintenanceUpdateDataRelationshipsMaintenanceData, + ) + + +class MaintenanceUpdateDataRelationshipsMaintenance(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_update_data_relationships_maintenance_data import ( + MaintenanceUpdateDataRelationshipsMaintenanceData, + ) + + return { + "data": (MaintenanceUpdateDataRelationshipsMaintenanceData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: MaintenanceUpdateDataRelationshipsMaintenanceData, **kwargs): + """ + The parent maintenance of the update. + + :param data: The maintenance linked to a maintenance update. + :type data: MaintenanceUpdateDataRelationshipsMaintenanceData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/maintenance_update_data_relationships_maintenance_data.py b/src/datadog_api_client/v2/model/maintenance_update_data_relationships_maintenance_data.py new file mode 100644 index 0000000000..72dec028ab --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update_data_relationships_maintenance_data.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + + +class MaintenanceUpdateDataRelationshipsMaintenanceData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_request_data_type import PatchMaintenanceRequestDataType + + return { + "id": (UUID,), + "type": (PatchMaintenanceRequestDataType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: PatchMaintenanceRequestDataType, **kwargs): + """ + The maintenance linked to a maintenance update. + + :param id: The ID of the maintenance. + :type id: UUID + + :param type: Maintenances resource type. + :type type: PatchMaintenanceRequestDataType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/maintenance_update_data_relationships_user.py b/src/datadog_api_client/v2/model/maintenance_update_data_relationships_user.py new file mode 100644 index 0000000000..c1f5ae00b4 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update_data_relationships_user.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.maintenance_update_data_relationships_user_data import ( + MaintenanceUpdateDataRelationshipsUserData, + ) + + +class MaintenanceUpdateDataRelationshipsUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.maintenance_update_data_relationships_user_data import ( + MaintenanceUpdateDataRelationshipsUserData, + ) + + return { + "data": (MaintenanceUpdateDataRelationshipsUserData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: MaintenanceUpdateDataRelationshipsUserData, **kwargs): + """ + A user relationship of a maintenance update. + + :param data: The data object identifying a Datadog user linked to a maintenance update. + :type data: MaintenanceUpdateDataRelationshipsUserData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/maintenance_update_data_relationships_user_data.py b/src/datadog_api_client/v2/model/maintenance_update_data_relationships_user_data.py new file mode 100644 index 0000000000..e529ac8382 --- /dev/null +++ b/src/datadog_api_client/v2/model/maintenance_update_data_relationships_user_data.py @@ -0,0 +1,47 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + +class MaintenanceUpdateDataRelationshipsUserData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.status_pages_user_type import StatusPagesUserType + + return { + "id": (UUID,), + "type": (StatusPagesUserType,), + } + + attribute_map = { + "id": "id", + "type": "type", + } + + def __init__(self_, id: UUID, type: StatusPagesUserType, **kwargs): + """ + The data object identifying a Datadog user linked to a maintenance update. + + :param id: The ID of the Datadog user. + :type id: UUID + + :param type: Users resource type. + :type type: StatusPagesUserType + """ + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes.py index 6d694ffc0f..13ff5eb68a 100644 --- a/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes.py +++ b/src/datadog_api_client/v2/model/patch_maintenance_request_data_attributes.py @@ -30,6 +30,7 @@ def openapi_types(_): from datadog_api_client.v2.model.maintenance_data_attributes_status import MaintenanceDataAttributesStatus return { + "canceled_description": (str,), "completed_date": (datetime,), "completed_description": (str,), "components_affected": ([PatchMaintenanceRequestDataAttributesComponentsAffectedItems],), @@ -41,6 +42,7 @@ def openapi_types(_): } attribute_map = { + "canceled_description": "canceled_description", "completed_date": "completed_date", "completed_description": "completed_description", "components_affected": "components_affected", @@ -53,6 +55,7 @@ def openapi_types(_): def __init__( self_, + canceled_description: Union[str, UnsetType] = unset, completed_date: Union[datetime, UnsetType] = unset, completed_description: Union[str, UnsetType] = unset, components_affected: Union[ @@ -68,6 +71,9 @@ def __init__( """ The supported attributes for updating a maintenance. + :param canceled_description: The description shown when the maintenance is canceled. + :type canceled_description: str, optional + :param completed_date: Timestamp of when the maintenance was completed. :type completed_date: datetime, optional @@ -92,6 +98,8 @@ def __init__( :param title: The title of the maintenance. :type title: str, optional """ + if canceled_description is not unset: + kwargs["canceled_description"] = canceled_description if completed_date is not unset: kwargs["completed_date"] = completed_date if completed_description is not unset: diff --git a/src/datadog_api_client/v2/model/patch_maintenance_update_request.py b/src/datadog_api_client/v2/model/patch_maintenance_update_request.py new file mode 100644 index 0000000000..080b75708c --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_update_request.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_maintenance_update_request_data import PatchMaintenanceUpdateRequestData + + +class PatchMaintenanceUpdateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_update_request_data import PatchMaintenanceUpdateRequestData + + return { + "data": (PatchMaintenanceUpdateRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[PatchMaintenanceUpdateRequestData, UnsetType] = unset, **kwargs): + """ + Request object for editing a maintenance update. + + :param data: The data object for editing a maintenance update. + :type data: PatchMaintenanceUpdateRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_maintenance_update_request_data.py b/src/datadog_api_client/v2/model/patch_maintenance_update_request_data.py new file mode 100644 index 0000000000..0871e1929e --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_update_request_data.py @@ -0,0 +1,71 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.patch_maintenance_update_request_data_attributes import ( + PatchMaintenanceUpdateRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_maintenance_update_request_data_type import ( + PatchMaintenanceUpdateRequestDataType, + ) + + +class PatchMaintenanceUpdateRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.patch_maintenance_update_request_data_attributes import ( + PatchMaintenanceUpdateRequestDataAttributes, + ) + from datadog_api_client.v2.model.patch_maintenance_update_request_data_type import ( + PatchMaintenanceUpdateRequestDataType, + ) + + return { + "attributes": (PatchMaintenanceUpdateRequestDataAttributes,), + "id": (str,), + "type": (PatchMaintenanceUpdateRequestDataType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + id: str, + type: PatchMaintenanceUpdateRequestDataType, + attributes: Union[PatchMaintenanceUpdateRequestDataAttributes, UnsetType] = unset, + **kwargs, + ): + """ + The data object for editing a maintenance update. + + :param attributes: Attributes for editing a maintenance update. + :type attributes: PatchMaintenanceUpdateRequestDataAttributes, optional + + :param id: The ID of the maintenance update to edit. Must match the ``update_id`` path parameter. + :type id: str + + :param type: Maintenance updates resource type. + :type type: PatchMaintenanceUpdateRequestDataType + """ + if attributes is not unset: + kwargs["attributes"] = attributes + super().__init__(kwargs) + + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/patch_maintenance_update_request_data_attributes.py b/src/datadog_api_client/v2/model/patch_maintenance_update_request_data_attributes.py new file mode 100644 index 0000000000..d085afe374 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_update_request_data_attributes.py @@ -0,0 +1,36 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class PatchMaintenanceUpdateRequestDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "description": (str,), + } + + attribute_map = { + "description": "description", + } + + def __init__(self_, description: Union[str, UnsetType] = unset, **kwargs): + """ + Attributes for editing a maintenance update. + + :param description: The message body of the update. + :type description: str, optional + """ + if description is not unset: + kwargs["description"] = description + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/patch_maintenance_update_request_data_type.py b/src/datadog_api_client/v2/model/patch_maintenance_update_request_data_type.py new file mode 100644 index 0000000000..220ac5c9b8 --- /dev/null +++ b/src/datadog_api_client/v2/model/patch_maintenance_update_request_data_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class PatchMaintenanceUpdateRequestDataType(ModelSimple): + """ + Maintenance updates resource type. + + :param value: If omitted defaults to "maintenance_updates". Must be one of ["maintenance_updates"]. + :type value: str + """ + + allowed_values = { + "maintenance_updates", + } + MAINTENANCE_UPDATES: ClassVar["PatchMaintenanceUpdateRequestDataType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +PatchMaintenanceUpdateRequestDataType.MAINTENANCE_UPDATES = PatchMaintenanceUpdateRequestDataType("maintenance_updates") diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 6dcd30db0f..6395dfdd42 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -5112,6 +5112,23 @@ from datadog_api_client.v2.model.maintenance_template_data_relationships_status_page_data import ( MaintenanceTemplateDataRelationshipsStatusPageData, ) +from datadog_api_client.v2.model.maintenance_update import MaintenanceUpdate +from datadog_api_client.v2.model.maintenance_update_data import MaintenanceUpdateData +from datadog_api_client.v2.model.maintenance_update_data_attributes import MaintenanceUpdateDataAttributes +from datadog_api_client.v2.model.maintenance_update_data_attributes_status import MaintenanceUpdateDataAttributesStatus +from datadog_api_client.v2.model.maintenance_update_data_relationships import MaintenanceUpdateDataRelationships +from datadog_api_client.v2.model.maintenance_update_data_relationships_maintenance import ( + MaintenanceUpdateDataRelationshipsMaintenance, +) +from datadog_api_client.v2.model.maintenance_update_data_relationships_maintenance_data import ( + MaintenanceUpdateDataRelationshipsMaintenanceData, +) +from datadog_api_client.v2.model.maintenance_update_data_relationships_user import ( + MaintenanceUpdateDataRelationshipsUser, +) +from datadog_api_client.v2.model.maintenance_update_data_relationships_user_data import ( + MaintenanceUpdateDataRelationshipsUserData, +) from datadog_api_client.v2.model.maintenance_window import MaintenanceWindow from datadog_api_client.v2.model.maintenance_window_attributes import MaintenanceWindowAttributes from datadog_api_client.v2.model.maintenance_window_create import MaintenanceWindowCreate @@ -6914,6 +6931,12 @@ from datadog_api_client.v2.model.patch_maintenance_template_request_data_type import ( PatchMaintenanceTemplateRequestDataType, ) +from datadog_api_client.v2.model.patch_maintenance_update_request import PatchMaintenanceUpdateRequest +from datadog_api_client.v2.model.patch_maintenance_update_request_data import PatchMaintenanceUpdateRequestData +from datadog_api_client.v2.model.patch_maintenance_update_request_data_attributes import ( + PatchMaintenanceUpdateRequestDataAttributes, +) +from datadog_api_client.v2.model.patch_maintenance_update_request_data_type import PatchMaintenanceUpdateRequestDataType from datadog_api_client.v2.model.patch_notification_rule_parameters import PatchNotificationRuleParameters from datadog_api_client.v2.model.patch_notification_rule_parameters_data import PatchNotificationRuleParametersData from datadog_api_client.v2.model.patch_notification_rule_parameters_data_attributes import ( @@ -14369,6 +14392,15 @@ "MaintenanceTemplateDataRelationshipsLastModifiedByUserData", "MaintenanceTemplateDataRelationshipsStatusPage", "MaintenanceTemplateDataRelationshipsStatusPageData", + "MaintenanceUpdate", + "MaintenanceUpdateData", + "MaintenanceUpdateDataAttributes", + "MaintenanceUpdateDataAttributesStatus", + "MaintenanceUpdateDataRelationships", + "MaintenanceUpdateDataRelationshipsMaintenance", + "MaintenanceUpdateDataRelationshipsMaintenanceData", + "MaintenanceUpdateDataRelationshipsUser", + "MaintenanceUpdateDataRelationshipsUserData", "MaintenanceWindow", "MaintenanceWindowAttributes", "MaintenanceWindowCreate", @@ -15399,6 +15431,10 @@ "PatchMaintenanceTemplateRequestData", "PatchMaintenanceTemplateRequestDataAttributes", "PatchMaintenanceTemplateRequestDataType", + "PatchMaintenanceUpdateRequest", + "PatchMaintenanceUpdateRequestData", + "PatchMaintenanceUpdateRequestDataAttributes", + "PatchMaintenanceUpdateRequestDataType", "PatchNotificationRuleParameters", "PatchNotificationRuleParametersData", "PatchNotificationRuleParametersDataAttributes", diff --git a/tests/v2/features/status_pages.feature b/tests/v2/features/status_pages.feature index c7f922bf6c..95da2ead98 100644 --- a/tests/v2/features/status_pages.feature +++ b/tests/v2/features/status_pages.feature @@ -136,6 +136,16 @@ Feature: Status Pages When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/incident-app + Scenario: Edit maintenance update returns "OK" response + Given new "PatchMaintenanceUpdate" request + And request contains "page_id" parameter from "REPLACE.ME" + And request contains "maintenance_id" parameter from "REPLACE.ME" + And request contains "update_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"description": "We have completed maintenance on the API to improve performance."}, "id": "00000000-0000-0000-0000-000000000000", "type": "maintenance_updates"}} + 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 diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index 9903d959ff..a54a17720c 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -9185,6 +9185,12 @@ "type": "idempotent" } }, + "PatchMaintenanceUpdate": { + "tag": "Status Pages", + "undo": { + "type": "idempotent" + } + }, "PublishStatusPage": { "tag": "Status Pages", "undo": {