Skip to content

create_namespace async

create_namespace(
    aws_account_id: AwsAccountId,
    namespace: Namespace,
    identity_store: IdentityStore,
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    tags: Optional[TagList] = None,
) -> CreateNamespaceResponse

(Enterprise edition only) Creates a new namespace for you to use with Amazon Quick Sight.

A namespace allows you to isolate the Quick Sight users and groups that are registered for that namespace. Users that access the namespace can share assets only with other users or groups in the same namespace. They can't see users and groups in other namespaces. You can create a namespace after your Amazon Web Services account is subscribed to Quick Sight. The namespace must be unique within the Amazon Web Services account. By default, there is a limit of 100 namespaces per Amazon Web Services account. To increase your limit, create a ticket with Amazon Web Services Support.

Parameters:

  • aws_account_id (AwsAccountId) –

    The ID for the Amazon Web Services account that you want to create the Quick Sight namespace in.

  • namespace (Namespace) –

    The name that you want to use to describe the new namespace.

  • identity_store (IdentityStore) –

    Specifies the type of your user identity directory. Currently, this supports users with an identity type of QUICKSIGHT.

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

    The tags that you want to associate with the namespace that you're creating.

Raises:

Source code in docs_src/capo_quicksight/_services/async_quick_sight.py
async def create_namespace(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    namespace: "capo_quicksight.types.namespace.Namespace",
    identity_store: "capo_quicksight.types.identity_store.IdentityStore",
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    tags: Optional["capo_quicksight.types.tag_list.TagList"] = None,
) -> "capo_quicksight.types.create_namespace_response.CreateNamespaceResponse":
    """<p>(Enterprise edition only) Creates a new namespace for you to use with Amazon Quick Sight.</p> <p>A namespace allows you to isolate the Quick Sight users and groups that are registered for that namespace. Users that access the namespace can share assets only with other users or groups in the same namespace. They can't see users and groups in other namespaces. You can create a namespace after your Amazon Web Services account is subscribed to Quick Sight. The namespace must be unique within the Amazon Web Services account. By default, there is a limit of 100 namespaces per Amazon Web Services account. To increase your limit, create a ticket with Amazon Web Services Support. </p>

    Args:
        aws_account_id: <p>The ID for the Amazon Web Services account that you want to create the Quick Sight namespace in.</p>
        namespace: <p>The name that you want to use to describe the new namespace.</p>
        identity_store: <p>Specifies the type of your user identity directory. Currently, this supports users with an identity type of <code>QUICKSIGHT</code>.</p>
        tags: <p>The tags that you want to associate with the namespace that you're creating.</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.precondition_not_met_exception.PreconditionNotMetException: <p>One or more preconditions aren't met.</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.resource_unavailable_exception.ResourceUnavailableException: <p>This resource is currently unavailable.</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.create_namespace_request.CreateNamespaceRequest]",
    ) -> AsyncOperationResponse[
        "capo_quicksight.types.create_namespace_response.CreateNamespaceResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.create_namespace

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateNamespace")
    )
    input_: capo_quicksight.types.create_namespace_request.CreateNamespaceRequest = {
        "aws_account_id": aws_account_id,
        "namespace": namespace,
        "identity_store": identity_store,
    }
    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