""" Create App returns "Created" response """ from datadog_api_client import ApiClient, Configuration from datadog_api_client.v2.api.app_builder_api import AppBuilderApi from datadog_api_client.v2.model.action_query import ActionQuery from datadog_api_client.v2.model.action_query_properties import ActionQueryProperties from datadog_api_client.v2.model.action_query_spec_input import ActionQuerySpecInput from datadog_api_client.v2.model.action_query_spec_object import ActionQuerySpecObject from datadog_api_client.v2.model.action_query_type import ActionQueryType from datadog_api_client.v2.model.app_builder_event import AppBuilderEvent from datadog_api_client.v2.model.app_builder_event_name import AppBuilderEventName from datadog_api_client.v2.model.app_builder_event_type import AppBuilderEventType from datadog_api_client.v2.model.app_definition_type import AppDefinitionType from datadog_api_client.v2.model.component import Component from datadog_api_client.v2.model.component_grid import ComponentGrid from datadog_api_client.v2.model.component_grid_properties import ComponentGridProperties from datadog_api_client.v2.model.component_grid_type import ComponentGridType from datadog_api_client.v2.model.component_properties import ComponentProperties from datadog_api_client.v2.model.component_type import ComponentType from datadog_api_client.v2.model.create_app_request import CreateAppRequest from datadog_api_client.v2.model.create_app_request_data import CreateAppRequestData from datadog_api_client.v2.model.create_app_request_data_attributes import CreateAppRequestDataAttributes from datadog_api_client.v2.model.data_transform import DataTransform from datadog_api_client.v2.model.data_transform_properties import DataTransformProperties from datadog_api_client.v2.model.data_transform_type import DataTransformType from datadog_api_client.v2.model.state_variable import StateVariable from datadog_api_client.v2.model.state_variable_properties import StateVariableProperties from datadog_api_client.v2.model.state_variable_type import StateVariableType from uuid import UUID body = CreateAppRequest( data=CreateAppRequestData( type=AppDefinitionType.APPDEFINITIONS, attributes=CreateAppRequestDataAttributes( root_instance_name="grid0", components=[ ComponentGrid( name="grid0", type=ComponentGridType.GRID, properties=ComponentGridProperties( children=[ Component( type=ComponentType.GRIDCELL, name="gridCell0", properties=ComponentProperties( children=[ Component( name="text0", type=ComponentType.TEXT, properties=ComponentProperties( content="# Cat Facts", content_type="markdown", text_align="left", vertical_align="top", is_visible=True, ), events=[], ), ], is_visible="true", layout=dict([("default", "{'x': 0, 'y': 0, 'width': 4, 'height': 5}")]), ), events=[], ), Component( type=ComponentType.GRIDCELL, name="gridCell2", properties=ComponentProperties( children=[ Component( name="table0", type=ComponentType.TABLE, properties=ComponentProperties( data="${fetchFacts?.outputs?.body?.data}", columns=[ dict( [ ("dataPath", "fact"), ("header", "fact"), ("isHidden", "False"), ("id", "0ae2ae9e-0280-4389-83c6-1c5949f7e674"), ] ), dict( [ ("dataPath", "length"), ("header", "length"), ("isHidden", "True"), ("id", "c9048611-0196-4a00-9366-1ef9e3ec0408"), ] ), dict( [ ("id", "8fa9284b-7a58-4f13-9959-57b7d8a7fe8f"), ("dataPath", "Due Date"), ("header", "Unused Old Column"), ("disableSortBy", "False"), ( "formatter", "{'type': 'formatted_time', 'format': 'LARGE_WITHOUT_TIME'}", ), ("isDeleted", "True"), ] ), ], summary=True, page_size="${pageSize?.value}", pagination_type="server_side", is_loading="${fetchFacts?.isLoading}", row_buttons=[], is_wrappable=False, is_scrollable="vertical", is_sub_rows_enabled=False, global_filter=False, is_visible=True, total_count="${fetchFacts?.outputs?.body?.total}", ), events=[], ), ], is_visible="true", layout=dict([("default", "{'x': 0, 'y': 5, 'width': 12, 'height': 96}")]), ), events=[], ), Component( type=ComponentType.GRIDCELL, name="gridCell1", properties=ComponentProperties( children=[ Component( name="text1", type=ComponentType.TEXT, properties=ComponentProperties( content="## Random Fact\n\n${randomFact?.outputs?.fact}", content_type="markdown", text_align="left", vertical_align="top", is_visible=True, ), events=[], ), ], is_visible="true", layout=dict([("default", "{'x': 0, 'y': 101, 'width': 12, 'height': 16}")]), ), events=[], ), Component( type=ComponentType.GRIDCELL, name="gridCell3", properties=ComponentProperties( children=[ Component( name="button0", type=ComponentType.BUTTON, properties=ComponentProperties( label="Increase Page Size", level="default", is_primary=True, is_borderless=False, is_loading=False, is_disabled=False, is_visible=True, icon_left="angleUp", icon_right="", ), events=[ AppBuilderEvent( variable_name="pageSize", value="${pageSize?.value + 1}", name=AppBuilderEventName.CLICK, type=AppBuilderEventType.SETSTATEVARIABLEVALUE, ), ], ), ], is_visible="true", layout=dict([("default", "{'x': 10, 'y': 134, 'width': 2, 'height': 4}")]), ), events=[], ), Component( type=ComponentType.GRIDCELL, name="gridCell4", properties=ComponentProperties( children=[ Component( name="button1", type=ComponentType.BUTTON, properties=ComponentProperties( label="Decrease Page Size", level="default", is_primary=True, is_borderless=False, is_loading=False, is_disabled=False, is_visible=True, icon_left="angleDown", icon_right="", ), events=[ AppBuilderEvent( variable_name="pageSize", value="${pageSize?.value - 1}", name=AppBuilderEventName.CLICK, type=AppBuilderEventType.SETSTATEVARIABLEVALUE, ), ], ), ], is_visible="true", layout=dict([("default", "{'x': 10, 'y': 138, 'width': 2, 'height': 4}")]), ), events=[], ), ], background_color="default", ), events=[], ), ], queries=[ ActionQuery( id=UUID("92ff0bb8-553b-4f31-87c7-ef5bd16d47d5"), type=ActionQueryType.ACTION, name="fetchFacts", events=[], properties=ActionQueryProperties( spec=ActionQuerySpecObject( fqn="com.datadoghq.http.request", connection_id="5e63f4a8-4ce6-47de-ba11-f6617c1d54f3", inputs=ActionQuerySpecInput( [ ("verb", "GET"), ("url", "https://catfact.ninja/facts"), ( "urlParams", "[{'key': 'limit', 'value': '${pageSize.value.toString()}'}, {'key': 'page', 'value': '${(table0.pageIndex + 1).toString()}'}]", ), ] ), ), ), ), StateVariable( type=StateVariableType.STATEVARIABLE, name="pageSize", properties=StateVariableProperties( default_value="${20}", ), id=UUID("afd03c81-4075-4432-8618-ba09d52d2f2d"), ), DataTransform( type=DataTransformType.DATATRANSFORM, name="randomFact", properties=DataTransformProperties( outputs="${(() => {const facts = fetchFacts.outputs.body.data\nreturn facts[Math.floor(Math.random()*facts.length)]\n})()}", ), id=UUID("0fb22859-47dc-4137-9e41-7b67d04c525c"), ), ], name="Example Cat Facts Viewer", description="This is a slightly complicated example app that fetches and displays cat facts", ), ), ) configuration = Configuration() with ApiClient(configuration) as api_client: api_instance = AppBuilderApi(api_client) response = api_instance.create_app(body=body) print(response)