Amazon Aurora DSQL

2025/05/13 - Amazon Aurora DSQL - 4 updated api methods

Changes  CreateMultiRegionClusters and DeleteMultiRegionClusters APIs marked as deprecated. Introduced new multi-Region clusters creation experience through multiRegionProperties parameter in CreateCluster API.

CreateCluster (updated) Link ¶
Changes (request, response)
Request
{'multiRegionProperties': {'clusters': ['string'], 'witnessRegion': 'string'}}
Response
{'multiRegionProperties': {'clusters': ['string'], 'witnessRegion': 'string'},
 'status': {'PENDING_DELETE', 'PENDING_SETUP', 'IDLE', 'INACTIVE'}}

This operation creates a cluster in Amazon Aurora DSQL. You need the following permissions to use this operation.

Permission to create a cluster.

dsql:CreateCluster

Resources: arn:aws:dsql:region:account-id:cluster/*

Permission to add tags to a resource.

dsql:TagResource

Resources: arn:aws:dsql:region:account-id:cluster/*

Permission to configure multi-region properties for a cluster.

dsql:PutMultiRegionProperties

Resources: arn:aws:dsql:region:account-id:cluster/*

When specifying multiRegionProperties.clusters.

dsql:AddPeerCluster

Permission to add peer clusters.

Resources:

  • Local cluster: arn:aws:dsql:region:account-id:cluster/*

  • Each peer cluster: exact ARN of each specified peer cluster

When specifying multiRegionProperties.witnessRegion.

dsql:PutWitnessRegion

Permission to set a witness region.

Resources: arn:aws:dsql:region:account-id:cluster/*

Condition Keys: dsql:WitnessRegion (matching the specified witness region)

See also: AWS API Documentation

Request Syntax

client.create_cluster(
    deletionProtectionEnabled=True|False,
    tags={
        'string': 'string'
    },
    clientToken='string',
    multiRegionProperties={
        'witnessRegion': 'string',
        'clusters': [
            'string',
        ]
    }
)
type deletionProtectionEnabled:

boolean

param deletionProtectionEnabled:

If enabled, you can't delete your cluster. You must first disable this property before you can delete your cluster.

type tags:

dict

param tags:

A map of key and value pairs to use to tag your cluster.

  • (string) --

    Unique tag key, maximum 128 Unicode characters in UTF-8.

    • (string) --

      Tag value, maximum 256 Unicode characters in UTF-8.

type clientToken:

string

param clientToken:

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

If you don't specify a client token, the Amazon Web Services SDK automatically generates one.

This field is autopopulated if not provided.

type multiRegionProperties:

dict

param multiRegionProperties:

The configuration settings when creating a multi-Region cluster, including the witness region and linked cluster properties.

  • witnessRegion (string) --

    The that serves as the witness region for a multi-Region cluster. The witness region helps maintain cluster consistency and quorum.

  • clusters (list) --

    The set of linked clusters that form the multi-Region cluster configuration. Each linked cluster represents a database instance in a different Region.

    • (string) --

      The Amazon Resource Name of the cluster.

rtype:

dict

returns:

Response Syntax

{
    'identifier': 'string',
    'arn': 'string',
    'status': 'CREATING'|'ACTIVE'|'IDLE'|'INACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'FAILED'|'PENDING_SETUP'|'PENDING_DELETE',
    'creationTime': datetime(2015, 1, 1),
    'multiRegionProperties': {
        'witnessRegion': 'string',
        'clusters': [
            'string',
        ]
    },
    'deletionProtectionEnabled': True|False
}

Response Structure

  • (dict) --

    The output of a created cluster.

    • identifier (string) --

      The ID of the created cluster.

    • arn (string) --

      The ARN of the created cluster.

    • status (string) --

      The status of the created cluster.

    • creationTime (datetime) --

      The time of when created the cluster.

    • multiRegionProperties (dict) --

      The multi-Region cluster configuration details that were set during cluster creation

      • witnessRegion (string) --

        The that serves as the witness region for a multi-Region cluster. The witness region helps maintain cluster consistency and quorum.

      • clusters (list) --

        The set of linked clusters that form the multi-Region cluster configuration. Each linked cluster represents a database instance in a different Region.

        • (string) --

          The Amazon Resource Name of the cluster.

    • deletionProtectionEnabled (boolean) --

      Whether deletion protection is enabled on this cluster.

DeleteCluster (updated) Link ¶
Changes (response)
{'status': {'PENDING_DELETE', 'PENDING_SETUP', 'IDLE', 'INACTIVE'}}

Deletes a cluster in Amazon Aurora DSQL.

See also: AWS API Documentation

Request Syntax

client.delete_cluster(
    identifier='string',
    clientToken='string'
)
type identifier:

string

param identifier:

[REQUIRED]

The ID of the cluster to delete.

type clientToken:

string

param clientToken:

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

If you don't specify a client token, the Amazon Web Services SDK automatically generates one.

This field is autopopulated if not provided.

rtype:

dict

returns:

Response Syntax

{
    'identifier': 'string',
    'arn': 'string',
    'status': 'CREATING'|'ACTIVE'|'IDLE'|'INACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'FAILED'|'PENDING_SETUP'|'PENDING_DELETE',
    'creationTime': datetime(2015, 1, 1),
    'deletionProtectionEnabled': True|False
}

Response Structure

  • (dict) --

    The output from a deleted cluster.

    • identifier (string) --

      The ID of the deleted cluster.

    • arn (string) --

      The ARN of the deleted cluster.

    • status (string) --

      The status of the cluster.

    • creationTime (datetime) --

      The time of when the cluster was created.

    • deletionProtectionEnabled (boolean) --

      Specifies whether deletion protection was enabled on the cluster.

GetCluster (updated) Link ¶
Changes (response)
{'multiRegionProperties': {'clusters': ['string'], 'witnessRegion': 'string'},
 'status': {'PENDING_DELETE', 'PENDING_SETUP', 'IDLE', 'INACTIVE'},
 'tags': {'string': 'string'}}

Retrieves information about a cluster.

See also: AWS API Documentation

Request Syntax

client.get_cluster(
    identifier='string'
)
type identifier:

string

param identifier:

[REQUIRED]

The ID of the cluster to retrieve.

rtype:

dict

returns:

Response Syntax

{
    'identifier': 'string',
    'arn': 'string',
    'status': 'CREATING'|'ACTIVE'|'IDLE'|'INACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'FAILED'|'PENDING_SETUP'|'PENDING_DELETE',
    'creationTime': datetime(2015, 1, 1),
    'witnessRegion': 'string',
    'linkedClusterArns': [
        'string',
    ],
    'deletionProtectionEnabled': True|False,
    'multiRegionProperties': {
        'witnessRegion': 'string',
        'clusters': [
            'string',
        ]
    },
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    The output of a cluster.

    • identifier (string) --

      The ID of the retrieved cluster.

    • arn (string) --

      The ARN of the retrieved cluster.

    • status (string) --

      The status of the retrieved cluster.

    • creationTime (datetime) --

      The time of when the cluster was created.

    • witnessRegion (string) --

      The witness Region of the cluster. Applicable only for multi-Region clusters.

    • linkedClusterArns (list) --

      The ARNs of the clusters linked to the retrieved cluster.

      • (string) --

        The Amazon Resource Name of the cluster.

    • deletionProtectionEnabled (boolean) --

      Whether deletion protection is enabled in this cluster.

    • multiRegionProperties (dict) --

      Returns the current multi-Region cluster configuration, including witness region and linked cluster information.

      • witnessRegion (string) --

        The that serves as the witness region for a multi-Region cluster. The witness region helps maintain cluster consistency and quorum.

      • clusters (list) --

        The set of linked clusters that form the multi-Region cluster configuration. Each linked cluster represents a database instance in a different Region.

        • (string) --

          The Amazon Resource Name of the cluster.

    • tags (dict) --

      Map of tags.

      • (string) --

        Unique tag key, maximum 128 Unicode characters in UTF-8.

        • (string) --

          Tag value, maximum 256 Unicode characters in UTF-8.

UpdateCluster (updated) Link ¶
Changes (request, response)
Request
{'multiRegionProperties': {'clusters': ['string'], 'witnessRegion': 'string'}}
Response
{'status': {'PENDING_DELETE', 'PENDING_SETUP', 'IDLE', 'INACTIVE'}}

Updates a cluster.

Example IAM Policy for Multi-Region Operations

The following IAM policy grants permissions for multi-Region operations.

The dsql:RemovePeerCluster permission uses a wildcard ARN pattern to simplify permission management during updates.

See also: AWS API Documentation

Request Syntax

client.update_cluster(
    identifier='string',
    deletionProtectionEnabled=True|False,
    clientToken='string',
    multiRegionProperties={
        'witnessRegion': 'string',
        'clusters': [
            'string',
        ]
    }
)
type identifier:

string

param identifier:

[REQUIRED]

The ID of the cluster you want to update.

type deletionProtectionEnabled:

boolean

param deletionProtectionEnabled:

Specifies whether to enable deletion protection in your cluster.

type clientToken:

string

param clientToken:

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect.

If you don't specify a client token, the Amazon Web Services SDK automatically generates one.

This field is autopopulated if not provided.

type multiRegionProperties:

dict

param multiRegionProperties:

The new multi-Region cluster configuration settings to be applied during an update operation.

  • witnessRegion (string) --

    The that serves as the witness region for a multi-Region cluster. The witness region helps maintain cluster consistency and quorum.

  • clusters (list) --

    The set of linked clusters that form the multi-Region cluster configuration. Each linked cluster represents a database instance in a different Region.

    • (string) --

      The Amazon Resource Name of the cluster.

rtype:

dict

returns:

Response Syntax

{
    'identifier': 'string',
    'arn': 'string',
    'status': 'CREATING'|'ACTIVE'|'IDLE'|'INACTIVE'|'UPDATING'|'DELETING'|'DELETED'|'FAILED'|'PENDING_SETUP'|'PENDING_DELETE',
    'creationTime': datetime(2015, 1, 1),
    'witnessRegion': 'string',
    'linkedClusterArns': [
        'string',
    ],
    'deletionProtectionEnabled': True|False
}

Response Structure

  • (dict) --

    The details of the cluster after it has been updated.

    • identifier (string) --

      The ID of the cluster to update.

    • arn (string) --

      The ARN of the updated cluster.

    • status (string) --

      The status of the updated cluster.

    • creationTime (datetime) --

      The time of when the cluster was created.

    • witnessRegion (string) --

      The Region that receives all data you write to linked clusters.

    • linkedClusterArns (list) --

      The ARNs of the clusters linked to the updated cluster. Applicable only for multi-Region clusters.

      • (string) --

        The Amazon Resource Name of the cluster.

    • deletionProtectionEnabled (boolean) --

      Whether deletion protection is enabled for the updated cluster.