Skip to content

update_knowledge_base_permissions async

update_knowledge_base_permissions(
    aws_account_id: KbAwsAccountId,
    knowledge_base_id: KnowledgeBaseId,
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    grant_permissions: Optional[ResourcePermissionList] = None,
    revoke_permissions: Optional[ResourcePermissionList] = None,
) -> UpdateKnowledgeBasePermissionsResponse

Updates the resource permissions for a knowledge base.

Parameters:

  • aws_account_id (KbAwsAccountId) –

    The ID of the Amazon Web Services account that contains the knowledge base.

  • knowledge_base_id (KnowledgeBaseId) –

    The unique identifier for the knowledge base.

  • grant_permissions (Optional[ResourcePermissionList], default: None ) –

    The resource permissions that you want to grant on the knowledge base.

  • revoke_permissions (Optional[ResourcePermissionList], default: None ) –

    The resource permissions that you want to revoke from the knowledge base.

Raises:

Source code in docs_src/capo_quicksight/_services/async_quick_sight.py
async def update_knowledge_base_permissions(
    self,
    aws_account_id: "capo_quicksight.types.kb_aws_account_id.KbAwsAccountId",
    knowledge_base_id: "capo_quicksight.types.knowledge_base_id.KnowledgeBaseId",
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    grant_permissions: Optional[
        "capo_quicksight.types.resource_permission_list.ResourcePermissionList"
    ] = None,
    revoke_permissions: Optional[
        "capo_quicksight.types.resource_permission_list.ResourcePermissionList"
    ] = None,
) -> "capo_quicksight.types.update_knowledge_base_permissions_response.UpdateKnowledgeBasePermissionsResponse":
    """<p>Updates the resource permissions for a knowledge base.</p>

    Args:
        aws_account_id: <p>The ID of the Amazon Web Services account that contains the knowledge base.</p>
        knowledge_base_id: <p>The unique identifier for the knowledge base.</p>
        grant_permissions: <p>The resource permissions that you want to grant on the knowledge base.</p>
        revoke_permissions: <p>The resource permissions that you want to revoke from the knowledge base.</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.invalid_request_exception.InvalidRequestException: <p>You don't have this feature activated for your account. To fix this issue, contact Amazon Web Services support.</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_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_knowledge_base_permissions_request.UpdateKnowledgeBasePermissionsRequest]",
    ) -> AsyncOperationResponse[
        "capo_quicksight.types.update_knowledge_base_permissions_response.UpdateKnowledgeBasePermissionsResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_knowledge_base_permissions

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateKnowledgeBasePermissions")
    )
    input_: capo_quicksight.types.update_knowledge_base_permissions_request.UpdateKnowledgeBasePermissionsRequest = {
        "aws_account_id": aws_account_id,
        "knowledge_base_id": knowledge_base_id,
    }
    if grant_permissions is not None:
        input_["grant_permissions"] = grant_permissions
    if revoke_permissions is not None:
        input_["revoke_permissions"] = revoke_permissions

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