Skip to content

update_data_source_permissions

update_data_source_permissions(
    aws_account_id: AwsAccountId,
    data_source_id: ResourceId,
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
    grant_permissions: Optional[ResourcePermissionList] = None,
    revoke_permissions: Optional[ResourcePermissionList] = None,
) -> UpdateDataSourcePermissionsResponse

Updates the permissions to a data source.

Parameters:

  • aws_account_id (AwsAccountId) –

    The Amazon Web Services account ID.

  • data_source_id (ResourceId) –

    The ID of the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.

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

    A list of resource permissions that you want to grant on the data source.

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

    A list of resource permissions that you want to revoke on the data source.

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.

  • ConflictException –

    Updating or deleting a resource can cause an inconsistent state.

  • InternalFailureException –

    An internal failure occurred.

  • InvalidParameterValueException –

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

  • ResourceNotFoundException –

    One or more resources can't be found.

  • ThrottlingException –

    Access is throttled.

  • UnknownServiceError –

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

Source code in docs_src/capo_quicksight/_services/quick_sight.py
def update_data_source_permissions(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    data_source_id: "capo_quicksight.types.resource_id.ResourceId",
    *,
    config_overrides: Optional[QuickSightClientConfig] = 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_data_source_permissions_response.UpdateDataSourcePermissionsResponse":
    """<p>Updates the permissions to a data source.</p>

    Args:
        aws_account_id: <p>The Amazon Web Services account ID.</p>
        data_source_id: <p>The ID of the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account. </p>
        grant_permissions: <p>A list of resource permissions that you want to grant on the data source.</p>
        revoke_permissions: <p>A list of resource permissions that you want to revoke on the data source.</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.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.
    """

    def _handler(
        req: "OperationRequest[capo_quicksight.types.update_data_source_permissions_request.UpdateDataSourcePermissionsRequest]",
    ) -> OperationResponse[
        "capo_quicksight.types.update_data_source_permissions_response.UpdateDataSourcePermissionsResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_data_source_permissions

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateDataSourcePermissions")
    )
    input_: capo_quicksight.types.update_data_source_permissions_request.UpdateDataSourcePermissionsRequest = {
        "aws_account_id": aws_account_id,
        "data_source_id": data_source_id,
    }
    if grant_permissions is not None:
        input_["grant_permissions"] = grant_permissions
    if revoke_permissions is not None:
        input_["revoke_permissions"] = revoke_permissions

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