Skip to content

create_topic

create_topic(
    aws_account_id: AwsAccountId,
    topic_id: TopicId,
    topic: TopicDetails,
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
    tags: Optional[TagList] = None,
    folder_arns: Optional[FolderArnList] = None,
    custom_instructions: Optional[CustomInstructions] = None,
) -> CreateTopicResponse

Creates a new Q topic.

Parameters:

  • aws_account_id (AwsAccountId) –

    The ID of the Amazon Web Services account that you want to create a topic in.

  • topic_id (TopicId) –

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

  • topic (TopicDetails) –

    The definition of a topic to create.

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

    Contains a map of the key-value pairs for the resource tag or tags that are assigned to the dataset.

  • folder_arns (Optional[FolderArnList], default: None ) –

    The Folder ARN of the folder that you want the topic to reside in.

  • custom_instructions (Optional[CustomInstructions], default: None ) –

    Custom instructions for the topic.

Raises:

Source code in docs_src/capo_quicksight/_services/quick_sight.py
def create_topic(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    topic_id: "capo_quicksight.types.topic_id.TopicId",
    topic: "capo_quicksight.types.topic_details.TopicDetails",
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
    tags: Optional["capo_quicksight.types.tag_list.TagList"] = None,
    folder_arns: Optional[
        "capo_quicksight.types.folder_arn_list.FolderArnList"
    ] = None,
    custom_instructions: Optional[
        "capo_quicksight.types.custom_instructions.CustomInstructions"
    ] = None,
) -> "capo_quicksight.types.create_topic_response.CreateTopicResponse":
    """<p>Creates a new Q topic.</p>

    Args:
        aws_account_id: <p>The ID of the Amazon Web Services account that you want to create a topic in.</p>
        topic_id: <p>The ID for the topic that you want to create. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
        topic: <p>The definition of a topic to create.</p>
        tags: <p>Contains a map of the key-value pairs for the resource tag or tags that are assigned to the dataset.</p>
        folder_arns: <p>The Folder ARN of the folder that you want the topic to reside in.</p>
        custom_instructions: <p>Custom instructions for the topic.</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.
    """

    def _handler(
        req: "OperationRequest[capo_quicksight.types.create_topic_request.CreateTopicRequest]",
    ) -> OperationResponse[
        "capo_quicksight.types.create_topic_response.CreateTopicResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.create_topic

        output, http_response = (
            capo_quicksight._operations.quick_sight_20180401.create_topic.create_topic(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

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

        return capo_quicksight.types.create_topic_request.redact_sensitive(input_)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateTopic", redact_input=_redact_input),
    )
    input_: capo_quicksight.types.create_topic_request.CreateTopicRequest = {
        "aws_account_id": aws_account_id,
        "topic_id": topic_id,
        "topic": topic,
    }
    if tags is not None:
        input_["tags"] = tags
    if folder_arns is not None:
        input_["folder_arns"] = folder_arns
    if custom_instructions is not None:
        input_["custom_instructions"] = custom_instructions

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output