Skip to content

update_analysis_permissions async

update_analysis_permissions(
    aws_account_id: AwsAccountId,
    analysis_id: ShortRestrictiveResourceId,
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    grant_permissions: Optional[UpdateResourcePermissionList] = None,
    revoke_permissions: Optional[UpdateResourcePermissionList] = None,
) -> UpdateAnalysisPermissionsResponse

Updates the read and write permissions for an analysis.

Parameters:

  • aws_account_id (AwsAccountId) –

    The ID of the Amazon Web Services account that contains the analysis whose permissions you're updating. You must be using the Amazon Web Services account that the analysis is in.

  • analysis_id (ShortRestrictiveResourceId) –

    The ID of the analysis whose permissions you're updating. The ID is part of the analysis URL.

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

    A structure that describes the permissions to add and the principal to add them to.

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

    A structure that describes the permissions to remove and the principal to remove them from.

Raises:

Source code in docs_src/capo_quicksight/_services/async_quick_sight.py
async def update_analysis_permissions(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    analysis_id: "capo_quicksight.types.short_restrictive_resource_id.ShortRestrictiveResourceId",
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    grant_permissions: Optional[
        "capo_quicksight.types.update_resource_permission_list.UpdateResourcePermissionList"
    ] = None,
    revoke_permissions: Optional[
        "capo_quicksight.types.update_resource_permission_list.UpdateResourcePermissionList"
    ] = None,
) -> "capo_quicksight.types.update_analysis_permissions_response.UpdateAnalysisPermissionsResponse":
    """<p>Updates the read and write permissions for an analysis.</p>

    Args:
        aws_account_id: <p>The ID of the Amazon Web Services account that contains the analysis whose permissions you're updating. You must be using the Amazon Web Services account that the analysis is in.</p>
        analysis_id: <p>The ID of the analysis whose permissions you're updating. The ID is part of the analysis URL.</p>
        grant_permissions: <p>A structure that describes the permissions to add and the principal to add them to.</p>
        revoke_permissions: <p>A structure that describes the permissions to remove and the principal to remove them from.</p>

    Raises:
        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_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_analysis_permissions_request.UpdateAnalysisPermissionsRequest]",
    ) -> AsyncOperationResponse[
        "capo_quicksight.types.update_analysis_permissions_response.UpdateAnalysisPermissionsResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_analysis_permissions

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateAnalysisPermissions")
    )
    input_: capo_quicksight.types.update_analysis_permissions_request.UpdateAnalysisPermissionsRequest = {
        "aws_account_id": aws_account_id,
        "analysis_id": analysis_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