Skip to content

update_dashboard_permissions

update_dashboard_permissions(
    aws_account_id: AwsAccountId,
    dashboard_id: ShortRestrictiveResourceId,
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
    grant_permissions: Optional[UpdateResourcePermissionList] = None,
    revoke_permissions: Optional[UpdateResourcePermissionList] = None,
    grant_link_permissions: Optional[UpdateLinkPermissionList] = None,
    revoke_link_permissions: Optional[UpdateLinkPermissionList] = None,
) -> UpdateDashboardPermissionsResponse

Updates read and write permissions on a dashboard.

Parameters:

Raises:

Source code in docs_src/capo_quicksight/_services/quick_sight.py
def update_dashboard_permissions(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    dashboard_id: "capo_quicksight.types.short_restrictive_resource_id.ShortRestrictiveResourceId",
    *,
    config_overrides: Optional[QuickSightClientConfig] = 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,
    grant_link_permissions: Optional[
        "capo_quicksight.types.update_link_permission_list.UpdateLinkPermissionList"
    ] = None,
    revoke_link_permissions: Optional[
        "capo_quicksight.types.update_link_permission_list.UpdateLinkPermissionList"
    ] = None,
) -> "capo_quicksight.types.update_dashboard_permissions_response.UpdateDashboardPermissionsResponse":
    """<p>Updates read and write permissions on a dashboard.</p>

    Args:
        aws_account_id: <p>The ID of the Amazon Web Services account that contains the dashboard whose permissions you're updating.</p>
        dashboard_id: <p>The ID for the dashboard.</p>
        grant_permissions: <p>The permissions that you want to grant on this resource.</p>
        revoke_permissions: <p>The permissions that you want to revoke from this resource.</p>
        grant_link_permissions: <p>Grants link permissions to all users in a defined namespace.</p>
        revoke_link_permissions: <p>Revokes link permissions from all users in a defined namespace.</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.
    """

    def _handler(
        req: "OperationRequest[capo_quicksight.types.update_dashboard_permissions_request.UpdateDashboardPermissionsRequest]",
    ) -> OperationResponse[
        "capo_quicksight.types.update_dashboard_permissions_response.UpdateDashboardPermissionsResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_dashboard_permissions

        output, http_response = (
            capo_quicksight._operations.quick_sight_20180401.update_dashboard_permissions.update_dashboard_permissions(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateDashboardPermissions")
    )
    input_: capo_quicksight.types.update_dashboard_permissions_request.UpdateDashboardPermissionsRequest = {
        "aws_account_id": aws_account_id,
        "dashboard_id": dashboard_id,
    }
    if grant_permissions is not None:
        input_["grant_permissions"] = grant_permissions
    if revoke_permissions is not None:
        input_["revoke_permissions"] = revoke_permissions
    if grant_link_permissions is not None:
        input_["grant_link_permissions"] = grant_link_permissions
    if revoke_link_permissions is not None:
        input_["revoke_link_permissions"] = revoke_link_permissions

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output