From 74ace2a5edcc9d718c4a3c3de8f302cbb7df4c6b Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 5 Oct 2023 20:06:52 +0000 Subject: [PATCH] Regenerate client from commit f7a95272 of spec repo --- .apigentools-info | 8 +- .generator/schemas/v2/openapi.yaml | 188 +++++++++++++++--- docs/datadog_api_client.v2.model.rst | 49 ++++- examples/v2/powerpack/CreatePowerpack.py | 30 ++- ...{GetAllPowerpacks.py => ListPowerpacks.py} | 2 +- examples/v2/powerpack/UpdatePowerpack.py | 30 ++- .../v2/api/powerpack_api.py | 58 +++--- ...esponse.py => list_powerpacks_response.py} | 2 +- .../v2/model/powerpack_attributes.py | 29 +-- .../v2/model/powerpack_group_widget.py | 56 ++++++ .../powerpack_group_widget_definition.py | 76 +++++++ .../v2/model/powerpack_group_widget_layout.py | 66 ++++++ .../v2/model/powerpack_inner_widget_layout.py | 66 ++++++ .../v2/model/powerpack_inner_widgets.py | 68 +++++++ src/datadog_api_client/v2/models/__init__.py | 14 +- ...erpack_returns_bad_request_response.frozen | 2 +- ...owerpack_returns_bad_request_response.yaml | 29 +-- ...widget_returns_bad_request_response.frozen | 2 +- ...p_widget_returns_bad_request_response.yaml | 28 +-- ...erpack_returns_bad_request_response.frozen | 2 +- ...owerpack_returns_bad_request_response.yaml | 38 +--- tests/v2/features/powerpack.feature | 13 +- tests/v2/features/undo.json | 2 +- 23 files changed, 651 insertions(+), 207 deletions(-) rename examples/v2/powerpack/{GetAllPowerpacks.py => ListPowerpacks.py} (86%) rename src/datadog_api_client/v2/model/{get_all_powerpacks_response.py => list_powerpacks_response.py} (98%) create mode 100644 src/datadog_api_client/v2/model/powerpack_group_widget.py create mode 100644 src/datadog_api_client/v2/model/powerpack_group_widget_definition.py create mode 100644 src/datadog_api_client/v2/model/powerpack_group_widget_layout.py create mode 100644 src/datadog_api_client/v2/model/powerpack_inner_widget_layout.py create mode 100644 src/datadog_api_client/v2/model/powerpack_inner_widgets.py diff --git a/.apigentools-info b/.apigentools-info index ad6fb3487d..a683815216 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2023-10-05 18:57:55.441668", - "spec_repo_commit": "faa2c8d3" + "regenerated": "2023-10-05 20:05:40.670859", + "spec_repo_commit": "f7a95272" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2023-10-05 18:57:55.456179", - "spec_repo_commit": "faa2c8d3" + "regenerated": "2023-10-05 20:05:40.684801", + "spec_repo_commit": "f7a95272" } } } \ No newline at end of file diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index ee82ba9f10..0eca5ce93f 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -5482,24 +5482,6 @@ components: type: string x-enum-varnames: - GCP_SERVICE_ACCOUNT - GetAllPowerpacksResponse: - description: Response object which includes all powerpack configurations. - properties: - data: - description: List of powerpack definitions. - items: - $ref: '#/components/schemas/PowerpackData' - type: array - included: - description: Array of objects related to the users. - items: - $ref: '#/components/schemas/User' - type: array - links: - $ref: '#/components/schemas/PowerpackResponseLinks' - meta: - $ref: '#/components/schemas/PowerpacksResponseMeta' - type: object GetFindingResponse: description: The expected response schema when getting a finding. properties: @@ -7677,6 +7659,24 @@ components: - data - meta type: object + ListPowerpacksResponse: + description: Response object which includes all powerpack configurations. + properties: + data: + description: List of powerpack definitions. + items: + $ref: '#/components/schemas/PowerpackData' + type: array + included: + description: Array of objects related to the users. + items: + $ref: '#/components/schemas/User' + type: array + links: + $ref: '#/components/schemas/PowerpackResponseLinks' + meta: + $ref: '#/components/schemas/PowerpacksResponseMeta' + type: object ListTeamsInclude: description: Included related resources optionally requested. enum: @@ -10596,18 +10596,7 @@ components: example: Powerpack for ABC type: string group_widget: - additionalProperties: {} - description: Templated group of dashboard widgets for the powerpack. - example: - layout_type: ordered - tags: - - tag:foo1 - type: group - widgets: - - definition: - content: example - type: note - type: object + $ref: '#/components/schemas/PowerpackGroupWidget' name: description: Name of the powerpack. example: Sample Powerpack @@ -10649,6 +10638,141 @@ components: example: powerpack type: string type: object + PowerpackGroupWidget: + description: Powerpack group widget definition object. + properties: + definition: + $ref: '#/components/schemas/PowerpackGroupWidgetDefinition' + layout: + $ref: '#/components/schemas/PowerpackGroupWidgetLayout' + required: + - definition + type: object + PowerpackGroupWidgetDefinition: + description: Powerpack group widget object. + properties: + layout_type: + description: Layout type of widgets. + example: ordered + type: string + show_title: + description: Boolean indicating whether powerpack group title should be + visible or not. + example: true + type: boolean + title: + description: Name for the group widget. + example: Sample Powerpack + type: string + type: + description: Type of widget, must be group. + example: group + type: string + widgets: + description: Widgets inside the powerpack. + example: + - definition: + content: example + type: note + layout: + height: 5 + width: 10 + x: 0 + y: 0 + items: + $ref: '#/components/schemas/PowerpackInnerWidgets' + type: array + required: + - widgets + - layout_type + - type + type: object + PowerpackGroupWidgetLayout: + description: Powerpack group widget layout. + properties: + height: + description: The height of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + width: + description: The width of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + x: + description: The position of the widget on the x (horizontal) axis. Should + be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + y: + description: The position of the widget on the y (vertical) axis. Should + be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + required: + - x + - y + - width + - height + type: object + PowerpackInnerWidgetLayout: + description: Powerpack inner widget layout. + properties: + height: + description: The height of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + width: + description: The width of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + x: + description: The position of the widget on the x (horizontal) axis. Should + be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + y: + description: The position of the widget on the y (vertical) axis. Should + be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + required: + - x + - y + - width + - height + type: object + PowerpackInnerWidgets: + description: Powerpack group widget definition of individual widgets. + properties: + definition: + additionalProperties: {} + description: Information about widget. + example: + definition: + content: example + type: note + type: object + layout: + $ref: '#/components/schemas/PowerpackInnerWidgetLayout' + required: + - definition + type: object PowerpackRelationships: description: Powerpack relationship object. properties: @@ -23570,13 +23694,13 @@ paths: /api/v2/powerpacks: get: description: Get a list of all powerpacks. - operationId: GetAllPowerpacks + operationId: ListPowerpacks responses: '200': content: application/json: schema: - $ref: '#/components/schemas/GetAllPowerpacksResponse' + $ref: '#/components/schemas/ListPowerpacksResponse' description: OK '429': $ref: '#/components/responses/TooManyRequestsResponse' diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 664626c8c3..79e2a6eb22 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -2157,13 +2157,6 @@ gcpsts\_service\_accounts\_response :members: :show-inheritance: -get\_all\_powerpacks\_response ------------------------------- - -.. automodule:: datadog_api_client.v2.model.get_all_powerpacks_response - :members: - :show-inheritance: - get\_finding\_response ---------------------- @@ -3200,6 +3193,13 @@ list\_findings\_response :members: :show-inheritance: +list\_powerpacks\_response +-------------------------- + +.. automodule:: datadog_api_client.v2.model.list_powerpacks_response + :members: + :show-inheritance: + list\_teams\_include -------------------- @@ -4635,6 +4635,41 @@ powerpack\_data :members: :show-inheritance: +powerpack\_group\_widget +------------------------ + +.. automodule:: datadog_api_client.v2.model.powerpack_group_widget + :members: + :show-inheritance: + +powerpack\_group\_widget\_definition +------------------------------------ + +.. automodule:: datadog_api_client.v2.model.powerpack_group_widget_definition + :members: + :show-inheritance: + +powerpack\_group\_widget\_layout +-------------------------------- + +.. automodule:: datadog_api_client.v2.model.powerpack_group_widget_layout + :members: + :show-inheritance: + +powerpack\_inner\_widget\_layout +-------------------------------- + +.. automodule:: datadog_api_client.v2.model.powerpack_inner_widget_layout + :members: + :show-inheritance: + +powerpack\_inner\_widgets +------------------------- + +.. automodule:: datadog_api_client.v2.model.powerpack_inner_widgets + :members: + :show-inheritance: + powerpack\_relationships ------------------------ diff --git a/examples/v2/powerpack/CreatePowerpack.py b/examples/v2/powerpack/CreatePowerpack.py index f9074992ad..925179aad6 100644 --- a/examples/v2/powerpack/CreatePowerpack.py +++ b/examples/v2/powerpack/CreatePowerpack.py @@ -7,20 +7,34 @@ from datadog_api_client.v2.model.powerpack import Powerpack from datadog_api_client.v2.model.powerpack_attributes import PowerpackAttributes from datadog_api_client.v2.model.powerpack_data import PowerpackData +from datadog_api_client.v2.model.powerpack_group_widget import PowerpackGroupWidget +from datadog_api_client.v2.model.powerpack_group_widget_definition import PowerpackGroupWidgetDefinition +from datadog_api_client.v2.model.powerpack_group_widget_layout import PowerpackGroupWidgetLayout +from datadog_api_client.v2.model.powerpack_inner_widgets import PowerpackInnerWidgets from datadog_api_client.v2.model.powerpack_template_variable import PowerpackTemplateVariable body = Powerpack( data=PowerpackData( attributes=PowerpackAttributes( description="Sample powerpack", - group_widget=dict( - [ - ( - "definition", - "{'layout_type': 'ordered', 'show_title': True, 'title': 'Sample Powerpack', 'type': 'group', 'widgets': [{'definition': {'content': 'test', 'type': 'note'}}]}", - ), - ("layout", "{'height': 3, 'width': 12, 'x': 0, 'y': 0}"), - ] + group_widget=PowerpackGroupWidget( + definition=PowerpackGroupWidgetDefinition( + layout_type="ordered", + show_title=True, + title="Sample Powerpack", + type="group", + widgets=[ + PowerpackInnerWidgets( + definition=dict([("content", "test"), ("type", "note")]), + ), + ], + ), + layout=PowerpackGroupWidgetLayout( + height=3, + width=12, + x=0, + y=0, + ), ), name="Sample Powerpack", tags=[ diff --git a/examples/v2/powerpack/GetAllPowerpacks.py b/examples/v2/powerpack/ListPowerpacks.py similarity index 86% rename from examples/v2/powerpack/GetAllPowerpacks.py rename to examples/v2/powerpack/ListPowerpacks.py index 58fa5c0e9b..bfd88e084e 100644 --- a/examples/v2/powerpack/GetAllPowerpacks.py +++ b/examples/v2/powerpack/ListPowerpacks.py @@ -8,6 +8,6 @@ configuration = Configuration() with ApiClient(configuration) as api_client: api_instance = PowerpackApi(api_client) - response = api_instance.get_all_powerpacks() + response = api_instance.list_powerpacks() print(response) diff --git a/examples/v2/powerpack/UpdatePowerpack.py b/examples/v2/powerpack/UpdatePowerpack.py index 8dfdd95312..eed2fca27f 100644 --- a/examples/v2/powerpack/UpdatePowerpack.py +++ b/examples/v2/powerpack/UpdatePowerpack.py @@ -8,6 +8,10 @@ from datadog_api_client.v2.model.powerpack import Powerpack from datadog_api_client.v2.model.powerpack_attributes import PowerpackAttributes from datadog_api_client.v2.model.powerpack_data import PowerpackData +from datadog_api_client.v2.model.powerpack_group_widget import PowerpackGroupWidget +from datadog_api_client.v2.model.powerpack_group_widget_definition import PowerpackGroupWidgetDefinition +from datadog_api_client.v2.model.powerpack_group_widget_layout import PowerpackGroupWidgetLayout +from datadog_api_client.v2.model.powerpack_inner_widgets import PowerpackInnerWidgets from datadog_api_client.v2.model.powerpack_template_variable import PowerpackTemplateVariable # there is a valid "powerpack" in the system @@ -17,14 +21,24 @@ data=PowerpackData( attributes=PowerpackAttributes( description="Sample powerpack", - group_widget=dict( - [ - ( - "definition", - "{'layout_type': 'ordered', 'show_title': True, 'title': 'Sample Powerpack', 'type': 'group', 'widgets': [{'definition': {'content': 'test', 'type': 'note'}}]}", - ), - ("layout", "{'height': 3, 'width': 12, 'x': 0, 'y': 0}"), - ] + group_widget=PowerpackGroupWidget( + definition=PowerpackGroupWidgetDefinition( + layout_type="ordered", + show_title=True, + title="Sample Powerpack", + type="group", + widgets=[ + PowerpackInnerWidgets( + definition=dict([("content", "test"), ("type", "note")]), + ), + ], + ), + layout=PowerpackGroupWidgetLayout( + height=3, + width=12, + x=0, + y=0, + ), ), name="Sample Powerpack", tags=[ diff --git a/src/datadog_api_client/v2/api/powerpack_api.py b/src/datadog_api_client/v2/api/powerpack_api.py index 561fb5a3f6..ec4d764227 100644 --- a/src/datadog_api_client/v2/api/powerpack_api.py +++ b/src/datadog_api_client/v2/api/powerpack_api.py @@ -7,7 +7,7 @@ from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint from datadog_api_client.configuration import Configuration -from datadog_api_client.v2.model.get_all_powerpacks_response import GetAllPowerpacksResponse +from datadog_api_client.v2.model.list_powerpacks_response import ListPowerpacksResponse from datadog_api_client.v2.model.powerpack_response import PowerpackResponse from datadog_api_client.v2.model.powerpack import Powerpack @@ -73,22 +73,6 @@ def __init__(self, api_client=None): api_client=api_client, ) - self._get_all_powerpacks_endpoint = _Endpoint( - settings={ - "response_type": (GetAllPowerpacksResponse,), - "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], - "endpoint_path": "/api/v2/powerpacks", - "operation_id": "get_all_powerpacks", - "http_method": "GET", - "version": "v2", - }, - params_map={}, - headers_map={ - "accept": ["application/json"], - }, - api_client=api_client, - ) - self._get_powerpack_endpoint = _Endpoint( settings={ "response_type": (PowerpackResponse,), @@ -112,6 +96,22 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._list_powerpacks_endpoint = _Endpoint( + settings={ + "response_type": (ListPowerpacksResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/powerpacks", + "operation_id": "list_powerpacks", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + self._update_powerpack_endpoint = _Endpoint( settings={ "response_type": (PowerpackResponse,), @@ -172,18 +172,6 @@ def delete_powerpack( return self._delete_powerpack_endpoint.call_with_http_info(**kwargs) - def get_all_powerpacks( - self, - ) -> GetAllPowerpacksResponse: - """Get all powerpacks. - - Get a list of all powerpacks. - - :rtype: GetAllPowerpacksResponse - """ - kwargs: Dict[str, Any] = {} - return self._get_all_powerpacks_endpoint.call_with_http_info(**kwargs) - def get_powerpack( self, powerpack_id: str, @@ -201,6 +189,18 @@ def get_powerpack( return self._get_powerpack_endpoint.call_with_http_info(**kwargs) + def list_powerpacks( + self, + ) -> ListPowerpacksResponse: + """Get all powerpacks. + + Get a list of all powerpacks. + + :rtype: ListPowerpacksResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_powerpacks_endpoint.call_with_http_info(**kwargs) + def update_powerpack( self, powerpack_id: str, diff --git a/src/datadog_api_client/v2/model/get_all_powerpacks_response.py b/src/datadog_api_client/v2/model/list_powerpacks_response.py similarity index 98% rename from src/datadog_api_client/v2/model/get_all_powerpacks_response.py rename to src/datadog_api_client/v2/model/list_powerpacks_response.py index 3b1d083598..7eb30069bb 100644 --- a/src/datadog_api_client/v2/model/get_all_powerpacks_response.py +++ b/src/datadog_api_client/v2/model/list_powerpacks_response.py @@ -20,7 +20,7 @@ from datadog_api_client.v2.model.powerpacks_response_meta import PowerpacksResponseMeta -class GetAllPowerpacksResponse(ModelNormal): +class ListPowerpacksResponse(ModelNormal): @cached_property def openapi_types(_): from datadog_api_client.v2.model.powerpack_data import PowerpackData diff --git a/src/datadog_api_client/v2/model/powerpack_attributes.py b/src/datadog_api_client/v2/model/powerpack_attributes.py index 3440602e4c..e3fa81c73d 100644 --- a/src/datadog_api_client/v2/model/powerpack_attributes.py +++ b/src/datadog_api_client/v2/model/powerpack_attributes.py @@ -3,20 +3,18 @@ # Copyright 2019-Present Datadog, Inc. from __future__ import annotations -from typing import Any, Dict, List, Union, TYPE_CHECKING +from typing import List, Union, TYPE_CHECKING from datadog_api_client.model_utils import ( ModelNormal, cached_property, - date, - datetime, - none_type, unset, UnsetType, ) if TYPE_CHECKING: + from datadog_api_client.v2.model.powerpack_group_widget import PowerpackGroupWidget from datadog_api_client.v2.model.powerpack_template_variable import PowerpackTemplateVariable @@ -29,25 +27,12 @@ class PowerpackAttributes(ModelNormal): @cached_property def openapi_types(_): + from datadog_api_client.v2.model.powerpack_group_widget import PowerpackGroupWidget from datadog_api_client.v2.model.powerpack_template_variable import PowerpackTemplateVariable return { "description": (str,), - "group_widget": ( - { - str: ( - bool, - date, - datetime, - dict, - float, - int, - list, - str, - none_type, - ) - }, - ), + "group_widget": (PowerpackGroupWidget,), "name": (str,), "tags": ([str],), "template_variables": ([PowerpackTemplateVariable],), @@ -63,7 +48,7 @@ def openapi_types(_): def __init__( self_, - group_widget: Dict[str, Any], + group_widget: PowerpackGroupWidget, name: str, description: Union[str, UnsetType] = unset, tags: Union[List[str], UnsetType] = unset, @@ -76,8 +61,8 @@ def __init__( :param description: Description of this powerpack. :type description: str, optional - :param group_widget: Templated group of dashboard widgets for the powerpack. - :type group_widget: {str: (bool, date, datetime, dict, float, int, list, str, none_type,)} + :param group_widget: Powerpack group widget definition object. + :type group_widget: PowerpackGroupWidget :param name: Name of the powerpack. :type name: str diff --git a/src/datadog_api_client/v2/model/powerpack_group_widget.py b/src/datadog_api_client/v2/model/powerpack_group_widget.py new file mode 100644 index 0000000000..d4bf14984b --- /dev/null +++ b/src/datadog_api_client/v2/model/powerpack_group_widget.py @@ -0,0 +1,56 @@ +# 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.powerpack_group_widget_definition import PowerpackGroupWidgetDefinition + from datadog_api_client.v2.model.powerpack_group_widget_layout import PowerpackGroupWidgetLayout + + +class PowerpackGroupWidget(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.powerpack_group_widget_definition import PowerpackGroupWidgetDefinition + from datadog_api_client.v2.model.powerpack_group_widget_layout import PowerpackGroupWidgetLayout + + return { + "definition": (PowerpackGroupWidgetDefinition,), + "layout": (PowerpackGroupWidgetLayout,), + } + + attribute_map = { + "definition": "definition", + "layout": "layout", + } + + def __init__( + self_, + definition: PowerpackGroupWidgetDefinition, + layout: Union[PowerpackGroupWidgetLayout, UnsetType] = unset, + **kwargs, + ): + """ + Powerpack group widget definition object. + + :param definition: Powerpack group widget object. + :type definition: PowerpackGroupWidgetDefinition + + :param layout: Powerpack group widget layout. + :type layout: PowerpackGroupWidgetLayout, optional + """ + if layout is not unset: + kwargs["layout"] = layout + super().__init__(kwargs) + + self_.definition = definition diff --git a/src/datadog_api_client/v2/model/powerpack_group_widget_definition.py b/src/datadog_api_client/v2/model/powerpack_group_widget_definition.py new file mode 100644 index 0000000000..023346f584 --- /dev/null +++ b/src/datadog_api_client/v2/model/powerpack_group_widget_definition.py @@ -0,0 +1,76 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.powerpack_inner_widgets import PowerpackInnerWidgets + + +class PowerpackGroupWidgetDefinition(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.powerpack_inner_widgets import PowerpackInnerWidgets + + return { + "layout_type": (str,), + "show_title": (bool,), + "title": (str,), + "type": (str,), + "widgets": ([PowerpackInnerWidgets],), + } + + attribute_map = { + "layout_type": "layout_type", + "show_title": "show_title", + "title": "title", + "type": "type", + "widgets": "widgets", + } + + def __init__( + self_, + layout_type: str, + type: str, + widgets: List[PowerpackInnerWidgets], + show_title: Union[bool, UnsetType] = unset, + title: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Powerpack group widget object. + + :param layout_type: Layout type of widgets. + :type layout_type: str + + :param show_title: Boolean indicating whether powerpack group title should be visible or not. + :type show_title: bool, optional + + :param title: Name for the group widget. + :type title: str, optional + + :param type: Type of widget, must be group. + :type type: str + + :param widgets: Widgets inside the powerpack. + :type widgets: [PowerpackInnerWidgets] + """ + if show_title is not unset: + kwargs["show_title"] = show_title + if title is not unset: + kwargs["title"] = title + super().__init__(kwargs) + + self_.layout_type = layout_type + self_.type = type + self_.widgets = widgets diff --git a/src/datadog_api_client/v2/model/powerpack_group_widget_layout.py b/src/datadog_api_client/v2/model/powerpack_group_widget_layout.py new file mode 100644 index 0000000000..8316d4da21 --- /dev/null +++ b/src/datadog_api_client/v2/model/powerpack_group_widget_layout.py @@ -0,0 +1,66 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class PowerpackGroupWidgetLayout(ModelNormal): + validations = { + "height": { + "inclusive_minimum": 0, + }, + "width": { + "inclusive_minimum": 0, + }, + "x": { + "inclusive_minimum": 0, + }, + "y": { + "inclusive_minimum": 0, + }, + } + + @cached_property + def openapi_types(_): + return { + "height": (int,), + "width": (int,), + "x": (int,), + "y": (int,), + } + + attribute_map = { + "height": "height", + "width": "width", + "x": "x", + "y": "y", + } + + def __init__(self_, height: int, width: int, x: int, y: int, **kwargs): + """ + Powerpack group widget layout. + + :param height: The height of the widget. Should be a non-negative integer. + :type height: int + + :param width: The width of the widget. Should be a non-negative integer. + :type width: int + + :param x: The position of the widget on the x (horizontal) axis. Should be a non-negative integer. + :type x: int + + :param y: The position of the widget on the y (vertical) axis. Should be a non-negative integer. + :type y: int + """ + super().__init__(kwargs) + + self_.height = height + self_.width = width + self_.x = x + self_.y = y diff --git a/src/datadog_api_client/v2/model/powerpack_inner_widget_layout.py b/src/datadog_api_client/v2/model/powerpack_inner_widget_layout.py new file mode 100644 index 0000000000..91f53e85aa --- /dev/null +++ b/src/datadog_api_client/v2/model/powerpack_inner_widget_layout.py @@ -0,0 +1,66 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class PowerpackInnerWidgetLayout(ModelNormal): + validations = { + "height": { + "inclusive_minimum": 0, + }, + "width": { + "inclusive_minimum": 0, + }, + "x": { + "inclusive_minimum": 0, + }, + "y": { + "inclusive_minimum": 0, + }, + } + + @cached_property + def openapi_types(_): + return { + "height": (int,), + "width": (int,), + "x": (int,), + "y": (int,), + } + + attribute_map = { + "height": "height", + "width": "width", + "x": "x", + "y": "y", + } + + def __init__(self_, height: int, width: int, x: int, y: int, **kwargs): + """ + Powerpack inner widget layout. + + :param height: The height of the widget. Should be a non-negative integer. + :type height: int + + :param width: The width of the widget. Should be a non-negative integer. + :type width: int + + :param x: The position of the widget on the x (horizontal) axis. Should be a non-negative integer. + :type x: int + + :param y: The position of the widget on the y (vertical) axis. Should be a non-negative integer. + :type y: int + """ + super().__init__(kwargs) + + self_.height = height + self_.width = width + self_.x = x + self_.y = y diff --git a/src/datadog_api_client/v2/model/powerpack_inner_widgets.py b/src/datadog_api_client/v2/model/powerpack_inner_widgets.py new file mode 100644 index 0000000000..82785db40c --- /dev/null +++ b/src/datadog_api_client/v2/model/powerpack_inner_widgets.py @@ -0,0 +1,68 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Any, Dict, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + date, + datetime, + none_type, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.powerpack_inner_widget_layout import PowerpackInnerWidgetLayout + + +class PowerpackInnerWidgets(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.powerpack_inner_widget_layout import PowerpackInnerWidgetLayout + + return { + "definition": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + none_type, + ) + }, + ), + "layout": (PowerpackInnerWidgetLayout,), + } + + attribute_map = { + "definition": "definition", + "layout": "layout", + } + + def __init__( + self_, definition: Dict[str, Any], layout: Union[PowerpackInnerWidgetLayout, UnsetType] = unset, **kwargs + ): + """ + Powerpack group widget definition of individual widgets. + + :param definition: Information about widget. + :type definition: {str: (bool, date, datetime, dict, float, int, list, str, none_type,)} + + :param layout: Powerpack inner widget layout. + :type layout: PowerpackInnerWidgetLayout, optional + """ + if layout is not unset: + kwargs["layout"] = layout + super().__init__(kwargs) + + self_.definition = definition diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 6bc1df94fa..1d1231d36d 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -362,7 +362,6 @@ from datadog_api_client.v2.model.gcpsts_service_accounts_response import GCPSTSServiceAccountsResponse from datadog_api_client.v2.model.gcp_service_account_meta import GCPServiceAccountMeta from datadog_api_client.v2.model.gcp_service_account_type import GCPServiceAccountType -from datadog_api_client.v2.model.get_all_powerpacks_response import GetAllPowerpacksResponse from datadog_api_client.v2.model.get_finding_response import GetFindingResponse from datadog_api_client.v2.model.get_team_memberships_sort import GetTeamMembershipsSort from datadog_api_client.v2.model.group_scalar_column import GroupScalarColumn @@ -543,6 +542,7 @@ from datadog_api_client.v2.model.list_findings_meta import ListFindingsMeta from datadog_api_client.v2.model.list_findings_page import ListFindingsPage from datadog_api_client.v2.model.list_findings_response import ListFindingsResponse +from datadog_api_client.v2.model.list_powerpacks_response import ListPowerpacksResponse from datadog_api_client.v2.model.list_teams_include import ListTeamsInclude from datadog_api_client.v2.model.list_teams_sort import ListTeamsSort from datadog_api_client.v2.model.log import Log @@ -770,6 +770,11 @@ from datadog_api_client.v2.model.powerpack import Powerpack from datadog_api_client.v2.model.powerpack_attributes import PowerpackAttributes from datadog_api_client.v2.model.powerpack_data import PowerpackData +from datadog_api_client.v2.model.powerpack_group_widget import PowerpackGroupWidget +from datadog_api_client.v2.model.powerpack_group_widget_definition import PowerpackGroupWidgetDefinition +from datadog_api_client.v2.model.powerpack_group_widget_layout import PowerpackGroupWidgetLayout +from datadog_api_client.v2.model.powerpack_inner_widget_layout import PowerpackInnerWidgetLayout +from datadog_api_client.v2.model.powerpack_inner_widgets import PowerpackInnerWidgets from datadog_api_client.v2.model.powerpack_relationships import PowerpackRelationships from datadog_api_client.v2.model.powerpack_response import PowerpackResponse from datadog_api_client.v2.model.powerpack_response_links import PowerpackResponseLinks @@ -1687,7 +1692,6 @@ "GCPSTSServiceAccountsResponse", "GCPServiceAccountMeta", "GCPServiceAccountType", - "GetAllPowerpacksResponse", "GetFindingResponse", "GetTeamMembershipsSort", "GroupScalarColumn", @@ -1836,6 +1840,7 @@ "ListFindingsMeta", "ListFindingsPage", "ListFindingsResponse", + "ListPowerpacksResponse", "ListTeamsInclude", "ListTeamsSort", "Log", @@ -2041,6 +2046,11 @@ "Powerpack", "PowerpackAttributes", "PowerpackData", + "PowerpackGroupWidget", + "PowerpackGroupWidgetDefinition", + "PowerpackGroupWidgetLayout", + "PowerpackInnerWidgetLayout", + "PowerpackInnerWidgets", "PowerpackRelationships", "PowerpackResponse", "PowerpackResponseLinks", diff --git a/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_returns_bad_request_response.frozen index 8de3b1c8fe..572764c79f 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_returns_bad_request_response.frozen @@ -1 +1 @@ -2023-09-19T20:34:17.937Z \ No newline at end of file +2023-10-05T15:56:23.491Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_returns_bad_request_response.yaml index c2de43bed3..69778ff3b9 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_returns_bad_request_response.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"description":"Powerpack for ABC","group_widget":{"layout_type":"ordered","tags":["tag:foo1"],"type":"group","widgets":[{"definition":{"content":"example","type":"note"}}]},"name":"Sample + body: '{"data":{"attributes":{"description":"Powerpack for ABC","group_widget":{"definition":{"layout_type":"ordered","type":"group1","widgets":[]}},"name":"Sample Powerpack","tags":["tag:foo1"],"template_variables":[{"defaults":["*"],"name":"test"}]},"type":"powerpack"}}' headers: accept: @@ -11,30 +11,9 @@ interactions: uri: https://api.datadoghq.com/api/v2/powerpacks response: body: - string: '{"errors":["Invalid group widget for powerpack. Error: ''type'' is - a required property\n\nFailed validating ''required'' in schema:\n {''additionalProperties'': - False,\n ''properties'': {''background_color'': {''type'': ''string''},\n ''banner_img'': - {''type'': ''string''},\n ''layout_type'': {''enum'': [''ordered'']},\n ''reflow_type'': - {''enum'': [''auto'', ''fixed'']},\n ''show_title'': {''type'': - ''boolean''},\n ''title'': {''type'': ''string''},\n ''title_align'': - {''enum'': [''center'', ''left'', ''right'']},\n ''type'': - {''enum'': [''group'']},\n ''widgets'': {''items'': {''additionalProperties'': - False,\n ''properties'': {''definition'': - {''additionalProperties'': True,\n ''properties'': - {''type'': {''enum'': [''alert_graph'',\n ''alert_value'',\n ''change'',\n ''check_status'',\n ''distribution'',\n ''geomap'',\n ''heatmap'',\n ''hostmap'',\n ''note'',\n ''query_value'',\n ''scatterplot'',\n ''servicemap'',\n ''topology_map'',\n ''query_table'',\n ''timeseries'',\n ''toplist'',\n ''list_stream'',\n ''treemap'',\n ''uptime'',\n ''slo'',\n ''funnel'',\n ''custom'',\n ''experimental'',\n ''sunburst'',\n ''wildcard'',\n ''slo_list'',\n ''flame_graph'',\n ''run_workflow'',\n ''embedded_app'',\n ''log_stream'',\n ''iframe'',\n ''free_text'',\n ''event_stream'',\n ''event_timeline'',\n ''manage_status'',\n ''trace_service'',\n ''image'']}},\n ''required'': - [''type''],\n ''type'': - ''object''},\n ''id'': - {''type'': ''integer''},\n ''layout'': - {''additionalProperties'': False,\n ''properties'': - {''height'': {''type'': ''number''},\n ''is_column_break'': - {''type'': ''boolean''},\n ''width'': - {''type'': ''number''},\n ''x'': - {''type'': ''number''},\n ''y'': - {''type'': ''number''}},\n ''type'': - ''object''}},\n ''required'': [''definition''],\n ''type'': - ''object''},\n ''type'': ''array''}},\n ''required'': - [''type'', ''layout_type'', ''widgets''],\n ''type'': ''object''}\n\nOn - instance:\n {}."]}' + string: '{"errors":["Invalid group widget for powerpack. Error: ''group1'' is + not one of [''group'']\n\nFailed validating ''enum'' in schema[''properties''][''type'']:\n {''enum'': + [''group'']}\n\nOn instance[''type'']:\n ''group1''."]}' headers: content-type: - application/json diff --git a/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_with_missing_group_widget_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_with_missing_group_widget_returns_bad_request_response.frozen index 6636089c7a..8693788b95 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_with_missing_group_widget_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_with_missing_group_widget_returns_bad_request_response.frozen @@ -1 +1 @@ -2023-09-19T20:34:19.633Z \ No newline at end of file +2023-10-04T19:18:49.142Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_with_missing_group_widget_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_with_missing_group_widget_returns_bad_request_response.yaml index 79c604c00a..8c2f891290 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_with_missing_group_widget_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_create_a_new_powerpack_with_missing_group_widget_returns_bad_request_response.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"description":"Sample powerpack","group_widget":{},"name":"Sample + body: '{"data":{"attributes":{"description":"Sample powerpack","name":"Sample Powerpack","tags":["tag:sample"],"template_variables":[{"defaults":["*"],"name":"sample"}]},"type":"powerpack"}}' headers: accept: @@ -11,30 +11,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/powerpacks response: body: - string: '{"errors":["Invalid group widget for powerpack. Error: ''type'' is - a required property\n\nFailed validating ''required'' in schema:\n {''additionalProperties'': - False,\n ''properties'': {''background_color'': {''type'': ''string''},\n ''banner_img'': - {''type'': ''string''},\n ''layout_type'': {''enum'': [''ordered'']},\n ''reflow_type'': - {''enum'': [''auto'', ''fixed'']},\n ''show_title'': {''type'': - ''boolean''},\n ''title'': {''type'': ''string''},\n ''title_align'': - {''enum'': [''center'', ''left'', ''right'']},\n ''type'': - {''enum'': [''group'']},\n ''widgets'': {''items'': {''additionalProperties'': - False,\n ''properties'': {''definition'': - {''additionalProperties'': True,\n ''properties'': - {''type'': {''enum'': [''alert_graph'',\n ''alert_value'',\n ''change'',\n ''check_status'',\n ''distribution'',\n ''geomap'',\n ''heatmap'',\n ''hostmap'',\n ''note'',\n ''query_value'',\n ''scatterplot'',\n ''servicemap'',\n ''topology_map'',\n ''query_table'',\n ''timeseries'',\n ''toplist'',\n ''list_stream'',\n ''treemap'',\n ''uptime'',\n ''slo'',\n ''funnel'',\n ''custom'',\n ''experimental'',\n ''sunburst'',\n ''wildcard'',\n ''slo_list'',\n ''flame_graph'',\n ''run_workflow'',\n ''embedded_app'',\n ''log_stream'',\n ''iframe'',\n ''free_text'',\n ''event_stream'',\n ''event_timeline'',\n ''manage_status'',\n ''trace_service'',\n ''image'']}},\n ''required'': - [''type''],\n ''type'': - ''object''},\n ''id'': - {''type'': ''integer''},\n ''layout'': - {''additionalProperties'': False,\n ''properties'': - {''height'': {''type'': ''number''},\n ''is_column_break'': - {''type'': ''boolean''},\n ''width'': - {''type'': ''number''},\n ''x'': - {''type'': ''number''},\n ''y'': - {''type'': ''number''}},\n ''type'': - ''object''}},\n ''required'': [''definition''],\n ''type'': - ''object''},\n ''type'': ''array''}},\n ''required'': - [''type'', ''layout_type'', ''widgets''],\n ''type'': ''object''}\n\nOn - instance:\n {}."]}' + string: '{"errors":["API input validation failed: {''group_widget'': [''Missing + data for required field.'']}"]}' headers: content-type: - application/json diff --git a/tests/v2/cassettes/test_scenarios/test_update_a_powerpack_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_a_powerpack_returns_bad_request_response.frozen index d30592128a..8d5b8f2165 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_a_powerpack_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_a_powerpack_returns_bad_request_response.frozen @@ -1 +1 @@ -2023-09-19T20:34:23.150Z \ No newline at end of file +2023-10-05T15:56:24.178Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_a_powerpack_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_a_powerpack_returns_bad_request_response.yaml index 2e849f2b5e..09c5bba676 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_a_powerpack_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_a_powerpack_returns_bad_request_response.yaml @@ -12,9 +12,10 @@ interactions: uri: https://api.datadoghq.com/api/v2/powerpacks response: body: - string: '{"data":{"type":"powerpack","id":"eb0c0428-572b-11ee-92ec-da7ad0900002","attributes":{"name":"Sample + string: '{"data":{"type":"powerpack","id":"bc22abe4-6397-11ee-865e-da7ad0900002","attributes":{"name":"Sample Powerpack","description":"Sample powerpack","group_widget":{"definition":{"layout_type":"ordered","show_title":true,"title":"Sample - Powerpack","type":"group","widgets":[{"definition":{"content":"test","type":"note"},"id":8888289347240039}]},"layout":{"height":3,"width":12,"x":0,"y":0}},"template_variables":[{"defaults":["*"],"name":"sample"}],"tags":["tag:sample"]},"relationships":{"author":{"data":{"type":"users","id":"3ad549bf-eba0-11e9-a77a-0705486660d0"}}}},"included":[{"type":"users","id":"3ad549bf-eba0-11e9-a77a-0705486660d0","attributes":{"name":null,"email":"frog@datadoghq.com"}}]} + Powerpack","type":"group","widgets":[{"definition":{"content":"test","type":"note"},"id":1043184765896296}]},"layout":{"height":3,"width":12,"x":0,"y":0}},"template_variables":[{"defaults":["*"],"name":"sample"}],"tags":["tag:sample"]},"relationships":{"author":{"data":{"type":"users","id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"}}}},"included":[{"type":"users","id":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","attributes":{"name":"CI + Account","email":"team-intg-tools-libs-spam@datadoghq.com"}}]} ' headers: @@ -24,7 +25,7 @@ interactions: code: 200 message: OK - request: - body: '{"data":{"attributes":{"description":"Sample powerpack","group_widget":{},"name":"Sample + body: '{"data":{"attributes":{"description":"Sample powerpack","group_widget":{"definition":{"layout_type":"ordered","type":"group1","widgets":[]}},"name":"Sample Powerpack","tags":["tag:sample"],"template_variables":[{"defaults":["*"],"name":"sample"}]},"type":"powerpack"}}' headers: accept: @@ -32,33 +33,12 @@ interactions: content-type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/powerpacks/eb0c0428-572b-11ee-92ec-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/powerpacks/bc22abe4-6397-11ee-865e-da7ad0900002 response: body: - string: '{"errors":["Invalid group widget for powerpack. Error: ''type'' is - a required property\n\nFailed validating ''required'' in schema:\n {''additionalProperties'': - False,\n ''properties'': {''background_color'': {''type'': ''string''},\n ''banner_img'': - {''type'': ''string''},\n ''layout_type'': {''enum'': [''ordered'']},\n ''reflow_type'': - {''enum'': [''auto'', ''fixed'']},\n ''show_title'': {''type'': - ''boolean''},\n ''title'': {''type'': ''string''},\n ''title_align'': - {''enum'': [''center'', ''left'', ''right'']},\n ''type'': - {''enum'': [''group'']},\n ''widgets'': {''items'': {''additionalProperties'': - False,\n ''properties'': {''definition'': - {''additionalProperties'': True,\n ''properties'': - {''type'': {''enum'': [''alert_graph'',\n ''alert_value'',\n ''change'',\n ''check_status'',\n ''distribution'',\n ''geomap'',\n ''heatmap'',\n ''hostmap'',\n ''note'',\n ''query_value'',\n ''scatterplot'',\n ''servicemap'',\n ''topology_map'',\n ''query_table'',\n ''timeseries'',\n ''toplist'',\n ''list_stream'',\n ''treemap'',\n ''uptime'',\n ''slo'',\n ''funnel'',\n ''custom'',\n ''experimental'',\n ''sunburst'',\n ''wildcard'',\n ''slo_list'',\n ''flame_graph'',\n ''run_workflow'',\n ''embedded_app'',\n ''log_stream'',\n ''iframe'',\n ''free_text'',\n ''event_stream'',\n ''event_timeline'',\n ''manage_status'',\n ''trace_service'',\n ''image'']}},\n ''required'': - [''type''],\n ''type'': - ''object''},\n ''id'': - {''type'': ''integer''},\n ''layout'': - {''additionalProperties'': False,\n ''properties'': - {''height'': {''type'': ''number''},\n ''is_column_break'': - {''type'': ''boolean''},\n ''width'': - {''type'': ''number''},\n ''x'': - {''type'': ''number''},\n ''y'': - {''type'': ''number''}},\n ''type'': - ''object''}},\n ''required'': [''definition''],\n ''type'': - ''object''},\n ''type'': ''array''}},\n ''required'': - [''type'', ''layout_type'', ''widgets''],\n ''type'': ''object''}\n\nOn - instance:\n {}."]}' + string: '{"errors":["Invalid group widget for powerpack. Error: ''group1'' is + not one of [''group'']\n\nFailed validating ''enum'' in schema[''properties''][''type'']:\n {''enum'': + [''group'']}\n\nOn instance[''type'']:\n ''group1''."]}' headers: content-type: - application/json @@ -71,7 +51,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/powerpacks/eb0c0428-572b-11ee-92ec-da7ad0900002 + uri: https://api.datadoghq.com/api/v2/powerpacks/bc22abe4-6397-11ee-865e-da7ad0900002 response: body: string: '' diff --git a/tests/v2/features/powerpack.feature b/tests/v2/features/powerpack.feature index c3a474969c..e14ebfb652 100644 --- a/tests/v2/features/powerpack.feature +++ b/tests/v2/features/powerpack.feature @@ -13,7 +13,7 @@ Feature: Powerpack @team:DataDog/dashboards-backend Scenario: Create a new powerpack returns "Bad Request" response Given new "CreatePowerpack" request - And body with value {"data": {"attributes": {"description": "Powerpack for ABC", "group_widget": {"layout_type": "ordered", "tags": ["tag:foo1"], "type": "group", "widgets": [{"definition": {"content": "example", "type": "note"}}]}, "name": "Sample Powerpack", "tags": ["tag:foo1"], "template_variables": [{"defaults": ["*"], "name": "test"}]}, "type": "powerpack"}} + And body with value {"data": {"attributes": {"description": "Powerpack for ABC", "group_widget": {"definition": {"type": "group1", "layout_type": "ordered", "widgets": []}}, "name": "Sample Powerpack", "tags": ["tag:foo1"], "template_variables": [{"defaults": ["*"], "name": "test"}]}, "type": "powerpack"}} When the request is sent Then the response status is 400 Bad Request @@ -38,13 +38,6 @@ Feature: Powerpack And the response "data.attributes.group_widget.definition.title" is equal to "Sample Powerpack" And the response "data.attributes.group_widget.definition.widgets[0].definition.type" is equal to "note" - @team:DataDog/dashboards-backend - Scenario: Create a new powerpack with missing group_widget returns "Bad Request" response - Given new "CreatePowerpack" request - And body with value {"data":{"type": "powerpack","attributes": {"name": "Sample Powerpack","description": "Sample powerpack","group_widget": {},"template_variables": [{"name": "sample", "defaults": ["*"]}],"tags": ["tag:sample"]}}} - When the request is sent - Then the response status is 400 Bad Request - @team:DataDog/dashboards-backend Scenario: Delete a powerpack returns "OK" response Given there is a valid "powerpack" in the system @@ -93,7 +86,7 @@ Feature: Powerpack @team:DataDog/dashboards-backend Scenario: Get all powerpacks returns "OK" response Given there is a valid "powerpack" in the system - And new "GetAllPowerpacks" request + And new "ListPowerpacks" request When the request is sent Then the response status is 200 OK And the response "data" has item with field "type" with value "powerpack" @@ -117,7 +110,7 @@ Feature: Powerpack Given there is a valid "powerpack" in the system And new "UpdatePowerpack" request And request contains "powerpack_id" parameter from "powerpack.data.id" - And body with value {"data":{"type": "powerpack","attributes": {"name": "Sample Powerpack","description": "Sample powerpack","group_widget": {},"template_variables": [{"name": "sample", "defaults": ["*"]}],"tags": ["tag:sample"]}}} + And body with value {"data":{"type": "powerpack","attributes": {"name": "Sample Powerpack","description": "Sample powerpack","group_widget": {"definition": {"type": "group1", "layout_type": "ordered", "widgets": []}},"template_variables": [{"name": "sample", "defaults": ["*"]}],"tags": ["tag:sample"]}}} When the request is sent Then the response status is 400 Bad Request diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index 0eacdd54f4..a127541e65 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -1023,7 +1023,7 @@ "type": "safe" } }, - "GetAllPowerpacks": { + "ListPowerpacks": { "tag": "Powerpack", "undo": { "type": "safe"