Skip to content

update_folder_permissions async

update_folder_permissions(
    aws_account_id: AwsAccountId,
    folder_id: RestrictiveResourceId,
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    grant_permissions: Optional[ResourcePermissionList] = None,
    revoke_permissions: Optional[ResourcePermissionList] = None,
) -> UpdateFolderPermissionsResponse

Updates permissions of a folder.

Parameters:

  • aws_account_id (AwsAccountId) –

    The ID for the Amazon Web Services account that contains the folder to update.

  • folder_id (RestrictiveResourceId) –

    The ID of the folder.

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

    The permissions that you want to grant on a resource. Namespace ARNs are not supported Principal values for folder permissions.

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

    The permissions that you want to revoke from a resource. Namespace ARNs are not supported Principal values for folder permissions.

Raises:

  • AccessDeniedException –

    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.

  • InternalFailureException –

    An internal failure occurred.

  • InvalidParameterValueException –

    One or more parameters has a value that isn't valid.

  • LimitExceededException –

    A limit is exceeded.

  • ResourceNotFoundException –

    One or more resources can't be found.

  • ThrottlingException –

    Access is throttled.

  • UnsupportedUserEditionException –

    This error indicates that you are calling an operation on an Amazon Quick Suite subscription where the edition doesn't include support for that operation. Amazon Quick Suite currently has Standard Edition and Enterprise Edition. Not every operation and capability is available in every edition.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_quicksight/_services/async_quick_sight.py
async def update_folder_permissions(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    folder_id: "capo_quicksight.types.restrictive_resource_id.RestrictiveResourceId",
    *,
    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_folder_permissions_response.UpdateFolderPermissionsResponse":
    """<p>Updates permissions of a folder.</p>

    Args:
        aws_account_id: <p>The ID for the Amazon Web Services account that contains the folder to update.</p>
        folder_id: <p>The ID of the folder.</p>
        grant_permissions: <p>The permissions that you want to grant on a resource. Namespace ARNs are not supported <code>Principal</code> values for folder permissions.</p>
        revoke_permissions: <p>The permissions that you want to revoke from a resource. Namespace ARNs are not supported <code>Principal</code> values for folder permissions.</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.limit_exceeded_exception.LimitExceededException: <p>A limit is exceeded.</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.unsupported_user_edition_exception.UnsupportedUserEditionException: <p>This error indicates that you are calling an operation on an Amazon Quick Suite subscription where the edition doesn't include support for that operation. Amazon Quick Suite currently has Standard Edition and Enterprise Edition. Not every operation and capability is available in every edition.</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_folder_permissions_request.UpdateFolderPermissionsRequest]",
    ) -> AsyncOperationResponse[
        "capo_quicksight.types.update_folder_permissions_response.UpdateFolderPermissionsResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_folder_permissions

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateFolderPermissions")
    )
    input_: capo_quicksight.types.update_folder_permissions_request.UpdateFolderPermissionsRequest = {
        "aws_account_id": aws_account_id,
        "folder_id": folder_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