Skip to content

update_topic_v2 async

update_topic_v2(
    aws_account_id: AwsAccountId,
    topic_id: TopicId,
    topic: TopicV2Details,
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    custom_instructions: Optional[CustomInstructions] = None,
    publish_option: Optional[TopicV2PublishOption] = None,
) -> UpdateTopicV2Response

Updates the definition of a Q topic.

Parameters:

  • aws_account_id (AwsAccountId) –

    The ID of the Amazon Web Services account that contains the topic that you want to update.

  • topic_id (TopicId) –

    The ID of the topic that you want to modify. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.

  • topic (TopicV2Details) –

    The definition of the topic that you want to update.

  • publish_option (Optional[TopicV2PublishOption], default: None ) –

    The publish option for the topic that you want to update.

Raises:

Source code in docs_src/capo_quicksight/_services/async_quick_sight.py
async def update_topic_v2(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    topic_id: "capo_quicksight.types.topic_id.TopicId",
    topic: "capo_quicksight.types.topic_v2_details.TopicV2Details",
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    custom_instructions: Optional[
        "capo_quicksight.types.custom_instructions.CustomInstructions"
    ] = None,
    publish_option: Optional[
        "capo_quicksight.types.topic_v2_publish_option.TopicV2PublishOption"
    ] = None,
) -> "capo_quicksight.types.update_topic_v2_response.UpdateTopicV2Response":
    """<p>Updates the definition of a Q topic.</p>

    Args:
        aws_account_id: <p>The ID of the Amazon Web Services account that contains the topic that you want to update.</p>
        topic_id: <p>The ID of the topic that you want to modify. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
        topic: <p>The definition of the topic that you want to update.</p>
        publish_option: <p>The publish option for the topic that you want to update.</p>

    Raises:
        capo_quicksight.errors.access_denied_exception.AccessDeniedException: <p>You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon Quick Sight service, that your policies have the correct permissions, and that you are using the correct credentials.</p>
        capo_quicksight.errors.conflict_exception.ConflictException: <p>Updating or deleting a resource can cause an inconsistent state.</p>
        capo_quicksight.errors.internal_failure_exception.InternalFailureException: <p>An internal failure occurred.</p>
        capo_quicksight.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>One or more parameters has a value that isn't valid.</p>
        capo_quicksight.errors.limit_exceeded_exception.LimitExceededException: <p>A limit is exceeded.</p>
        capo_quicksight.errors.resource_exists_exception.ResourceExistsException: <p>The resource specified already exists. </p>
        capo_quicksight.errors.resource_not_found_exception.ResourceNotFoundException: <p>One or more resources can't be found.</p>
        capo_quicksight.errors.throttling_exception.ThrottlingException: <p>Access is throttled.</p>
        capo_quicksight.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_quicksight.types.update_topic_v2_request.UpdateTopicV2Request]",
    ) -> AsyncOperationResponse[
        "capo_quicksight.types.update_topic_v2_response.UpdateTopicV2Response"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_topic_v2

        (
            output,
            http_response,
        ) = await capo_quicksight._operations.quick_sight_20180401.update_topic_v2.async_update_topic_v2(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_quicksight.types.update_topic_v2_request.UpdateTopicV2Request",
    ) -> dict[str, Any]:
        import capo_quicksight.types.update_topic_v2_request

        return capo_quicksight.types.update_topic_v2_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateTopicV2", redact_input=_redact_input),
    )
    input_: capo_quicksight.types.update_topic_v2_request.UpdateTopicV2Request = {
        "aws_account_id": aws_account_id,
        "topic_id": topic_id,
        "topic": topic,
    }
    if custom_instructions is not None:
        input_["custom_instructions"] = custom_instructions
    if publish_option is not None:
        input_["publish_option"] = publish_option

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