Skip to content

delete_user_by_principal_id async

delete_user_by_principal_id(
    principal_id: String,
    aws_account_id: AwsAccountId,
    namespace: Namespace,
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
) -> DeleteUserByPrincipalIdResponse

Deletes a user identified by its principal ID.

Parameters:

  • principal_id (String) –

    The principal ID of the user.

  • aws_account_id (AwsAccountId) –

    The ID for the Amazon Web Services account that the user is in. Currently, you use the ID for the Amazon Web Services account that contains your Amazon Quick Sight account.

  • namespace (Namespace) –

    The namespace. Currently, you should set this to default.

Raises:

Source code in docs_src/capo_quicksight/_services/async_quick_sight.py
async def delete_user_by_principal_id(
    self,
    principal_id: "capo_quicksight.types.string.String",
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    namespace: "capo_quicksight.types.namespace.Namespace",
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
) -> "capo_quicksight.types.delete_user_by_principal_id_response.DeleteUserByPrincipalIdResponse":
    """<p>Deletes a user identified by its principal ID. </p>

    Args:
        principal_id: <p>The principal ID of the user.</p>
        aws_account_id: <p>The ID for the Amazon Web Services account that the user is in. Currently, you use the ID for the Amazon Web Services account that contains your Amazon Quick Sight account.</p>
        namespace: <p>The namespace. Currently, you should set this to <code>default</code>.</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.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.precondition_not_met_exception.PreconditionNotMetException: <p>One or more preconditions aren't met.</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.delete_user_by_principal_id_request.DeleteUserByPrincipalIdRequest]",
    ) -> AsyncOperationResponse[
        "capo_quicksight.types.delete_user_by_principal_id_response.DeleteUserByPrincipalIdResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.delete_user_by_principal_id

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DeleteUserByPrincipalId")
    )
    input_: capo_quicksight.types.delete_user_by_principal_id_request.DeleteUserByPrincipalIdRequest = {
        "principal_id": principal_id,
        "aws_account_id": aws_account_id,
        "namespace": namespace,
    }

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