Source code for openapi_client.api.dashboards_api

# coding: utf-8

"""
    Amorphic Data Platform

    Amorphic Data Platform - API Definition documentation

    The version of the OpenAPI document: 1.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501

import warnings
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated

from pydantic import StrictStr, field_validator
from typing import Optional
from openapi_client.models.create_dashboard_request import CreateDashboardRequest
from openapi_client.models.dashboard_details_response_body import DashboardDetailsResponseBody
from openapi_client.models.dashboard_list_response_body import DashboardListResponseBody
from openapi_client.models.message_status import MessageStatus
from openapi_client.models.status import Status
from openapi_client.models.update_dashboard_request import UpdateDashboardRequest

from openapi_client.api_client import ApiClient, RequestSerialized
from openapi_client.api_response import ApiResponse
from openapi_client.rest import RESTResponseType


class DashboardsApi:
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None) -> None:
        if api_client is None:
            api_client = ApiClient.get_default()
        self.api_client = api_client


[docs] @validate_call def create_dashboard( self, role_id: StrictStr, create_dashboard_request: CreateDashboardRequest, content_type: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> Status: """Create a dashboard Create a new dashboard :param role_id: (required) :type role_id: str :param create_dashboard_request: (required) :type create_dashboard_request: CreateDashboardRequest :param content_type: :type content_type: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._create_dashboard_serialize( role_id=role_id, create_dashboard_request=create_dashboard_request, content_type=content_type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "Status", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ).data
@validate_call def create_dashboard_with_http_info( self, role_id: StrictStr, create_dashboard_request: CreateDashboardRequest, content_type: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[Status]: """Create a dashboard Create a new dashboard :param role_id: (required) :type role_id: str :param create_dashboard_request: (required) :type create_dashboard_request: CreateDashboardRequest :param content_type: :type content_type: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._create_dashboard_serialize( role_id=role_id, create_dashboard_request=create_dashboard_request, content_type=content_type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "Status", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ) @validate_call def create_dashboard_without_preload_content( self, role_id: StrictStr, create_dashboard_request: CreateDashboardRequest, content_type: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: """Create a dashboard Create a new dashboard :param role_id: (required) :type role_id: str :param create_dashboard_request: (required) :type create_dashboard_request: CreateDashboardRequest :param content_type: :type content_type: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._create_dashboard_serialize( role_id=role_id, create_dashboard_request=create_dashboard_request, content_type=content_type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "Status", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) return response_data.response def _create_dashboard_serialize( self, role_id, create_dashboard_request, content_type, _request_auth, _content_type, _headers, _host_index, ) -> RequestSerialized: _host = None _collection_formats: Dict[str, str] = { } _path_params: Dict[str, str] = {} _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] _files: Dict[ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] ] = {} _body_params: Optional[bytes] = None # process the path parameters # process the query parameters # process the header parameters if content_type is not None: _header_params['Content-Type'] = content_type if role_id is not None: _header_params['role_id'] = role_id # process the form parameters # process the body parameter if create_dashboard_request is not None: _body_params = create_dashboard_request # set the HTTP header `Accept` if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ 'application/json' ] ) # set the HTTP header `Content-Type` if _content_type: _header_params['Content-Type'] = _content_type else: _default_content_type = ( self.api_client.select_header_content_type( [ 'application/json' ] ) ) if _default_content_type is not None: _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ 'LambdaAuthorizer' ] return self.api_client.param_serialize( method='POST', resource_path='/dashboards', path_params=_path_params, query_params=_query_params, header_params=_header_params, body=_body_params, post_params=_form_params, files=_files, auth_settings=_auth_settings, collection_formats=_collection_formats, _host=_host, _request_auth=_request_auth )
[docs] @validate_call def delete_dashboard( self, dashboard_id: StrictStr, role_id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> Status: """Deletes a dashboard On request the dashoard will be removed from application :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._delete_dashboard_serialize( dashboard_id=dashboard_id, role_id=role_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "Status", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ).data
@validate_call def delete_dashboard_with_http_info( self, dashboard_id: StrictStr, role_id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[Status]: """Deletes a dashboard On request the dashoard will be removed from application :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._delete_dashboard_serialize( dashboard_id=dashboard_id, role_id=role_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "Status", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ) @validate_call def delete_dashboard_without_preload_content( self, dashboard_id: StrictStr, role_id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: """Deletes a dashboard On request the dashoard will be removed from application :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._delete_dashboard_serialize( dashboard_id=dashboard_id, role_id=role_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "Status", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) return response_data.response def _delete_dashboard_serialize( self, dashboard_id, role_id, _request_auth, _content_type, _headers, _host_index, ) -> RequestSerialized: _host = None _collection_formats: Dict[str, str] = { } _path_params: Dict[str, str] = {} _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] _files: Dict[ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] ] = {} _body_params: Optional[bytes] = None # process the path parameters if dashboard_id is not None: _path_params['dashboard_id'] = dashboard_id # process the query parameters # process the header parameters if role_id is not None: _header_params['role_id'] = role_id # process the form parameters # process the body parameter # set the HTTP header `Accept` if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ 'application/json' ] ) # authentication setting _auth_settings: List[str] = [ 'LambdaAuthorizer' ] return self.api_client.param_serialize( method='DELETE', resource_path='/dashboards/{dashboard_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, body=_body_params, post_params=_form_params, files=_files, auth_settings=_auth_settings, collection_formats=_collection_formats, _host=_host, _request_auth=_request_auth )
[docs] @validate_call def get_dashboard_details( self, dashboard_id: StrictStr, role_id: StrictStr, projection_expression: Optional[StrictStr] = None, option: Optional[StrictStr] = None, quicksight_id: Optional[StrictStr] = None, widget_ref_id: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> DashboardDetailsResponseBody: """Get dashboard details for a given dashboard Returns dashboard details :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param projection_expression: :type projection_expression: str :param option: :type option: str :param quicksight_id: :type quicksight_id: str :param widget_ref_id: :type widget_ref_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._get_dashboard_details_serialize( dashboard_id=dashboard_id, role_id=role_id, projection_expression=projection_expression, option=option, quicksight_id=quicksight_id, widget_ref_id=widget_ref_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "DashboardDetailsResponseBody", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ).data
@validate_call def get_dashboard_details_with_http_info( self, dashboard_id: StrictStr, role_id: StrictStr, projection_expression: Optional[StrictStr] = None, option: Optional[StrictStr] = None, quicksight_id: Optional[StrictStr] = None, widget_ref_id: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[DashboardDetailsResponseBody]: """Get dashboard details for a given dashboard Returns dashboard details :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param projection_expression: :type projection_expression: str :param option: :type option: str :param quicksight_id: :type quicksight_id: str :param widget_ref_id: :type widget_ref_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._get_dashboard_details_serialize( dashboard_id=dashboard_id, role_id=role_id, projection_expression=projection_expression, option=option, quicksight_id=quicksight_id, widget_ref_id=widget_ref_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "DashboardDetailsResponseBody", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ) @validate_call def get_dashboard_details_without_preload_content( self, dashboard_id: StrictStr, role_id: StrictStr, projection_expression: Optional[StrictStr] = None, option: Optional[StrictStr] = None, quicksight_id: Optional[StrictStr] = None, widget_ref_id: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: """Get dashboard details for a given dashboard Returns dashboard details :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param projection_expression: :type projection_expression: str :param option: :type option: str :param quicksight_id: :type quicksight_id: str :param widget_ref_id: :type widget_ref_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._get_dashboard_details_serialize( dashboard_id=dashboard_id, role_id=role_id, projection_expression=projection_expression, option=option, quicksight_id=quicksight_id, widget_ref_id=widget_ref_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "DashboardDetailsResponseBody", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) return response_data.response def _get_dashboard_details_serialize( self, dashboard_id, role_id, projection_expression, option, quicksight_id, widget_ref_id, _request_auth, _content_type, _headers, _host_index, ) -> RequestSerialized: _host = None _collection_formats: Dict[str, str] = { } _path_params: Dict[str, str] = {} _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] _files: Dict[ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] ] = {} _body_params: Optional[bytes] = None # process the path parameters if dashboard_id is not None: _path_params['dashboard_id'] = dashboard_id # process the query parameters if projection_expression is not None: _query_params.append(('projectionExpression', projection_expression)) if option is not None: _query_params.append(('option', option)) if quicksight_id is not None: _query_params.append(('quicksight_id', quicksight_id)) if widget_ref_id is not None: _query_params.append(('widget_ref_id', widget_ref_id)) # process the header parameters if role_id is not None: _header_params['role_id'] = role_id # process the form parameters # process the body parameter # set the HTTP header `Accept` if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ 'application/json' ] ) # authentication setting _auth_settings: List[str] = [ 'LambdaAuthorizer' ] return self.api_client.param_serialize( method='GET', resource_path='/dashboards/{dashboard_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, body=_body_params, post_params=_form_params, files=_files, auth_settings=_auth_settings, collection_formats=_collection_formats, _host=_host, _request_auth=_request_auth )
[docs] @validate_call def list_dashboards( self, role_id: StrictStr, projection_expression: Optional[StrictStr] = None, offset: Optional[StrictStr] = None, limit: Optional[StrictStr] = None, sortorder: Optional[StrictStr] = None, sortby: Optional[StrictStr] = None, filter_expression: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> DashboardListResponseBody: """Get user registered dashboards Returns a list of dashboards of which the user is owner or has viewer access :param role_id: (required) :type role_id: str :param projection_expression: :type projection_expression: str :param offset: :type offset: str :param limit: :type limit: str :param sortorder: :type sortorder: str :param sortby: :type sortby: str :param filter_expression: :type filter_expression: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._list_dashboards_serialize( role_id=role_id, projection_expression=projection_expression, offset=offset, limit=limit, sortorder=sortorder, sortby=sortby, filter_expression=filter_expression, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "DashboardListResponseBody", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ).data
@validate_call def list_dashboards_with_http_info( self, role_id: StrictStr, projection_expression: Optional[StrictStr] = None, offset: Optional[StrictStr] = None, limit: Optional[StrictStr] = None, sortorder: Optional[StrictStr] = None, sortby: Optional[StrictStr] = None, filter_expression: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[DashboardListResponseBody]: """Get user registered dashboards Returns a list of dashboards of which the user is owner or has viewer access :param role_id: (required) :type role_id: str :param projection_expression: :type projection_expression: str :param offset: :type offset: str :param limit: :type limit: str :param sortorder: :type sortorder: str :param sortby: :type sortby: str :param filter_expression: :type filter_expression: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._list_dashboards_serialize( role_id=role_id, projection_expression=projection_expression, offset=offset, limit=limit, sortorder=sortorder, sortby=sortby, filter_expression=filter_expression, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "DashboardListResponseBody", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ) @validate_call def list_dashboards_without_preload_content( self, role_id: StrictStr, projection_expression: Optional[StrictStr] = None, offset: Optional[StrictStr] = None, limit: Optional[StrictStr] = None, sortorder: Optional[StrictStr] = None, sortby: Optional[StrictStr] = None, filter_expression: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: """Get user registered dashboards Returns a list of dashboards of which the user is owner or has viewer access :param role_id: (required) :type role_id: str :param projection_expression: :type projection_expression: str :param offset: :type offset: str :param limit: :type limit: str :param sortorder: :type sortorder: str :param sortby: :type sortby: str :param filter_expression: :type filter_expression: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._list_dashboards_serialize( role_id=role_id, projection_expression=projection_expression, offset=offset, limit=limit, sortorder=sortorder, sortby=sortby, filter_expression=filter_expression, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "DashboardListResponseBody", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) return response_data.response def _list_dashboards_serialize( self, role_id, projection_expression, offset, limit, sortorder, sortby, filter_expression, _request_auth, _content_type, _headers, _host_index, ) -> RequestSerialized: _host = None _collection_formats: Dict[str, str] = { } _path_params: Dict[str, str] = {} _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] _files: Dict[ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] ] = {} _body_params: Optional[bytes] = None # process the path parameters # process the query parameters if projection_expression is not None: _query_params.append(('projectionExpression', projection_expression)) if offset is not None: _query_params.append(('offset', offset)) if limit is not None: _query_params.append(('limit', limit)) if sortorder is not None: _query_params.append(('sortorder', sortorder)) if sortby is not None: _query_params.append(('sortby', sortby)) if filter_expression is not None: _query_params.append(('filterExpression', filter_expression)) # process the header parameters if role_id is not None: _header_params['role_id'] = role_id # process the form parameters # process the body parameter # set the HTTP header `Accept` if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ 'application/json' ] ) # authentication setting _auth_settings: List[str] = [ 'LambdaAuthorizer' ] return self.api_client.param_serialize( method='GET', resource_path='/dashboards', path_params=_path_params, query_params=_query_params, header_params=_header_params, body=_body_params, post_params=_form_params, files=_files, auth_settings=_auth_settings, collection_formats=_collection_formats, _host=_host, _request_auth=_request_auth )
[docs] @validate_call def update_dashboard_details( self, dashboard_id: StrictStr, role_id: StrictStr, update_dashboard_request: UpdateDashboardRequest, content_type: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> MessageStatus: """Update dashboard details Update dashboard details :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param update_dashboard_request: (required) :type update_dashboard_request: UpdateDashboardRequest :param content_type: :type content_type: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._update_dashboard_details_serialize( dashboard_id=dashboard_id, role_id=role_id, update_dashboard_request=update_dashboard_request, content_type=content_type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "MessageStatus", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ).data
@validate_call def update_dashboard_details_with_http_info( self, dashboard_id: StrictStr, role_id: StrictStr, update_dashboard_request: UpdateDashboardRequest, content_type: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[MessageStatus]: """Update dashboard details Update dashboard details :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param update_dashboard_request: (required) :type update_dashboard_request: UpdateDashboardRequest :param content_type: :type content_type: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._update_dashboard_details_serialize( dashboard_id=dashboard_id, role_id=role_id, update_dashboard_request=update_dashboard_request, content_type=content_type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "MessageStatus", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) response_data.read() return self.api_client.response_deserialize( response_data=response_data, response_types_map=_response_types_map, ) @validate_call def update_dashboard_details_without_preload_content( self, dashboard_id: StrictStr, role_id: StrictStr, update_dashboard_request: UpdateDashboardRequest, content_type: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], Tuple[ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)] ] ] = None, _request_auth: Optional[Dict[StrictStr, Any]] = None, _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: """Update dashboard details Update dashboard details :param dashboard_id: (required) :type dashboard_id: str :param role_id: (required) :type role_id: str :param update_dashboard_request: (required) :type update_dashboard_request: UpdateDashboardRequest :param content_type: :type content_type: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :type _request_timeout: int, tuple(int, int), optional :param _request_auth: set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request. :type _request_auth: dict, optional :param _content_type: force content-type for the request. :type _content_type: str, Optional :param _headers: set to override the headers for a single request; this effectively ignores the headers in the spec for a single request. :type _headers: dict, optional :param _host_index: set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request. :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 _param = self._update_dashboard_details_serialize( dashboard_id=dashboard_id, role_id=role_id, update_dashboard_request=update_dashboard_request, content_type=content_type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, _host_index=_host_index ) _response_types_map: Dict[str, Optional[str]] = { '200': "MessageStatus", '400': "Error", '500': "Error", } response_data = self.api_client.call_api( *_param, _request_timeout=_request_timeout ) return response_data.response def _update_dashboard_details_serialize( self, dashboard_id, role_id, update_dashboard_request, content_type, _request_auth, _content_type, _headers, _host_index, ) -> RequestSerialized: _host = None _collection_formats: Dict[str, str] = { } _path_params: Dict[str, str] = {} _query_params: List[Tuple[str, str]] = [] _header_params: Dict[str, Optional[str]] = _headers or {} _form_params: List[Tuple[str, str]] = [] _files: Dict[ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] ] = {} _body_params: Optional[bytes] = None # process the path parameters if dashboard_id is not None: _path_params['dashboard_id'] = dashboard_id # process the query parameters # process the header parameters if content_type is not None: _header_params['Content-Type'] = content_type if role_id is not None: _header_params['role_id'] = role_id # process the form parameters # process the body parameter if update_dashboard_request is not None: _body_params = update_dashboard_request # set the HTTP header `Accept` if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ 'application/json' ] ) # set the HTTP header `Content-Type` if _content_type: _header_params['Content-Type'] = _content_type else: _default_content_type = ( self.api_client.select_header_content_type( [ 'application/json' ] ) ) if _default_content_type is not None: _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ 'LambdaAuthorizer' ] return self.api_client.param_serialize( method='PUT', resource_path='/dashboards/{dashboard_id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, body=_body_params, post_params=_form_params, files=_files, auth_settings=_auth_settings, collection_formats=_collection_formats, _host=_host, _request_auth=_request_auth )