Skip to content

create_domain_layout async

create_domain_layout(
    domain_name: name,
    layout_definition_name: name,
    description: sensitiveText,
    display_name: displayName,
    layout_type: LayoutType,
    layout: sensitiveString1To2000000,
    *,
    config_overrides: Optional[AsyncCustomerProfilesClientConfig] = None,
    is_default: Optional[boolean] = None,
    tags: Optional[TagMap] = None,
) -> CreateDomainLayoutResponse

Creates the layout to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.

Parameters:

  • domain_name (name) –

    The unique name of the domain.

  • layout_definition_name (name) –

    The unique name of the layout.

  • description (sensitiveText) –

    The description of the layout

  • display_name (displayName) –

    The display name of the layout

  • is_default (Optional[boolean], default: None ) –

    If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.

  • layout_type (LayoutType) –

    The type of layout that can be used to view data under a Customer Profiles domain.

  • layout (sensitiveString1To2000000) –

    A customizable layout that can be used to view data under a Customer Profiles domain.

  • tags (Optional[TagMap], default: None ) –

    The tags used to organize, track, or control access for this resource.

Raises:

Source code in docs_src/capo_customer_profiles/_services/async_customer_profiles.py
async def create_domain_layout(
    self,
    domain_name: "capo_customer_profiles.types.name.name",
    layout_definition_name: "capo_customer_profiles.types.name.name",
    description: "capo_customer_profiles.types.sensitive_text.sensitiveText",
    display_name: "capo_customer_profiles.types.display_name.displayName",
    layout_type: "capo_customer_profiles.types.layout_type.LayoutType",
    layout: "capo_customer_profiles.types.sensitive_string1_to2000000.sensitiveString1To2000000",
    *,
    config_overrides: Optional[AsyncCustomerProfilesClientConfig] = None,
    is_default: Optional["capo_customer_profiles.types.boolean.boolean"] = None,
    tags: Optional["capo_customer_profiles.types.tag_map.TagMap"] = None,
) -> "capo_customer_profiles.types.create_domain_layout_response.CreateDomainLayoutResponse":
    """<p>Creates the layout to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.</p>

    Args:
        domain_name: <p>The unique name of the domain.</p>
        layout_definition_name: <p>The unique name of the layout.</p>
        description: <p>The description of the layout</p>
        display_name: <p>The display name of the layout</p>
        is_default: <p>If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.</p>
        layout_type: <p>The type of layout that can be used to view data under a Customer Profiles domain.</p>
        layout: <p>A customizable layout that can be used to view data under a Customer Profiles domain.</p>
        tags: <p>The tags used to organize, track, or control access for this resource.</p>

    Raises:
        capo_customer_profiles.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_customer_profiles.errors.bad_request_exception.BadRequestException: <p>The input you provided is invalid.</p>
        capo_customer_profiles.errors.internal_server_exception.InternalServerException: <p>An internal service error occurred.</p>
        capo_customer_profiles.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource does not exist, or access was denied.</p>
        capo_customer_profiles.errors.throttling_exception.ThrottlingException: <p>You exceeded the maximum number of requests.</p>
        capo_customer_profiles.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_customer_profiles.types.create_domain_layout_request.CreateDomainLayoutRequest]",
    ) -> AsyncOperationResponse[
        "capo_customer_profiles.types.create_domain_layout_response.CreateDomainLayoutResponse"
    ]:
        import capo_customer_profiles._operations.customer_profiles_20200815.create_domain_layout

        (
            output,
            http_response,
        ) = await capo_customer_profiles._operations.customer_profiles_20200815.create_domain_layout.async_create_domain_layout(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_customer_profiles.types.create_domain_layout_request.CreateDomainLayoutRequest",
    ) -> dict[str, Any]:
        import capo_customer_profiles.types.create_domain_layout_request

        return capo_customer_profiles.types.create_domain_layout_request.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_customer_profiles.types.create_domain_layout_response.CreateDomainLayoutResponse",
    ) -> dict[str, Any]:
        import capo_customer_profiles.types.create_domain_layout_response

        return capo_customer_profiles.types.create_domain_layout_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "CreateDomainLayout",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_customer_profiles.types.create_domain_layout_request.CreateDomainLayoutRequest = {
        "domain_name": domain_name,
        "layout_definition_name": layout_definition_name,
        "description": description,
        "display_name": display_name,
        "layout_type": layout_type,
        "layout": layout,
    }
    if is_default is not None:
        input_["is_default"] = is_default
    if tags is not None:
        input_["tags"] = tags

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output