Skip to content

update_view_content async

update_view_content(
    instance_id: ViewsInstanceId,
    view_id: ViewId,
    status: ViewStatus,
    content: ViewInputContent,
    *,
    config_overrides: Optional[AsyncConnectClientConfig] = None,
) -> UpdateViewContentResponse

Updates the view content of the given view identifier in the specified Connect Customer instance.

It performs content validation if Status is set to SAVED and performs full content validation if Status is PUBLISHED. Note that the $SAVED alias' content will always be updated, but the $LATEST alias' content will only be updated if Status is PUBLISHED.

Parameters:

  • instance_id (ViewsInstanceId) –

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

  • view_id (ViewId) –

    The identifier of the view. Both ViewArn and ViewId can be used.

  • 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 and the runtime input schema, which is auto-generated by this operation.

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

Raises:

Source code in docs_src/capo_connect/_services/async_connect.py
async def update_view_content(
    self,
    instance_id: "capo_connect.types.views_instance_id.ViewsInstanceId",
    view_id: "capo_connect.types.view_id.ViewId",
    status: "capo_connect.types.view_status.ViewStatus",
    content: "capo_connect.types.view_input_content.ViewInputContent",
    *,
    config_overrides: Optional[AsyncConnectClientConfig] = None,
) -> "capo_connect.types.update_view_content_response.UpdateViewContentResponse":
    """<p>Updates the view content of the given view identifier in the specified Connect Customer instance.</p> <p>It performs content validation if <code>Status</code> is set to <code>SAVED</code> and performs full content validation if <code>Status</code> is <code>PUBLISHED</code>. Note that the <code>$SAVED</code> alias' content will always be updated, but the <code>$LATEST</code> alias' content will only be updated if <code>Status</code> is <code>PUBLISHED</code>.</p>

    Args:
        instance_id: <p>The identifier of the Connect Customer instance. You can find the instanceId in the ARN of the instance.</p>
        view_id: <p>The identifier of the view. Both <code>ViewArn</code> and <code>ViewId</code> can be used.</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 and the runtime input schema, which is auto-generated by this operation.</p> <p>The total uncompressed content has a maximum file size of 400kB.</p>

    Raises:
        capo_connect.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permissions to perform this action.</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.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.update_view_content_request.UpdateViewContentRequest]",
    ) -> AsyncOperationResponse[
        "capo_connect.types.update_view_content_response.UpdateViewContentResponse"
    ]:
        import capo_connect._operations.amazon_connect_service.update_view_content

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

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

        return capo_connect.types.update_view_content_request.redact_sensitive(
            input_
        )

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

        return capo_connect.types.update_view_content_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "UpdateViewContent",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_connect.types.update_view_content_request.UpdateViewContentRequest = {
        "instance_id": instance_id,
        "view_id": view_id,
        "status": status,
        "content": content,
    }

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