Skip to content

create_view async

create_view(
    instance_id: ViewsInstanceId,
    status: ViewStatus,
    content: ViewInputContent,
    name: ViewName,
    *,
    config_overrides: Optional[AsyncConnectClientConfig] = None,
    client_token: Optional[ViewsClientToken] = None,
    description: Optional[ViewDescription] = None,
    tags: Optional[TagMap] = None,
) -> CreateViewResponse

Creates a new view with the possible status of SAVED or PUBLISHED.

The views will have a unique name for each connect instance.

It performs basic content validation if the status is SAVED or full content validation if the status is set to PUBLISHED. An error is returned if validation fails. It associates either the $SAVED qualifier or both of the $SAVED and $LATEST qualifiers with the provided view content based on the status. The view is idempotent if ClientToken is provided.

Parameters:

  • instance_id (ViewsInstanceId) –

    The identifier of the Connect Customer instance. You can find the instanceId in the ARN of the instance.

  • client_token (Optional[ViewsClientToken], default: None ) –

    A unique Id for each create view request to avoid duplicate view creation. For example, the view is idempotent ClientToken is provided.

  • status (ViewStatus) –

    Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

  • content (ViewInputContent) –

    View content containing all content necessary to render a view except for runtime input data.

    The total uncompressed content has a maximum file size of 400kB.

  • description (Optional[ViewDescription], default: None ) –

    The description of the view.

  • name (ViewName) –

    The name of the view.

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

    The tags associated with the view resource (not specific to view version).These tags can be used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

Raises:

Source code in docs_src/capo_connect/_services/async_connect.py
async def create_view(
    self,
    instance_id: "capo_connect.types.views_instance_id.ViewsInstanceId",
    status: "capo_connect.types.view_status.ViewStatus",
    content: "capo_connect.types.view_input_content.ViewInputContent",
    name: "capo_connect.types.view_name.ViewName",
    *,
    config_overrides: Optional[AsyncConnectClientConfig] = None,
    client_token: Optional[
        "capo_connect.types.views_client_token.ViewsClientToken"
    ] = None,
    description: Optional[
        "capo_connect.types.view_description.ViewDescription"
    ] = None,
    tags: Optional["capo_connect.types.tag_map.TagMap"] = None,
) -> "capo_connect.types.create_view_response.CreateViewResponse":
    """<p>Creates a new view with the possible status of <code>SAVED</code> or <code>PUBLISHED</code>.</p> <p>The views will have a unique name for each connect instance.</p> <p>It performs basic content validation if the status is <code>SAVED</code> or full content validation if the status is set to <code>PUBLISHED</code>. An error is returned if validation fails. It associates either the <code>$SAVED</code> qualifier or both of the <code>$SAVED</code> and <code>$LATEST</code> qualifiers with the provided view content based on the status. The view is idempotent if ClientToken is provided.</p>

    Args:
        instance_id: <p>The identifier of the Connect Customer instance. You can find the instanceId in the ARN of the instance.</p>
        client_token: <p>A unique Id for each create view request to avoid duplicate view creation. For example, the view is idempotent ClientToken is provided.</p>
        status: <p>Indicates the view status as either <code>SAVED</code> or <code>PUBLISHED</code>. The <code>PUBLISHED</code> status will initiate validation on the content.</p>
        content: <p>View content containing all content necessary to render a view except for runtime input data.</p> <p>The total uncompressed content has a maximum file size of 400kB.</p>
        description: <p>The description of the view.</p>
        name: <p>The name of the view.</p>
        tags: <p>The tags associated with the view resource (not specific to view version).These tags can be used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.</p>

    Raises:
        capo_connect.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permissions to perform this action.</p>
        capo_connect.errors.duplicate_resource_exception.DuplicateResourceException: <p>A resource with the specified name already exists.</p>
        capo_connect.errors.internal_service_exception.InternalServiceException: <p>Request processing failed because of an error or failure with the service.</p>
        capo_connect.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more of the specified parameters are not valid.</p>
        capo_connect.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_connect.errors.resource_in_use_exception.ResourceInUseException: <p>That resource is already in use (for example, you're trying to add a record with the same name as an existing record). If you are trying to delete a resource (for example, DeleteHoursOfOperation or DeletePredefinedAttribute), remove its reference from related resources and then try again.</p>
        capo_connect.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_connect.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The service quota has been exceeded.</p>
        capo_connect.errors.too_many_requests_exception.TooManyRequestsException: <p>Displayed when rate-related API limits are exceeded.</p>
        capo_connect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_connect.types.create_view_request.CreateViewRequest]",
    ) -> AsyncOperationResponse[
        "capo_connect.types.create_view_response.CreateViewResponse"
    ]:
        import capo_connect._operations.amazon_connect_service.create_view

        (
            output,
            http_response,
        ) = await capo_connect._operations.amazon_connect_service.create_view.async_create_view(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_connect.types.create_view_request.CreateViewRequest",
    ) -> dict[str, Any]:
        import capo_connect.types.create_view_request

        return capo_connect.types.create_view_request.redact_sensitive(input_)

    def _redact_output(
        output: "capo_connect.types.create_view_response.CreateViewResponse",
    ) -> dict[str, Any]:
        import capo_connect.types.create_view_response

        return capo_connect.types.create_view_response.redact_sensitive(output)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "CreateView", redact_input=_redact_input, redact_output=_redact_output
        ),
    )
    input_: capo_connect.types.create_view_request.CreateViewRequest = {
        "instance_id": instance_id,
        "status": status,
        "content": content,
        "name": name,
    }
    if client_token is not None:
        input_["client_token"] = client_token
    if description is not None:
        input_["description"] = description
    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