SDK for PHP 3.x

Client: Aws\DSQL\DSQLClient
Service ID: dsql
Version: 2018-05-10

This page describes the parameters and results for the operations of the Amazon Aurora DSQL (2018-05-10), and shows how to use the Aws\DSQL\DSQLClient object to call the described operations. This documentation is specific to the 2018-05-10 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateCluster ( array $params = [] )
Creates a cluster in Amazon Aurora DSQL.
CreateMultiRegionClusters ( array $params = [] )
Creates multi-Region clusters in Amazon Aurora DSQL.
DeleteCluster ( array $params = [] )
Deletes a cluster in Amazon Aurora DSQL.
DeleteMultiRegionClusters ( array $params = [] )
Deletes a multi-Region cluster in Amazon Aurora DSQL.
GetCluster ( array $params = [] )
Retrieves information about a cluster.
ListClusters ( array $params = [] )
Retrieves information about a list of clusters.
ListTagsForResource ( array $params = [] )
Lists all of the tags for a resource.
TagResource ( array $params = [] )
Tags a resource with a map of key and value pairs.
UntagResource ( array $params = [] )
Removes a tag from a resource.
UpdateCluster ( array $params = [] )
Updates a cluster.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListClusters

Waiters

Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:

Waiter name API Operation Delay Max Attempts
ClusterActive GetCluster 2 60
ClusterNotExists GetCluster 2 60

Operations

CreateCluster

$result = $client->createCluster([/* ... */]);
$promise = $client->createClusterAsync([/* ... */]);

Creates a cluster in Amazon Aurora DSQL.

Parameter Syntax

$result = $client->createCluster([
    'clientToken' => '<string>',
    'deletionProtectionEnabled' => true || false,
    'tags' => ['<string>', ...],
]);

Parameter Details

Members
clientToken
Type: string

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.

deletionProtectionEnabled
Type: boolean

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

tags
Type: Associative array of custom strings keys (TagKey) to strings

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

Result Syntax

[
    'arn' => '<string>',
    'creationTime' => <DateTime>,
    'deletionProtectionEnabled' => true || false,
    'identifier' => '<string>',
    'status' => 'CREATING|ACTIVE|UPDATING|DELETING|DELETED|FAILED',
]

Result Details

Members
arn
Required: Yes
Type: string

The ARN of the created cluster.

creationTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time of when created the cluster.

deletionProtectionEnabled
Required: Yes
Type: boolean

Whether deletion protection is enabled on this cluster.

identifier
Required: Yes
Type: string

The ID of the created cluster.

status
Required: Yes
Type: string

The status of the created cluster.

Errors

ServiceQuotaExceededException:

The service limit was exceeded.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The submitted action has conflicts.

Examples

Example 1: Create Cluster
$result = $client->createCluster([
    'deletionProtectionEnabled' => ,
    'tags' => [
        'MyKey' => 'MyValue',
    ],
]);

CreateMultiRegionClusters

$result = $client->createMultiRegionClusters([/* ... */]);
$promise = $client->createMultiRegionClustersAsync([/* ... */]);

Creates multi-Region clusters in Amazon Aurora DSQL. Multi-Region clusters require a linked Region list, which is an array of the Regions in which you want to create linked clusters. Multi-Region clusters require a witness Region, which participates in quorum in failure scenarios.

Parameter Syntax

$result = $client->createMultiRegionClusters([
    'clientToken' => '<string>',
    'clusterProperties' => [
        '<Region>' => [
            'deletionProtectionEnabled' => true || false,
            'tags' => ['<string>', ...],
        ],
        // ...
    ],
    'linkedRegionList' => ['<string>', ...], // REQUIRED
    'witnessRegion' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

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.

clusterProperties
Type: Associative array of custom strings keys (Region) to LinkedClusterProperties structures

A mapping of properties to use when creating linked clusters.

linkedRegionList
Required: Yes
Type: Array of strings

An array of the Regions in which you want to create additional clusters.

witnessRegion
Required: Yes
Type: string

The witness Region of multi-Region clusters.

Result Syntax

[
    'linkedClusterArns' => ['<string>', ...],
]

Result Details

Members
linkedClusterArns
Required: Yes
Type: Array of strings

An array that contains the ARNs of all linked clusters.

Errors

ServiceQuotaExceededException:

The service limit was exceeded.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ConflictException:

The submitted action has conflicts.

Examples

Example 1: Create Multi Region Clusters
$result = $client->createMultiRegionClusters([
    'linkedRegionList' => [
        'us-east-1',
        'us-east-2',
    ],
    'witnessRegion' => 'us-west-2',
]);

Result syntax:

[
    'linkedClusterArns' => [
        'arn:aws:dsql:us-east-1:111122223333:cluster/abcdefghijklmnopqrst12345',
        'arn:aws:dsql:us-east-2:111122223333:cluster/klmnopqrstuvwxyzabcd54321',
    ],
]

DeleteCluster

$result = $client->deleteCluster([/* ... */]);
$promise = $client->deleteClusterAsync([/* ... */]);

Deletes a cluster in Amazon Aurora DSQL.

Parameter Syntax

$result = $client->deleteCluster([
    'clientToken' => '<string>',
    'identifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

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.

identifier
Required: Yes
Type: string

The ID of the cluster to delete.

Result Syntax

[
    'arn' => '<string>',
    'creationTime' => <DateTime>,
    'deletionProtectionEnabled' => true || false,
    'identifier' => '<string>',
    'status' => 'CREATING|ACTIVE|UPDATING|DELETING|DELETED|FAILED',
]

Result Details

Members
arn
Required: Yes
Type: string

The ARN of the deleted cluster.

creationTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time of when the cluster was created.

deletionProtectionEnabled
Required: Yes
Type: boolean

Specifies whether deletion protection was enabled on the cluster.

identifier
Required: Yes
Type: string

The ID of the deleted cluster.

status
Required: Yes
Type: string

The status of the cluster.

Errors

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ResourceNotFoundException:

The resource could not be found.

ConflictException:

The submitted action has conflicts.

Examples

Example 1: Delete Cluster
$result = $client->deleteCluster([
    'identifier' => 'kiqenqglxyl2snyvkvnj2c3s2e',
]);

DeleteMultiRegionClusters

$result = $client->deleteMultiRegionClusters([/* ... */]);
$promise = $client->deleteMultiRegionClustersAsync([/* ... */]);

Deletes a multi-Region cluster in Amazon Aurora DSQL.

Parameter Syntax

$result = $client->deleteMultiRegionClusters([
    'clientToken' => '<string>',
    'linkedClusterArns' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

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.

linkedClusterArns
Required: Yes
Type: Array of strings

The ARNs of the clusters linked to the cluster you want to delete. also deletes these clusters as part of the operation.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ResourceNotFoundException:

The resource could not be found.

ConflictException:

The submitted action has conflicts.

Examples

Example 1: Delete Multi Region Clusters
$result = $client->deleteMultiRegionClusters([
    'linkedClusterArns' => [
        'arn:aws:dsql:us-east-1:111122223333:cluster/abcdefghijklmnopqrst12345',
        'arn:aws:dsql:us-east-2:111122223333:cluster/klmnopqrstuvwxyzabcd54321',
    ],
]);

GetCluster

$result = $client->getCluster([/* ... */]);
$promise = $client->getClusterAsync([/* ... */]);

Retrieves information about a cluster.

Parameter Syntax

$result = $client->getCluster([
    'identifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
identifier
Required: Yes
Type: string

The ID of the cluster to retrieve.

Result Syntax

[
    'arn' => '<string>',
    'creationTime' => <DateTime>,
    'deletionProtectionEnabled' => true || false,
    'identifier' => '<string>',
    'linkedClusterArns' => ['<string>', ...],
    'status' => 'CREATING|ACTIVE|UPDATING|DELETING|DELETED|FAILED',
    'witnessRegion' => '<string>',
]

Result Details

Members
arn
Required: Yes
Type: string

The ARN of the retrieved cluster.

creationTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time of when the cluster was created.

deletionProtectionEnabled
Required: Yes
Type: boolean

Whether deletion protection is enabled in this cluster.

identifier
Required: Yes
Type: string

The ID of the retrieved cluster.

linkedClusterArns
Type: Array of strings

The ARNs of the clusters linked to the retrieved cluster.

status
Required: Yes
Type: string

The status of the retrieved cluster.

witnessRegion
Type: string

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

Errors

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ResourceNotFoundException:

The resource could not be found.

Examples

Example 1: Get Cluster
$result = $client->getCluster([
    'identifier' => 'kiqenqglxyl2snyvkvnj2c3s2e',
]);

ListClusters

$result = $client->listClusters([/* ... */]);
$promise = $client->listClustersAsync([/* ... */]);

Retrieves information about a list of clusters.

Parameter Syntax

$result = $client->listClusters([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

nextToken
Type: string

If your initial ListClusters operation returns a nextToken, you can include the returned nextToken in following ListClusters operations, which returns results in the next page.

Result Syntax

[
    'clusters' => [
        [
            'arn' => '<string>',
            'identifier' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
clusters
Required: Yes
Type: Array of ClusterSummary structures

An array of the returned clusters.

nextToken
Type: string

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token.

Errors

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ResourceNotFoundException:

The resource could not be found.

Examples

Example 1: List Clusters
$result = $client->listClusters([
    'maxResults' => 20,
]);

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Lists all of the tags for a resource.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource for which you want to list the tags.

Result Syntax

[
    'tags' => ['<string>', ...],
]

Result Details

Members
tags
Type: Associative array of custom strings keys (TagKey) to strings

A map of key and value pairs that you used to tag your resource.

Errors

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ResourceNotFoundException:

The resource could not be found.

Examples

Example 1: List Tags For Resource
$result = $client->listTagsForResource([
    'resourceArn' => 'arn:aws:dsql:us-east-1:111111222222:cluster/kiqenqglxyl2snyvkvnj2c3s2e',
]);

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Tags a resource with a map of key and value pairs.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource that you want to tag.

tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

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

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ServiceQuotaExceededException:

The service limit was exceeded.

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ResourceNotFoundException:

The resource could not be found.

Examples

Example 1: Tag Resource
$result = $client->tagResource([
    'resourceArn' => 'arn:aws:dsql:us-east-1:111111222222:cluster/kiqenqglxyl2snyvkvnj2c3s2e',
    'tags' => [
        'MyKey' => 'MyValue',
    ],
]);

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes a tag from a resource.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The ARN of the resource from which to remove tags.

tagKeys
Required: Yes
Type: Array of strings

The array of keys of the tags that you want to remove.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ResourceNotFoundException:

The resource could not be found.

Examples

Example 1: Untag Resource
$result = $client->untagResource([
    'resourceArn' => 'arn:aws:dsql:us-east-1:111111222222:cluster/kiqenqglxyl2snyvkvnj2c3s2e',
    'tagKeys' => [
        'MyKeyA',
        'MyKeyB',
    ],
]);

UpdateCluster

$result = $client->updateCluster([/* ... */]);
$promise = $client->updateClusterAsync([/* ... */]);

Updates a cluster.

Parameter Syntax

$result = $client->updateCluster([
    'clientToken' => '<string>',
    'deletionProtectionEnabled' => true || false,
    'identifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

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.

deletionProtectionEnabled
Type: boolean

Specifies whether to enable deletion protection in your cluster.

identifier
Required: Yes
Type: string

The ID of the cluster you want to update.

Result Syntax

[
    'arn' => '<string>',
    'creationTime' => <DateTime>,
    'deletionProtectionEnabled' => true || false,
    'identifier' => '<string>',
    'linkedClusterArns' => ['<string>', ...],
    'status' => 'CREATING|ACTIVE|UPDATING|DELETING|DELETED|FAILED',
    'witnessRegion' => '<string>',
]

Result Details

Members
arn
Required: Yes
Type: string

The ARN of the updated cluster.

creationTime
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time of when the cluster was created.

deletionProtectionEnabled
Required: Yes
Type: boolean

Whether deletion protection is enabled for the updated cluster.

identifier
Required: Yes
Type: string

The ID of the cluster to update.

linkedClusterArns
Type: Array of strings

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

status
Required: Yes
Type: string

The status of the updated cluster.

witnessRegion
Type: string

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

Errors

ThrottlingException:

The request was denied due to request throttling.

AccessDeniedException:

You do not have sufficient access to perform this action.

ValidationException:

The input failed to satisfy the constraints specified by an Amazon Web Services service.

InternalServerException:

The request processing has failed because of an unknown error, exception or failure.

ResourceNotFoundException:

The resource could not be found.

ConflictException:

The submitted action has conflicts.

Examples

Example 1: Update Cluster
$result = $client->updateCluster([
    'deletionProtectionEnabled' => ,
    'identifier' => 'kiqenqglxyl2snyvkvnj2c3s2e',
]);

Shapes

AccessDeniedException

Description

You do not have sufficient access to perform this action.

Members
message
Required: Yes
Type: string

ClusterSummary

Description

A summary of the properties of a cluster.

Members
arn
Required: Yes
Type: string

The ARN of the cluster.

identifier
Required: Yes
Type: string

The ID of the cluster.

ConflictException

Description

The submitted action has conflicts.

Members
message
Required: Yes
Type: string
resourceId
Type: string

Resource Id

resourceType
Type: string

Resource Type

InternalServerException

Description

The request processing has failed because of an unknown error, exception or failure.

Members
message
Required: Yes
Type: string
retryAfterSeconds
Type: int

Retry after seconds.

LinkedClusterProperties

Description

Properties of linked clusters.

Members
deletionProtectionEnabled
Type: boolean

Whether deletion protection is enabled.

tags
Type: Associative array of custom strings keys (TagKey) to strings

A map of key and value pairs the linked cluster is tagged with.

ResourceNotFoundException

Description

The resource could not be found.

Members
message
Required: Yes
Type: string
resourceId
Required: Yes
Type: string

Hypothetical identifier of the resource which does not exist

resourceType
Required: Yes
Type: string

Hypothetical type of the resource which does not exist

ServiceQuotaExceededException

Description

The service limit was exceeded.

Members
message
Required: Yes
Type: string

Description of the error

quotaCode
Required: Yes
Type: string

Service Quotas requirement to identify originating quota

resourceId
Required: Yes
Type: string

Identifier of the resource affected

resourceType
Required: Yes
Type: string

Type of the resource affected

serviceCode
Required: Yes
Type: string

Service Quotas requirement to identify originating service

ThrottlingException

Description

The request was denied due to request throttling.

Members
message
Required: Yes
Type: string

Description of the error

quotaCode
Type: string

Service Quotas requirement to identify originating quota

retryAfterSeconds
Type: int

Advice to clients on when the call can be safely retried

serviceCode
Type: string

Service Quotas requirement to identify originating service

ValidationException

Description

The input failed to satisfy the constraints specified by an Amazon Web Services service.

Members
fieldList
Type: Array of ValidationExceptionField structures

List of fields that caused the error

message
Required: Yes
Type: string
reason
Required: Yes
Type: string

Reason the request failed validation

ValidationExceptionField

Description

Stores information about a field passed inside a request that resulted in an validation error.

Members
message
Required: Yes
Type: string

A message describing why this field failed validation.

name
Required: Yes
Type: string

The name of the field.