SDK for PHP 3.x

Client: Aws\MemoryDB\MemoryDBClient
Service ID: memorydb
Version: 2021-01-01

This page describes the parameters and results for the operations of the Amazon MemoryDB (2021-01-01), and shows how to use the Aws\MemoryDB\MemoryDBClient object to call the described operations. This documentation is specific to the 2021-01-01 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 */).

BatchUpdateCluster ( array $params = [] )
Apply the service update to a list of clusters supplied.
CopySnapshot ( array $params = [] )
Makes a copy of an existing snapshot.
CreateACL ( array $params = [] )
Creates an Access Control List.
CreateCluster ( array $params = [] )
Creates a cluster.
CreateMultiRegionCluster ( array $params = [] )
Creates a new multi-Region cluster.
CreateParameterGroup ( array $params = [] )
Creates a new MemoryDB parameter group.
CreateSnapshot ( array $params = [] )
Creates a copy of an entire cluster at a specific moment in time.
CreateSubnetGroup ( array $params = [] )
Creates a subnet group.
CreateUser ( array $params = [] )
Creates a MemoryDB user.
DeleteACL ( array $params = [] )
Deletes an Access Control List.
DeleteCluster ( array $params = [] )
Deletes a cluster.
DeleteMultiRegionCluster ( array $params = [] )
Deletes an existing multi-Region cluster.
DeleteParameterGroup ( array $params = [] )
Deletes the specified parameter group.
DeleteSnapshot ( array $params = [] )
Deletes an existing snapshot.
DeleteSubnetGroup ( array $params = [] )
Deletes a subnet group.
DeleteUser ( array $params = [] )
Deletes a user.
DescribeACLs ( array $params = [] )
Returns a list of ACLs.
DescribeClusters ( array $params = [] )
Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cluster if a cluster name is supplied.
DescribeEngineVersions ( array $params = [] )
Returns a list of the available Redis OSS engine versions.
DescribeEvents ( array $params = [] )
Returns events related to clusters, security groups, and parameter groups.
DescribeMultiRegionClusters ( array $params = [] )
Returns details about one or more multi-Region clusters.
DescribeParameterGroups ( array $params = [] )
Returns a list of parameter group descriptions.
DescribeParameters ( array $params = [] )
Returns the detailed parameter list for a particular parameter group.
DescribeReservedNodes ( array $params = [] )
Returns information about reserved nodes for this account, or about a specified reserved node.
DescribeReservedNodesOfferings ( array $params = [] )
Lists available reserved node offerings.
DescribeServiceUpdates ( array $params = [] )
Returns details of the service updates.
DescribeSnapshots ( array $params = [] )
Returns information about cluster snapshots.
DescribeSubnetGroups ( array $params = [] )
Returns a list of subnet group descriptions.
DescribeUsers ( array $params = [] )
Returns a list of users.
FailoverShard ( array $params = [] )
Used to failover a shard.
ListAllowedMultiRegionClusterUpdates ( array $params = [] )
Lists the allowed updates for a multi-Region cluster.
ListAllowedNodeTypeUpdates ( array $params = [] )
Lists all available node types that you can scale to from your cluster's current node type.
ListTags ( array $params = [] )
Lists all tags currently on a named resource.
PurchaseReservedNodesOffering ( array $params = [] )
Allows you to purchase a reserved node offering.
ResetParameterGroup ( array $params = [] )
Modifies the parameters of a parameter group to the engine or system default value.
TagResource ( array $params = [] )
A tag is a key-value pair where the key and value are case-sensitive.
UntagResource ( array $params = [] )
Use this operation to remove tags on a resource.
UpdateACL ( array $params = [] )
Changes the list of users that belong to the Access Control List.
UpdateCluster ( array $params = [] )
Modifies the settings for a cluster.
UpdateMultiRegionCluster ( array $params = [] )
Updates the configuration of an existing multi-Region cluster.
UpdateParameterGroup ( array $params = [] )
Updates the parameters of a parameter group.
UpdateSubnetGroup ( array $params = [] )
Updates a subnet group.
UpdateUser ( array $params = [] )
Changes user password(s) and/or access string.

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:

DescribeACLs
DescribeClusters
DescribeEngineVersions
DescribeEvents
DescribeMultiRegionClusters
DescribeParameterGroups
DescribeParameters
DescribeReservedNodes
DescribeReservedNodesOfferings
DescribeServiceUpdates
DescribeSnapshots
DescribeSubnetGroups
DescribeUsers

Operations

BatchUpdateCluster

$result = $client->batchUpdateCluster([/* ... */]);
$promise = $client->batchUpdateClusterAsync([/* ... */]);

Apply the service update to a list of clusters supplied. For more information on service updates and applying them, see Applying the service updates.

Parameter Syntax

$result = $client->batchUpdateCluster([
    'ClusterNames' => ['<string>', ...], // REQUIRED
    'ServiceUpdate' => [
        'ServiceUpdateNameToApply' => '<string>',
    ],
]);

Parameter Details

Members
ClusterNames
Required: Yes
Type: Array of strings

The cluster names to apply the updates.

ServiceUpdate
Type: ServiceUpdateRequest structure

The unique ID of the service update

Result Syntax

[
    'ProcessedClusters' => [
        [
            'ACLName' => '<string>',
            'ARN' => '<string>',
            'AutoMinorVersionUpgrade' => true || false,
            'AvailabilityMode' => 'singleaz|multiaz',
            'ClusterEndpoint' => [
                'Address' => '<string>',
                'Port' => <integer>,
            ],
            'DataTiering' => 'true|false',
            'Description' => '<string>',
            'Engine' => '<string>',
            'EnginePatchVersion' => '<string>',
            'EngineVersion' => '<string>',
            'KmsKeyId' => '<string>',
            'MaintenanceWindow' => '<string>',
            'MultiRegionClusterName' => '<string>',
            'Name' => '<string>',
            'NodeType' => '<string>',
            'NumberOfShards' => <integer>,
            'ParameterGroupName' => '<string>',
            'ParameterGroupStatus' => '<string>',
            'PendingUpdates' => [
                'ACLs' => [
                    'ACLToApply' => '<string>',
                ],
                'Resharding' => [
                    'SlotMigration' => [
                        'ProgressPercentage' => <float>,
                    ],
                ],
                'ServiceUpdates' => [
                    [
                        'ServiceUpdateName' => '<string>',
                        'Status' => 'available|in-progress|complete|scheduled',
                    ],
                    // ...
                ],
            ],
            'SecurityGroups' => [
                [
                    'SecurityGroupId' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'Shards' => [
                [
                    'Name' => '<string>',
                    'Nodes' => [
                        [
                            'AvailabilityZone' => '<string>',
                            'CreateTime' => <DateTime>,
                            'Endpoint' => [
                                'Address' => '<string>',
                                'Port' => <integer>,
                            ],
                            'Name' => '<string>',
                            'Status' => '<string>',
                        ],
                        // ...
                    ],
                    'NumberOfNodes' => <integer>,
                    'Slots' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'SnapshotRetentionLimit' => <integer>,
            'SnapshotWindow' => '<string>',
            'SnsTopicArn' => '<string>',
            'SnsTopicStatus' => '<string>',
            'Status' => '<string>',
            'SubnetGroupName' => '<string>',
            'TLSEnabled' => true || false,
        ],
        // ...
    ],
    'UnprocessedClusters' => [
        [
            'ClusterName' => '<string>',
            'ErrorMessage' => '<string>',
            'ErrorType' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ProcessedClusters
Type: Array of Cluster structures

The list of clusters that have been updated.

UnprocessedClusters
Type: Array of UnprocessedCluster structures

The list of clusters where updates have not been applied.

Errors

ServiceUpdateNotFoundFault:

InvalidParameterValueException:

CopySnapshot

$result = $client->copySnapshot([/* ... */]);
$promise = $client->copySnapshotAsync([/* ... */]);

Makes a copy of an existing snapshot.

Parameter Syntax

$result = $client->copySnapshot([
    'KmsKeyId' => '<string>',
    'SourceSnapshotName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetBucket' => '<string>',
    'TargetSnapshotName' => '<string>', // REQUIRED
]);

Parameter Details

Members
KmsKeyId
Type: string

The ID of the KMS key used to encrypt the target snapshot.

SourceSnapshotName
Required: Yes
Type: string

The name of an existing snapshot from which to make a copy.

Tags
Type: Array of Tag structures

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

TargetBucket
Type: string

The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access. When using this parameter to export a snapshot, be sure MemoryDB has the needed permissions to this S3 bucket. For more information, see Step 2: Grant MemoryDB Access to Your Amazon S3 Bucket.

TargetSnapshotName
Required: Yes
Type: string

A name for the snapshot copy. MemoryDB does not permit overwriting a snapshot, therefore this name must be unique within its context - MemoryDB or an Amazon S3 bucket if exporting.

Result Syntax

[
    'Snapshot' => [
        'ARN' => '<string>',
        'ClusterConfiguration' => [
            'Description' => '<string>',
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'MaintenanceWindow' => '<string>',
            'MultiRegionClusterName' => '<string>',
            'MultiRegionParameterGroupName' => '<string>',
            'Name' => '<string>',
            'NodeType' => '<string>',
            'NumShards' => <integer>,
            'ParameterGroupName' => '<string>',
            'Port' => <integer>,
            'Shards' => [
                [
                    'Configuration' => [
                        'ReplicaCount' => <integer>,
                        'Slots' => '<string>',
                    ],
                    'Name' => '<string>',
                    'Size' => '<string>',
                    'SnapshotCreationTime' => <DateTime>,
                ],
                // ...
            ],
            'SnapshotRetentionLimit' => <integer>,
            'SnapshotWindow' => '<string>',
            'SubnetGroupName' => '<string>',
            'TopicArn' => '<string>',
            'VpcId' => '<string>',
        ],
        'DataTiering' => 'true|false',
        'KmsKeyId' => '<string>',
        'Name' => '<string>',
        'Source' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
Snapshot
Type: Snapshot structure

Represents a copy of an entire cluster as of the time when the snapshot was taken.

Errors

SnapshotAlreadyExistsFault:

SnapshotNotFoundFault:

SnapshotQuotaExceededFault:

InvalidSnapshotStateFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

TagQuotaPerResourceExceeded:

CreateACL

$result = $client->createACL([/* ... */]);
$promise = $client->createACLAsync([/* ... */]);

Creates an Access Control List. For more information, see Authenticating users with Access Contol Lists (ACLs).

Parameter Syntax

$result = $client->createACL([
    'ACLName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'UserNames' => ['<string>', ...],
]);

Parameter Details

Members
ACLName
Required: Yes
Type: string

The name of the Access Control List.

Tags
Type: Array of Tag structures

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

UserNames
Type: Array of strings

The list of users that belong to the Access Control List.

Result Syntax

[
    'ACL' => [
        'ARN' => '<string>',
        'Clusters' => ['<string>', ...],
        'MinimumEngineVersion' => '<string>',
        'Name' => '<string>',
        'PendingChanges' => [
            'UserNamesToAdd' => ['<string>', ...],
            'UserNamesToRemove' => ['<string>', ...],
        ],
        'Status' => '<string>',
        'UserNames' => ['<string>', ...],
    ],
]

Result Details

Members
ACL
Type: ACL structure

The newly-created Access Control List.

Errors

UserNotFoundFault:

DuplicateUserNameFault:

ACLAlreadyExistsFault:

DefaultUserRequired:

ACLQuotaExceededFault:

InvalidParameterValueException:

TagQuotaPerResourceExceeded:

CreateCluster

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

Creates a cluster. All nodes in the cluster run the same protocol-compliant engine software.

Parameter Syntax

$result = $client->createCluster([
    'ACLName' => '<string>', // REQUIRED
    'AutoMinorVersionUpgrade' => true || false,
    'ClusterName' => '<string>', // REQUIRED
    'DataTiering' => true || false,
    'Description' => '<string>',
    'Engine' => '<string>',
    'EngineVersion' => '<string>',
    'KmsKeyId' => '<string>',
    'MaintenanceWindow' => '<string>',
    'MultiRegionClusterName' => '<string>',
    'NodeType' => '<string>', // REQUIRED
    'NumReplicasPerShard' => <integer>,
    'NumShards' => <integer>,
    'ParameterGroupName' => '<string>',
    'Port' => <integer>,
    'SecurityGroupIds' => ['<string>', ...],
    'SnapshotArns' => ['<string>', ...],
    'SnapshotName' => '<string>',
    'SnapshotRetentionLimit' => <integer>,
    'SnapshotWindow' => '<string>',
    'SnsTopicArn' => '<string>',
    'SubnetGroupName' => '<string>',
    'TLSEnabled' => true || false,
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ACLName
Required: Yes
Type: string

The name of the Access Control List to associate with the cluster.

AutoMinorVersionUpgrade
Type: boolean

When set to true, the cluster will automatically receive minor engine version upgrades after launch.

ClusterName
Required: Yes
Type: string

The name of the cluster. This value must be unique as it also serves as the cluster identifier.

DataTiering
Type: boolean

Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see Data tiering.

Description
Type: string

An optional description of the cluster.

Engine
Type: string

The name of the engine to be used for the cluster.

EngineVersion
Type: string

The version number of the Redis OSS engine to be used for the cluster.

KmsKeyId
Type: string

The ID of the KMS key used to encrypt the cluster.

MaintenanceWindow
Type: string

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

MultiRegionClusterName
Type: string

The name of the multi-Region cluster to be created.

NodeType
Required: Yes
Type: string

The compute and memory capacity of the nodes in the cluster.

NumReplicasPerShard
Type: int

The number of replicas to apply to each shard. The default value is 1. The maximum is 5.

NumShards
Type: int

The number of shards the cluster will contain. The default value is 1.

ParameterGroupName
Type: string

The name of the parameter group associated with the cluster.

Port
Type: int

The port number on which each of the nodes accepts connections.

SecurityGroupIds
Type: Array of strings

A list of security group names to associate with this cluster.

SnapshotArns
Type: Array of strings

A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new cluster. The Amazon S3 object name in the ARN cannot contain any commas.

SnapshotName
Type: string

The name of a snapshot from which to restore data into the new cluster. The snapshot status changes to restoring while the new cluster is being created.

SnapshotRetentionLimit
Type: int

The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

SnapshotWindow
Type: string

The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.

Example: 05:00-09:00

If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

SnsTopicArn
Type: string

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

SubnetGroupName
Type: string

The name of the subnet group to be used for the cluster.

TLSEnabled
Type: boolean

A flag to enable in-transit encryption on the cluster.

Tags
Type: Array of Tag structures

A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.

Result Syntax

[
    'Cluster' => [
        'ACLName' => '<string>',
        'ARN' => '<string>',
        'AutoMinorVersionUpgrade' => true || false,
        'AvailabilityMode' => 'singleaz|multiaz',
        'ClusterEndpoint' => [
            'Address' => '<string>',
            'Port' => <integer>,
        ],
        'DataTiering' => 'true|false',
        'Description' => '<string>',
        'Engine' => '<string>',
        'EnginePatchVersion' => '<string>',
        'EngineVersion' => '<string>',
        'KmsKeyId' => '<string>',
        'MaintenanceWindow' => '<string>',
        'MultiRegionClusterName' => '<string>',
        'Name' => '<string>',
        'NodeType' => '<string>',
        'NumberOfShards' => <integer>,
        'ParameterGroupName' => '<string>',
        'ParameterGroupStatus' => '<string>',
        'PendingUpdates' => [
            'ACLs' => [
                'ACLToApply' => '<string>',
            ],
            'Resharding' => [
                'SlotMigration' => [
                    'ProgressPercentage' => <float>,
                ],
            ],
            'ServiceUpdates' => [
                [
                    'ServiceUpdateName' => '<string>',
                    'Status' => 'available|in-progress|complete|scheduled',
                ],
                // ...
            ],
        ],
        'SecurityGroups' => [
            [
                'SecurityGroupId' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'Shards' => [
            [
                'Name' => '<string>',
                'Nodes' => [
                    [
                        'AvailabilityZone' => '<string>',
                        'CreateTime' => <DateTime>,
                        'Endpoint' => [
                            'Address' => '<string>',
                            'Port' => <integer>,
                        ],
                        'Name' => '<string>',
                        'Status' => '<string>',
                    ],
                    // ...
                ],
                'NumberOfNodes' => <integer>,
                'Slots' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'SnapshotRetentionLimit' => <integer>,
        'SnapshotWindow' => '<string>',
        'SnsTopicArn' => '<string>',
        'SnsTopicStatus' => '<string>',
        'Status' => '<string>',
        'SubnetGroupName' => '<string>',
        'TLSEnabled' => true || false,
    ],
]

Result Details

Members
Cluster
Type: Cluster structure

The newly-created cluster.

Errors

ClusterAlreadyExistsFault:

SubnetGroupNotFoundFault:

ClusterQuotaForCustomerExceededFault:

NodeQuotaForClusterExceededFault:

NodeQuotaForCustomerExceededFault:

ParameterGroupNotFoundFault:

InsufficientClusterCapacityFault:

InvalidVPCNetworkStateFault:

ServiceLinkedRoleNotFoundFault:

ShardsPerClusterQuotaExceededFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

InvalidCredentialsException:

TagQuotaPerResourceExceeded:

ACLNotFoundFault:

InvalidACLStateFault:

MultiRegionClusterNotFoundFault:

The specified multi-Region cluster does not exist.

InvalidMultiRegionClusterStateFault:

The requested operation cannot be performed on the multi-Region cluster in its current state.

CreateMultiRegionCluster

$result = $client->createMultiRegionCluster([/* ... */]);
$promise = $client->createMultiRegionClusterAsync([/* ... */]);

Creates a new multi-Region cluster.

Parameter Syntax

$result = $client->createMultiRegionCluster([
    'Description' => '<string>',
    'Engine' => '<string>',
    'EngineVersion' => '<string>',
    'MultiRegionClusterNameSuffix' => '<string>', // REQUIRED
    'MultiRegionParameterGroupName' => '<string>',
    'NodeType' => '<string>', // REQUIRED
    'NumShards' => <integer>,
    'TLSEnabled' => true || false,
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
Description
Type: string

A description for the multi-Region cluster.

Engine
Type: string

The name of the engine to be used for the multi-Region cluster.

EngineVersion
Type: string

The version of the engine to be used for the multi-Region cluster.

MultiRegionClusterNameSuffix
Required: Yes
Type: string

A suffix to be added to the multi-Region cluster name.

MultiRegionParameterGroupName
Type: string

The name of the multi-Region parameter group to be associated with the cluster.

NodeType
Required: Yes
Type: string

The node type to be used for the multi-Region cluster.

NumShards
Type: int

The number of shards for the multi-Region cluster.

TLSEnabled
Type: boolean

Whether to enable TLS encryption for the multi-Region cluster.

Tags
Type: Array of Tag structures

A list of tags to be applied to the multi-Region cluster.

Result Syntax

[
    'MultiRegionCluster' => [
        'ARN' => '<string>',
        'Clusters' => [
            [
                'ARN' => '<string>',
                'ClusterName' => '<string>',
                'Region' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'Description' => '<string>',
        'Engine' => '<string>',
        'EngineVersion' => '<string>',
        'MultiRegionClusterName' => '<string>',
        'MultiRegionParameterGroupName' => '<string>',
        'NodeType' => '<string>',
        'NumberOfShards' => <integer>,
        'Status' => '<string>',
        'TLSEnabled' => true || false,
    ],
]

Result Details

Members
MultiRegionCluster
Type: MultiRegionCluster structure

Details about the newly created multi-Region cluster.

Errors

MultiRegionClusterAlreadyExistsFault:

A multi-Region cluster with the specified name already exists.

InvalidParameterCombinationException:

InvalidParameterValueException:

MultiRegionParameterGroupNotFoundFault:

The specified multi-Region parameter group does not exist.

ClusterQuotaForCustomerExceededFault:

TagQuotaPerResourceExceeded:

CreateParameterGroup

$result = $client->createParameterGroup([/* ... */]);
$promise = $client->createParameterGroupAsync([/* ... */]);

Creates a new MemoryDB parameter group. A parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster. For more information, see Configuring engine parameters using parameter groups.

Parameter Syntax

$result = $client->createParameterGroup([
    'Description' => '<string>',
    'Family' => '<string>', // REQUIRED
    'ParameterGroupName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
Description
Type: string

An optional description of the parameter group.

Family
Required: Yes
Type: string

The name of the parameter group family that the parameter group can be used with.

ParameterGroupName
Required: Yes
Type: string

The name of the parameter group.

Tags
Type: Array of Tag structures

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

Result Syntax

[
    'ParameterGroup' => [
        'ARN' => '<string>',
        'Description' => '<string>',
        'Family' => '<string>',
        'Name' => '<string>',
    ],
]

Result Details

Members
ParameterGroup
Type: ParameterGroup structure

The newly-created parameter group.

Errors

ParameterGroupQuotaExceededFault:

ParameterGroupAlreadyExistsFault:

InvalidParameterGroupStateFault:

ServiceLinkedRoleNotFoundFault:

TagQuotaPerResourceExceeded:

InvalidParameterValueException:

InvalidParameterCombinationException:

CreateSnapshot

$result = $client->createSnapshot([/* ... */]);
$promise = $client->createSnapshotAsync([/* ... */]);

Creates a copy of an entire cluster at a specific moment in time.

Parameter Syntax

$result = $client->createSnapshot([
    'ClusterName' => '<string>', // REQUIRED
    'KmsKeyId' => '<string>',
    'SnapshotName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ClusterName
Required: Yes
Type: string

The snapshot is created from this cluster.

KmsKeyId
Type: string

The ID of the KMS key used to encrypt the snapshot.

SnapshotName
Required: Yes
Type: string

A name for the snapshot being created.

Tags
Type: Array of Tag structures

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

Result Syntax

[
    'Snapshot' => [
        'ARN' => '<string>',
        'ClusterConfiguration' => [
            'Description' => '<string>',
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'MaintenanceWindow' => '<string>',
            'MultiRegionClusterName' => '<string>',
            'MultiRegionParameterGroupName' => '<string>',
            'Name' => '<string>',
            'NodeType' => '<string>',
            'NumShards' => <integer>,
            'ParameterGroupName' => '<string>',
            'Port' => <integer>,
            'Shards' => [
                [
                    'Configuration' => [
                        'ReplicaCount' => <integer>,
                        'Slots' => '<string>',
                    ],
                    'Name' => '<string>',
                    'Size' => '<string>',
                    'SnapshotCreationTime' => <DateTime>,
                ],
                // ...
            ],
            'SnapshotRetentionLimit' => <integer>,
            'SnapshotWindow' => '<string>',
            'SubnetGroupName' => '<string>',
            'TopicArn' => '<string>',
            'VpcId' => '<string>',
        ],
        'DataTiering' => 'true|false',
        'KmsKeyId' => '<string>',
        'Name' => '<string>',
        'Source' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
Snapshot
Type: Snapshot structure

The newly-created snapshot.

Errors

SnapshotAlreadyExistsFault:

ClusterNotFoundFault:

InvalidClusterStateFault:

SnapshotQuotaExceededFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterCombinationException:

InvalidParameterValueException:

TagQuotaPerResourceExceeded:

CreateSubnetGroup

$result = $client->createSubnetGroup([/* ... */]);
$promise = $client->createSubnetGroupAsync([/* ... */]);

Creates a subnet group. A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment. When you create a cluster in an Amazon VPC, you must specify a subnet group. MemoryDB uses that subnet group to choose a subnet and IP addresses within that subnet to associate with your nodes. For more information, see Subnets and subnet groups.

Parameter Syntax

$result = $client->createSubnetGroup([
    'Description' => '<string>',
    'SubnetGroupName' => '<string>', // REQUIRED
    'SubnetIds' => ['<string>', ...], // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
Description
Type: string

A description for the subnet group.

SubnetGroupName
Required: Yes
Type: string

The name of the subnet group.

SubnetIds
Required: Yes
Type: Array of strings

A list of VPC subnet IDs for the subnet group.

Tags
Type: Array of Tag structures

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

Result Syntax

[
    'SubnetGroup' => [
        'ARN' => '<string>',
        'Description' => '<string>',
        'Name' => '<string>',
        'Subnets' => [
            [
                'AvailabilityZone' => [
                    'Name' => '<string>',
                ],
                'Identifier' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
SubnetGroup
Type: SubnetGroup structure

The newly-created subnet group.

Errors

SubnetGroupAlreadyExistsFault:

SubnetGroupQuotaExceededFault:

SubnetQuotaExceededFault:

InvalidSubnet:

ServiceLinkedRoleNotFoundFault:

SubnetNotAllowedFault:

TagQuotaPerResourceExceeded:

CreateUser

$result = $client->createUser([/* ... */]);
$promise = $client->createUserAsync([/* ... */]);

Creates a MemoryDB user. For more information, see Authenticating users with Access Contol Lists (ACLs).

Parameter Syntax

$result = $client->createUser([
    'AccessString' => '<string>', // REQUIRED
    'AuthenticationMode' => [ // REQUIRED
        'Passwords' => ['<string>', ...],
        'Type' => 'password|iam',
    ],
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'UserName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccessString
Required: Yes
Type: string

Access permissions string used for this user.

AuthenticationMode
Required: Yes
Type: AuthenticationMode structure

Denotes the user's authentication properties, such as whether it requires a password to authenticate.

Tags
Type: Array of Tag structures

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

UserName
Required: Yes
Type: string

The name of the user. This value must be unique as it also serves as the user identifier.

Result Syntax

[
    'User' => [
        'ACLNames' => ['<string>', ...],
        'ARN' => '<string>',
        'AccessString' => '<string>',
        'Authentication' => [
            'PasswordCount' => <integer>,
            'Type' => 'password|no-password|iam',
        ],
        'MinimumEngineVersion' => '<string>',
        'Name' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
User
Type: User structure

The newly-created user.

Errors

UserAlreadyExistsFault:

UserQuotaExceededFault:

DuplicateUserNameFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

TagQuotaPerResourceExceeded:

DeleteACL

$result = $client->deleteACL([/* ... */]);
$promise = $client->deleteACLAsync([/* ... */]);

Deletes an Access Control List. The ACL must first be disassociated from the cluster before it can be deleted. For more information, see Authenticating users with Access Contol Lists (ACLs).

Parameter Syntax

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

Parameter Details

Members
ACLName
Required: Yes
Type: string

The name of the Access Control List to delete.

Result Syntax

[
    'ACL' => [
        'ARN' => '<string>',
        'Clusters' => ['<string>', ...],
        'MinimumEngineVersion' => '<string>',
        'Name' => '<string>',
        'PendingChanges' => [
            'UserNamesToAdd' => ['<string>', ...],
            'UserNamesToRemove' => ['<string>', ...],
        ],
        'Status' => '<string>',
        'UserNames' => ['<string>', ...],
    ],
]

Result Details

Members
ACL
Type: ACL structure

The Access Control List object that has been deleted.

Errors

ACLNotFoundFault:

InvalidACLStateFault:

InvalidParameterValueException:

DeleteCluster

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

Deletes a cluster. It also deletes all associated nodes and node endpoints.

CreateSnapshot permission is required to create a final snapshot. Without this permission, the API call will fail with an Access Denied exception.

Parameter Syntax

$result = $client->deleteCluster([
    'ClusterName' => '<string>', // REQUIRED
    'FinalSnapshotName' => '<string>',
    'MultiRegionClusterName' => '<string>',
]);

Parameter Details

Members
ClusterName
Required: Yes
Type: string

The name of the cluster to be deleted

FinalSnapshotName
Type: string

The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward.

MultiRegionClusterName
Type: string

The name of the multi-Region cluster to be deleted.

Result Syntax

[
    'Cluster' => [
        'ACLName' => '<string>',
        'ARN' => '<string>',
        'AutoMinorVersionUpgrade' => true || false,
        'AvailabilityMode' => 'singleaz|multiaz',
        'ClusterEndpoint' => [
            'Address' => '<string>',
            'Port' => <integer>,
        ],
        'DataTiering' => 'true|false',
        'Description' => '<string>',
        'Engine' => '<string>',
        'EnginePatchVersion' => '<string>',
        'EngineVersion' => '<string>',
        'KmsKeyId' => '<string>',
        'MaintenanceWindow' => '<string>',
        'MultiRegionClusterName' => '<string>',
        'Name' => '<string>',
        'NodeType' => '<string>',
        'NumberOfShards' => <integer>,
        'ParameterGroupName' => '<string>',
        'ParameterGroupStatus' => '<string>',
        'PendingUpdates' => [
            'ACLs' => [
                'ACLToApply' => '<string>',
            ],
            'Resharding' => [
                'SlotMigration' => [
                    'ProgressPercentage' => <float>,
                ],
            ],
            'ServiceUpdates' => [
                [
                    'ServiceUpdateName' => '<string>',
                    'Status' => 'available|in-progress|complete|scheduled',
                ],
                // ...
            ],
        ],
        'SecurityGroups' => [
            [
                'SecurityGroupId' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'Shards' => [
            [
                'Name' => '<string>',
                'Nodes' => [
                    [
                        'AvailabilityZone' => '<string>',
                        'CreateTime' => <DateTime>,
                        'Endpoint' => [
                            'Address' => '<string>',
                            'Port' => <integer>,
                        ],
                        'Name' => '<string>',
                        'Status' => '<string>',
                    ],
                    // ...
                ],
                'NumberOfNodes' => <integer>,
                'Slots' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'SnapshotRetentionLimit' => <integer>,
        'SnapshotWindow' => '<string>',
        'SnsTopicArn' => '<string>',
        'SnsTopicStatus' => '<string>',
        'Status' => '<string>',
        'SubnetGroupName' => '<string>',
        'TLSEnabled' => true || false,
    ],
]

Result Details

Members
Cluster
Type: Cluster structure

The cluster object that has been deleted.

Errors

ClusterNotFoundFault:

InvalidClusterStateFault:

SnapshotAlreadyExistsFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DeleteMultiRegionCluster

$result = $client->deleteMultiRegionCluster([/* ... */]);
$promise = $client->deleteMultiRegionClusterAsync([/* ... */]);

Deletes an existing multi-Region cluster.

Parameter Syntax

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

Parameter Details

Members
MultiRegionClusterName
Required: Yes
Type: string

The name of the multi-Region cluster to be deleted.

Result Syntax

[
    'MultiRegionCluster' => [
        'ARN' => '<string>',
        'Clusters' => [
            [
                'ARN' => '<string>',
                'ClusterName' => '<string>',
                'Region' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'Description' => '<string>',
        'Engine' => '<string>',
        'EngineVersion' => '<string>',
        'MultiRegionClusterName' => '<string>',
        'MultiRegionParameterGroupName' => '<string>',
        'NodeType' => '<string>',
        'NumberOfShards' => <integer>,
        'Status' => '<string>',
        'TLSEnabled' => true || false,
    ],
]

Result Details

Members
MultiRegionCluster
Type: MultiRegionCluster structure

Details about the deleted multi-Region cluster.

Errors

MultiRegionClusterNotFoundFault:

The specified multi-Region cluster does not exist.

InvalidMultiRegionClusterStateFault:

The requested operation cannot be performed on the multi-Region cluster in its current state.

InvalidParameterValueException:

DeleteParameterGroup

$result = $client->deleteParameterGroup([/* ... */]);
$promise = $client->deleteParameterGroupAsync([/* ... */]);

Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any clusters. You cannot delete the default parameter groups in your account.

Parameter Syntax

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

Parameter Details

Members
ParameterGroupName
Required: Yes
Type: string

The name of the parameter group to delete.

Result Syntax

[
    'ParameterGroup' => [
        'ARN' => '<string>',
        'Description' => '<string>',
        'Family' => '<string>',
        'Name' => '<string>',
    ],
]

Result Details

Members
ParameterGroup
Type: ParameterGroup structure

The parameter group that has been deleted.

Errors

InvalidParameterGroupStateFault:

ParameterGroupNotFoundFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DeleteSnapshot

$result = $client->deleteSnapshot([/* ... */]);
$promise = $client->deleteSnapshotAsync([/* ... */]);

Deletes an existing snapshot. When you receive a successful response from this operation, MemoryDB immediately begins deleting the snapshot; you cannot cancel or revert this operation.

Parameter Syntax

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

Parameter Details

Members
SnapshotName
Required: Yes
Type: string

The name of the snapshot to delete.

Result Syntax

[
    'Snapshot' => [
        'ARN' => '<string>',
        'ClusterConfiguration' => [
            'Description' => '<string>',
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'MaintenanceWindow' => '<string>',
            'MultiRegionClusterName' => '<string>',
            'MultiRegionParameterGroupName' => '<string>',
            'Name' => '<string>',
            'NodeType' => '<string>',
            'NumShards' => <integer>,
            'ParameterGroupName' => '<string>',
            'Port' => <integer>,
            'Shards' => [
                [
                    'Configuration' => [
                        'ReplicaCount' => <integer>,
                        'Slots' => '<string>',
                    ],
                    'Name' => '<string>',
                    'Size' => '<string>',
                    'SnapshotCreationTime' => <DateTime>,
                ],
                // ...
            ],
            'SnapshotRetentionLimit' => <integer>,
            'SnapshotWindow' => '<string>',
            'SubnetGroupName' => '<string>',
            'TopicArn' => '<string>',
            'VpcId' => '<string>',
        ],
        'DataTiering' => 'true|false',
        'KmsKeyId' => '<string>',
        'Name' => '<string>',
        'Source' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
Snapshot
Type: Snapshot structure

The snapshot object that has been deleted.

Errors

SnapshotNotFoundFault:

InvalidSnapshotStateFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DeleteSubnetGroup

$result = $client->deleteSubnetGroup([/* ... */]);
$promise = $client->deleteSubnetGroupAsync([/* ... */]);

Deletes a subnet group. You cannot delete a default subnet group or one that is associated with any clusters.

Parameter Syntax

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

Parameter Details

Members
SubnetGroupName
Required: Yes
Type: string

The name of the subnet group to delete.

Result Syntax

[
    'SubnetGroup' => [
        'ARN' => '<string>',
        'Description' => '<string>',
        'Name' => '<string>',
        'Subnets' => [
            [
                'AvailabilityZone' => [
                    'Name' => '<string>',
                ],
                'Identifier' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
SubnetGroup
Type: SubnetGroup structure

The subnet group object that has been deleted.

Errors

SubnetGroupInUseFault:

SubnetGroupNotFoundFault:

ServiceLinkedRoleNotFoundFault:

DeleteUser

$result = $client->deleteUser([/* ... */]);
$promise = $client->deleteUserAsync([/* ... */]);

Deletes a user. The user will be removed from all ACLs and in turn removed from all clusters.

Parameter Syntax

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

Parameter Details

Members
UserName
Required: Yes
Type: string

The name of the user to delete

Result Syntax

[
    'User' => [
        'ACLNames' => ['<string>', ...],
        'ARN' => '<string>',
        'AccessString' => '<string>',
        'Authentication' => [
            'PasswordCount' => <integer>,
            'Type' => 'password|no-password|iam',
        ],
        'MinimumEngineVersion' => '<string>',
        'Name' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
User
Type: User structure

The user object that has been deleted.

Errors

InvalidUserStateFault:

UserNotFoundFault:

InvalidParameterValueException:

DescribeACLs

$result = $client->describeACLs([/* ... */]);
$promise = $client->describeACLsAsync([/* ... */]);

Returns a list of ACLs.

Parameter Syntax

$result = $client->describeACLs([
    'ACLName' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ACLName
Type: string

The name of the ACL.

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Result Syntax

[
    'ACLs' => [
        [
            'ARN' => '<string>',
            'Clusters' => ['<string>', ...],
            'MinimumEngineVersion' => '<string>',
            'Name' => '<string>',
            'PendingChanges' => [
                'UserNamesToAdd' => ['<string>', ...],
                'UserNamesToRemove' => ['<string>', ...],
            ],
            'Status' => '<string>',
            'UserNames' => ['<string>', ...],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ACLs
Type: Array of ACL structures

The list of ACLs.

NextToken
Type: string

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Errors

ACLNotFoundFault:

InvalidParameterCombinationException:

DescribeClusters

$result = $client->describeClusters([/* ... */]);
$promise = $client->describeClustersAsync([/* ... */]);

Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cluster if a cluster name is supplied.

Parameter Syntax

$result = $client->describeClusters([
    'ClusterName' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ShowShardDetails' => true || false,
]);

Parameter Details

Members
ClusterName
Type: string

The name of the cluster.

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

ShowShardDetails
Type: boolean

An optional flag that can be included in the request to retrieve information about the individual shard(s).

Result Syntax

[
    'Clusters' => [
        [
            'ACLName' => '<string>',
            'ARN' => '<string>',
            'AutoMinorVersionUpgrade' => true || false,
            'AvailabilityMode' => 'singleaz|multiaz',
            'ClusterEndpoint' => [
                'Address' => '<string>',
                'Port' => <integer>,
            ],
            'DataTiering' => 'true|false',
            'Description' => '<string>',
            'Engine' => '<string>',
            'EnginePatchVersion' => '<string>',
            'EngineVersion' => '<string>',
            'KmsKeyId' => '<string>',
            'MaintenanceWindow' => '<string>',
            'MultiRegionClusterName' => '<string>',
            'Name' => '<string>',
            'NodeType' => '<string>',
            'NumberOfShards' => <integer>,
            'ParameterGroupName' => '<string>',
            'ParameterGroupStatus' => '<string>',
            'PendingUpdates' => [
                'ACLs' => [
                    'ACLToApply' => '<string>',
                ],
                'Resharding' => [
                    'SlotMigration' => [
                        'ProgressPercentage' => <float>,
                    ],
                ],
                'ServiceUpdates' => [
                    [
                        'ServiceUpdateName' => '<string>',
                        'Status' => 'available|in-progress|complete|scheduled',
                    ],
                    // ...
                ],
            ],
            'SecurityGroups' => [
                [
                    'SecurityGroupId' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'Shards' => [
                [
                    'Name' => '<string>',
                    'Nodes' => [
                        [
                            'AvailabilityZone' => '<string>',
                            'CreateTime' => <DateTime>,
                            'Endpoint' => [
                                'Address' => '<string>',
                                'Port' => <integer>,
                            ],
                            'Name' => '<string>',
                            'Status' => '<string>',
                        ],
                        // ...
                    ],
                    'NumberOfNodes' => <integer>,
                    'Slots' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'SnapshotRetentionLimit' => <integer>,
            'SnapshotWindow' => '<string>',
            'SnsTopicArn' => '<string>',
            'SnsTopicStatus' => '<string>',
            'Status' => '<string>',
            'SubnetGroupName' => '<string>',
            'TLSEnabled' => true || false,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Clusters
Type: Array of Cluster structures

A list of clusters

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Errors

ClusterNotFoundFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeEngineVersions

$result = $client->describeEngineVersions([/* ... */]);
$promise = $client->describeEngineVersionsAsync([/* ... */]);

Returns a list of the available Redis OSS engine versions.

Parameter Syntax

$result = $client->describeEngineVersions([
    'DefaultOnly' => true || false,
    'Engine' => '<string>',
    'EngineVersion' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ParameterGroupFamily' => '<string>',
]);

Parameter Details

Members
DefaultOnly
Type: boolean

If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned.

Engine
Type: string

The name of the engine for which to list available versions.

EngineVersion
Type: string

The Redis OSS engine version

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

ParameterGroupFamily
Type: string

The name of a specific parameter group family to return details for.

Result Syntax

[
    'EngineVersions' => [
        [
            'Engine' => '<string>',
            'EnginePatchVersion' => '<string>',
            'EngineVersion' => '<string>',
            'ParameterGroupFamily' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
EngineVersions
Type: Array of EngineVersionInfo structures

A list of engine version details. Each element in the list contains detailed information about one engine version.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Errors

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeEvents

$result = $client->describeEvents([/* ... */]);
$promise = $client->describeEventsAsync([/* ... */]);

Returns events related to clusters, security groups, and parameter groups. You can obtain events specific to a particular cluster, security group, or parameter group by providing the name as a parameter. By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

Parameter Syntax

$result = $client->describeEvents([
    'Duration' => <integer>,
    'EndTime' => <integer || string || DateTime>,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SourceName' => '<string>',
    'SourceType' => 'node|parameter-group|subnet-group|cluster|user|acl',
    'StartTime' => <integer || string || DateTime>,
]);

Parameter Details

Members
Duration
Type: int

The number of minutes worth of events to retrieve.

EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end of the time interval for which to retrieve events, specified in ISO 8601 format. Example: 2017-03-30T07:03:49.555Z

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

SourceName
Type: string

The identifier of the event source for which events are returned. If not specified, all sources are included in the response.

SourceType
Type: string

The event source to retrieve events for. If no value is specified, all events are returned.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The beginning of the time interval to retrieve events for, specified in ISO 8601 format. Example: 2017-03-30T07:03:49.555Z

Result Syntax

[
    'Events' => [
        [
            'Date' => <DateTime>,
            'Message' => '<string>',
            'SourceName' => '<string>',
            'SourceType' => 'node|parameter-group|subnet-group|cluster|user|acl',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Events
Type: Array of Event structures

A list of events. Each element in the list contains detailed information about one event.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Errors

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeMultiRegionClusters

$result = $client->describeMultiRegionClusters([/* ... */]);
$promise = $client->describeMultiRegionClustersAsync([/* ... */]);

Returns details about one or more multi-Region clusters.

Parameter Syntax

$result = $client->describeMultiRegionClusters([
    'MaxResults' => <integer>,
    'MultiRegionClusterName' => '<string>',
    'NextToken' => '<string>',
    'ShowClusterDetails' => true || false,
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return.

MultiRegionClusterName
Type: string

The name of a specific multi-Region cluster to describe.

NextToken
Type: string

A token to specify where to start paginating.

ShowClusterDetails
Type: boolean

Details about the multi-Region cluster.

Result Syntax

[
    'MultiRegionClusters' => [
        [
            'ARN' => '<string>',
            'Clusters' => [
                [
                    'ARN' => '<string>',
                    'ClusterName' => '<string>',
                    'Region' => '<string>',
                    'Status' => '<string>',
                ],
                // ...
            ],
            'Description' => '<string>',
            'Engine' => '<string>',
            'EngineVersion' => '<string>',
            'MultiRegionClusterName' => '<string>',
            'MultiRegionParameterGroupName' => '<string>',
            'NodeType' => '<string>',
            'NumberOfShards' => <integer>,
            'Status' => '<string>',
            'TLSEnabled' => true || false,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
MultiRegionClusters
Type: Array of MultiRegionCluster structures

A list of multi-Region clusters.

NextToken
Type: string

A token to use to retrieve the next page of results.

Errors

ClusterNotFoundFault:

InvalidParameterCombinationException:

InvalidParameterValueException:

MultiRegionClusterNotFoundFault:

The specified multi-Region cluster does not exist.

DescribeParameterGroups

$result = $client->describeParameterGroups([/* ... */]);
$promise = $client->describeParameterGroupsAsync([/* ... */]);

Returns a list of parameter group descriptions. If a parameter group name is specified, the list contains only the descriptions for that group.

Parameter Syntax

$result = $client->describeParameterGroups([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ParameterGroupName' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

ParameterGroupName
Type: string

The name of a specific parameter group to return details for.

Result Syntax

[
    'NextToken' => '<string>',
    'ParameterGroups' => [
        [
            'ARN' => '<string>',
            'Description' => '<string>',
            'Family' => '<string>',
            'Name' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

ParameterGroups
Type: Array of ParameterGroup structures

A list of parameter groups. Each element in the list contains detailed information about one parameter group.

Errors

ParameterGroupNotFoundFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeParameters

$result = $client->describeParameters([/* ... */]);
$promise = $client->describeParametersAsync([/* ... */]);

Returns the detailed parameter list for a particular parameter group.

Parameter Syntax

$result = $client->describeParameters([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ParameterGroupName' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

ParameterGroupName
Required: Yes
Type: string

he name of a specific parameter group to return details for.

Result Syntax

[
    'NextToken' => '<string>',
    'Parameters' => [
        [
            'AllowedValues' => '<string>',
            'DataType' => '<string>',
            'Description' => '<string>',
            'MinimumEngineVersion' => '<string>',
            'Name' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Parameters
Type: Array of Parameter structures

A list of parameters specific to a particular parameter group. Each element in the list contains detailed information about one parameter.

Errors

ParameterGroupNotFoundFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeReservedNodes

$result = $client->describeReservedNodes([/* ... */]);
$promise = $client->describeReservedNodesAsync([/* ... */]);

Returns information about reserved nodes for this account, or about a specified reserved node.

Parameter Syntax

$result = $client->describeReservedNodes([
    'Duration' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'NodeType' => '<string>',
    'OfferingType' => '<string>',
    'ReservationId' => '<string>',
    'ReservedNodesOfferingId' => '<string>',
]);

Parameter Details

Members
Duration
Type: string

The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

NodeType
Type: string

The node type filter value. Use this parameter to show only those reservations matching the specified node type. For more information, see Supported node types.

OfferingType
Type: string

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type. Valid values: "All Upfront"|"Partial Upfront"| "No Upfront"

ReservationId
Type: string

The reserved node identifier filter value. Use this parameter to show only the reservation that matches the specified reservation ID.

ReservedNodesOfferingId
Type: string

The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier.

Result Syntax

[
    'NextToken' => '<string>',
    'ReservedNodes' => [
        [
            'ARN' => '<string>',
            'Duration' => <integer>,
            'FixedPrice' => <float>,
            'NodeCount' => <integer>,
            'NodeType' => '<string>',
            'OfferingType' => '<string>',
            'RecurringCharges' => [
                [
                    'RecurringChargeAmount' => <float>,
                    'RecurringChargeFrequency' => '<string>',
                ],
                // ...
            ],
            'ReservationId' => '<string>',
            'ReservedNodesOfferingId' => '<string>',
            'StartTime' => <DateTime>,
            'State' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

ReservedNodes
Type: Array of ReservedNode structures

Returns information about reserved nodes for this account, or about a specified reserved node.

Errors

ReservedNodeNotFoundFault:

The requested node does not exist.

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeReservedNodesOfferings

$result = $client->describeReservedNodesOfferings([/* ... */]);
$promise = $client->describeReservedNodesOfferingsAsync([/* ... */]);

Lists available reserved node offerings.

Parameter Syntax

$result = $client->describeReservedNodesOfferings([
    'Duration' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'NodeType' => '<string>',
    'OfferingType' => '<string>',
    'ReservedNodesOfferingId' => '<string>',
]);

Parameter Details

Members
Duration
Type: string

Duration filter value, specified in years or seconds. Use this parameter to show only reservations for a given duration.

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

NodeType
Type: string

The node type for the reserved nodes. For more information, see Supported node types.

OfferingType
Type: string

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type. Valid values: "All Upfront"|"Partial Upfront"| "No Upfront"

ReservedNodesOfferingId
Type: string

The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.

Result Syntax

[
    'NextToken' => '<string>',
    'ReservedNodesOfferings' => [
        [
            'Duration' => <integer>,
            'FixedPrice' => <float>,
            'NodeType' => '<string>',
            'OfferingType' => '<string>',
            'RecurringCharges' => [
                [
                    'RecurringChargeAmount' => <float>,
                    'RecurringChargeFrequency' => '<string>',
                ],
                // ...
            ],
            'ReservedNodesOfferingId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

ReservedNodesOfferings
Type: Array of ReservedNodesOffering structures

Lists available reserved node offerings.

Errors

ReservedNodesOfferingNotFoundFault:

The requested node offering does not exist.

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeServiceUpdates

$result = $client->describeServiceUpdates([/* ... */]);
$promise = $client->describeServiceUpdatesAsync([/* ... */]);

Returns details of the service updates.

Parameter Syntax

$result = $client->describeServiceUpdates([
    'ClusterNames' => ['<string>', ...],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ServiceUpdateName' => '<string>',
    'Status' => ['<string>', ...],
]);

Parameter Details

Members
ClusterNames
Type: Array of strings

The list of cluster names to identify service updates to apply.

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

ServiceUpdateName
Type: string

The unique ID of the service update to describe.

Status
Type: Array of strings

The status(es) of the service updates to filter on.

Result Syntax

[
    'NextToken' => '<string>',
    'ServiceUpdates' => [
        [
            'AutoUpdateStartDate' => <DateTime>,
            'ClusterName' => '<string>',
            'Description' => '<string>',
            'Engine' => '<string>',
            'NodesUpdated' => '<string>',
            'ReleaseDate' => <DateTime>,
            'ServiceUpdateName' => '<string>',
            'Status' => 'available|in-progress|complete|scheduled',
            'Type' => 'security-update',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

ServiceUpdates
Type: Array of ServiceUpdate structures

A list of service updates

Errors

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeSnapshots

$result = $client->describeSnapshots([/* ... */]);
$promise = $client->describeSnapshotsAsync([/* ... */]);

Returns information about cluster snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cluster.

Parameter Syntax

$result = $client->describeSnapshots([
    'ClusterName' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ShowDetail' => true || false,
    'SnapshotName' => '<string>',
    'Source' => '<string>',
]);

Parameter Details

Members
ClusterName
Type: string

A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cluster are described.

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

ShowDetail
Type: boolean

A Boolean value which if true, the shard configuration is included in the snapshot description.

SnapshotName
Type: string

A user-supplied name of the snapshot. If this parameter is specified, only this named snapshot is described.

Source
Type: string

If set to system, the output shows snapshots that were automatically created by MemoryDB. If set to user the output shows snapshots that were manually created. If omitted, the output shows both automatically and manually created snapshots.

Result Syntax

[
    'NextToken' => '<string>',
    'Snapshots' => [
        [
            'ARN' => '<string>',
            'ClusterConfiguration' => [
                'Description' => '<string>',
                'Engine' => '<string>',
                'EngineVersion' => '<string>',
                'MaintenanceWindow' => '<string>',
                'MultiRegionClusterName' => '<string>',
                'MultiRegionParameterGroupName' => '<string>',
                'Name' => '<string>',
                'NodeType' => '<string>',
                'NumShards' => <integer>,
                'ParameterGroupName' => '<string>',
                'Port' => <integer>,
                'Shards' => [
                    [
                        'Configuration' => [
                            'ReplicaCount' => <integer>,
                            'Slots' => '<string>',
                        ],
                        'Name' => '<string>',
                        'Size' => '<string>',
                        'SnapshotCreationTime' => <DateTime>,
                    ],
                    // ...
                ],
                'SnapshotRetentionLimit' => <integer>,
                'SnapshotWindow' => '<string>',
                'SubnetGroupName' => '<string>',
                'TopicArn' => '<string>',
                'VpcId' => '<string>',
            ],
            'DataTiering' => 'true|false',
            'KmsKeyId' => '<string>',
            'Name' => '<string>',
            'Source' => '<string>',
            'Status' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Snapshots
Type: Array of Snapshot structures

A list of snapshots. Each item in the list contains detailed information about one snapshot.

Errors

SnapshotNotFoundFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

DescribeSubnetGroups

$result = $client->describeSubnetGroups([/* ... */]);
$promise = $client->describeSubnetGroupsAsync([/* ... */]);

Returns a list of subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

Parameter Syntax

$result = $client->describeSubnetGroups([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SubnetGroupName' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

SubnetGroupName
Type: string

The name of the subnet group to return details for.

Result Syntax

[
    'NextToken' => '<string>',
    'SubnetGroups' => [
        [
            'ARN' => '<string>',
            'Description' => '<string>',
            'Name' => '<string>',
            'Subnets' => [
                [
                    'AvailabilityZone' => [
                        'Name' => '<string>',
                    ],
                    'Identifier' => '<string>',
                ],
                // ...
            ],
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

SubnetGroups
Type: Array of SubnetGroup structures

A list of subnet groups. Each element in the list contains detailed information about one group.

Errors

SubnetGroupNotFoundFault:

ServiceLinkedRoleNotFoundFault:

DescribeUsers

$result = $client->describeUsers([/* ... */]);
$promise = $client->describeUsersAsync([/* ... */]);

Returns a list of users.

Parameter Syntax

$result = $client->describeUsers([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'UserName' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

Filter to determine the list of users to return.

MaxResults
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

UserName
Type: string

The name of the user.

Result Syntax

[
    'NextToken' => '<string>',
    'Users' => [
        [
            'ACLNames' => ['<string>', ...],
            'ARN' => '<string>',
            'AccessString' => '<string>',
            'Authentication' => [
                'PasswordCount' => <integer>,
                'Type' => 'password|no-password|iam',
            ],
            'MinimumEngineVersion' => '<string>',
            'Name' => '<string>',
            'Status' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Users
Type: Array of User structures

A list of users.

Errors

UserNotFoundFault:

InvalidParameterCombinationException:

FailoverShard

$result = $client->failoverShard([/* ... */]);
$promise = $client->failoverShardAsync([/* ... */]);

Used to failover a shard. This API is designed for testing the behavior of your application in case of MemoryDB failover. It is not designed to be used as a production-level tool for initiating a failover to overcome a problem you may have with the cluster. Moreover, in certain conditions such as large scale operational events, Amazon may block this API.

Parameter Syntax

$result = $client->failoverShard([
    'ClusterName' => '<string>', // REQUIRED
    'ShardName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClusterName
Required: Yes
Type: string

The cluster being failed over.

ShardName
Required: Yes
Type: string

The name of the shard.

Result Syntax

[
    'Cluster' => [
        'ACLName' => '<string>',
        'ARN' => '<string>',
        'AutoMinorVersionUpgrade' => true || false,
        'AvailabilityMode' => 'singleaz|multiaz',
        'ClusterEndpoint' => [
            'Address' => '<string>',
            'Port' => <integer>,
        ],
        'DataTiering' => 'true|false',
        'Description' => '<string>',
        'Engine' => '<string>',
        'EnginePatchVersion' => '<string>',
        'EngineVersion' => '<string>',
        'KmsKeyId' => '<string>',
        'MaintenanceWindow' => '<string>',
        'MultiRegionClusterName' => '<string>',
        'Name' => '<string>',
        'NodeType' => '<string>',
        'NumberOfShards' => <integer>,
        'ParameterGroupName' => '<string>',
        'ParameterGroupStatus' => '<string>',
        'PendingUpdates' => [
            'ACLs' => [
                'ACLToApply' => '<string>',
            ],
            'Resharding' => [
                'SlotMigration' => [
                    'ProgressPercentage' => <float>,
                ],
            ],
            'ServiceUpdates' => [
                [
                    'ServiceUpdateName' => '<string>',
                    'Status' => 'available|in-progress|complete|scheduled',
                ],
                // ...
            ],
        ],
        'SecurityGroups' => [
            [
                'SecurityGroupId' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'Shards' => [
            [
                'Name' => '<string>',
                'Nodes' => [
                    [
                        'AvailabilityZone' => '<string>',
                        'CreateTime' => <DateTime>,
                        'Endpoint' => [
                            'Address' => '<string>',
                            'Port' => <integer>,
                        ],
                        'Name' => '<string>',
                        'Status' => '<string>',
                    ],
                    // ...
                ],
                'NumberOfNodes' => <integer>,
                'Slots' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'SnapshotRetentionLimit' => <integer>,
        'SnapshotWindow' => '<string>',
        'SnsTopicArn' => '<string>',
        'SnsTopicStatus' => '<string>',
        'Status' => '<string>',
        'SubnetGroupName' => '<string>',
        'TLSEnabled' => true || false,
    ],
]

Result Details

Members
Cluster
Type: Cluster structure

The cluster being failed over.

Errors

APICallRateForCustomerExceededFault:

InvalidClusterStateFault:

ShardNotFoundFault:

ClusterNotFoundFault:

TestFailoverNotAvailableFault:

InvalidKMSKeyFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

ListAllowedMultiRegionClusterUpdates

$result = $client->listAllowedMultiRegionClusterUpdates([/* ... */]);
$promise = $client->listAllowedMultiRegionClusterUpdatesAsync([/* ... */]);

Lists the allowed updates for a multi-Region cluster.

Parameter Syntax

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

Parameter Details

Members
MultiRegionClusterName
Required: Yes
Type: string

The name of the multi-Region cluster.

Result Syntax

[
    'ScaleDownNodeTypes' => ['<string>', ...],
    'ScaleUpNodeTypes' => ['<string>', ...],
]

Result Details

Members
ScaleDownNodeTypes
Type: Array of strings

The node types that the cluster can be scaled down to.

ScaleUpNodeTypes
Type: Array of strings

The node types that the cluster can be scaled up to.

Errors

MultiRegionClusterNotFoundFault:

The specified multi-Region cluster does not exist.

InvalidParameterCombinationException:

InvalidParameterValueException:

ListAllowedNodeTypeUpdates

$result = $client->listAllowedNodeTypeUpdates([/* ... */]);
$promise = $client->listAllowedNodeTypeUpdatesAsync([/* ... */]);

Lists all available node types that you can scale to from your cluster's current node type. When you use the UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types returned by this operation.

Parameter Syntax

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

Parameter Details

Members
ClusterName
Required: Yes
Type: string

The name of the cluster you want to scale. MemoryDB uses the cluster name to identify the current node type being used by this cluster, and from that to create a list of node types you can scale up to.

Result Syntax

[
    'ScaleDownNodeTypes' => ['<string>', ...],
    'ScaleUpNodeTypes' => ['<string>', ...],
]

Result Details

Members
ScaleDownNodeTypes
Type: Array of strings

A list node types which you can use to scale down your cluster.

ScaleUpNodeTypes
Type: Array of strings

A list node types which you can use to scale up your cluster.

Errors

ClusterNotFoundFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterCombinationException:

InvalidParameterValueException:

ListTags

$result = $client->listTags([/* ... */]);
$promise = $client->listTagsAsync([/* ... */]);

Lists all tags currently on a named resource. A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. For more information, see Tagging your MemoryDB resources.

Parameter Syntax

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

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource for which you want the list of tags.

Result Syntax

[
    'TagList' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
TagList
Type: Array of Tag structures

A list of tags as key-value pairs.

Errors

ClusterNotFoundFault:

InvalidClusterStateFault:

ParameterGroupNotFoundFault:

SubnetGroupNotFoundFault:

SnapshotNotFoundFault:

InvalidARNFault:

ServiceLinkedRoleNotFoundFault:

UserNotFoundFault:

ACLNotFoundFault:

MultiRegionClusterNotFoundFault:

The specified multi-Region cluster does not exist.

MultiRegionParameterGroupNotFoundFault:

The specified multi-Region parameter group does not exist.

PurchaseReservedNodesOffering

$result = $client->purchaseReservedNodesOffering([/* ... */]);
$promise = $client->purchaseReservedNodesOfferingAsync([/* ... */]);

Allows you to purchase a reserved node offering. Reserved nodes are not eligible for cancellation and are non-refundable.

Parameter Syntax

$result = $client->purchaseReservedNodesOffering([
    'NodeCount' => <integer>,
    'ReservationId' => '<string>',
    'ReservedNodesOfferingId' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
NodeCount
Type: int

The number of node instances to reserve.

ReservationId
Type: string

A customer-specified identifier to track this reservation.

ReservedNodesOfferingId
Required: Yes
Type: string

The ID of the reserved node offering to purchase.

Tags
Type: Array of Tag structures

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

Result Syntax

[
    'ReservedNode' => [
        'ARN' => '<string>',
        'Duration' => <integer>,
        'FixedPrice' => <float>,
        'NodeCount' => <integer>,
        'NodeType' => '<string>',
        'OfferingType' => '<string>',
        'RecurringCharges' => [
            [
                'RecurringChargeAmount' => <float>,
                'RecurringChargeFrequency' => '<string>',
            ],
            // ...
        ],
        'ReservationId' => '<string>',
        'ReservedNodesOfferingId' => '<string>',
        'StartTime' => <DateTime>,
        'State' => '<string>',
    ],
]

Result Details

Members
ReservedNode
Type: ReservedNode structure

Represents the output of a PurchaseReservedNodesOffering operation.

Errors

ReservedNodesOfferingNotFoundFault:

The requested node offering does not exist.

ReservedNodeAlreadyExistsFault:

You already have a reservation with the given identifier.

ReservedNodeQuotaExceededFault:

The request cannot be processed because it would exceed the user's node quota.

ServiceLinkedRoleNotFoundFault:

TagQuotaPerResourceExceeded:

InvalidParameterValueException:

InvalidParameterCombinationException:

ResetParameterGroup

$result = $client->resetParameterGroup([/* ... */]);
$promise = $client->resetParameterGroupAsync([/* ... */]);

Modifies the parameters of a parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire parameter group, specify the AllParameters and ParameterGroupName parameters.

Parameter Syntax

$result = $client->resetParameterGroup([
    'AllParameters' => true || false,
    'ParameterGroupName' => '<string>', // REQUIRED
    'ParameterNames' => ['<string>', ...],
]);

Parameter Details

Members
AllParameters
Type: boolean

If true, all parameters in the parameter group are reset to their default values. If false, only the parameters listed by ParameterNames are reset to their default values.

ParameterGroupName
Required: Yes
Type: string

The name of the parameter group to reset.

ParameterNames
Type: Array of strings

An array of parameter names to reset to their default values. If AllParameters is true, do not use ParameterNames. If AllParameters is false, you must specify the name of at least one parameter to reset.

Result Syntax

[
    'ParameterGroup' => [
        'ARN' => '<string>',
        'Description' => '<string>',
        'Family' => '<string>',
        'Name' => '<string>',
    ],
]

Result Details

Members
ParameterGroup
Type: ParameterGroup structure

The parameter group being reset.

Errors

InvalidParameterGroupStateFault:

ParameterGroupNotFoundFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

TagResource

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

A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. For more information, see Resource-level permissions.

For example, you can use cost-allocation tags to your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags.

Parameter Syntax

$result = $client->tagResource([
    'ResourceArn' => '<string>', // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to which the tags are to be added.

Tags
Required: Yes
Type: Array of Tag structures

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

Result Syntax

[
    'TagList' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
TagList
Type: Array of Tag structures

A list of tags as key-value pairs.

Errors

ClusterNotFoundFault:

ParameterGroupNotFoundFault:

SubnetGroupNotFoundFault:

InvalidClusterStateFault:

SnapshotNotFoundFault:

UserNotFoundFault:

ACLNotFoundFault:

MultiRegionClusterNotFoundFault:

The specified multi-Region cluster does not exist.

MultiRegionParameterGroupNotFoundFault:

The specified multi-Region parameter group does not exist.

TagQuotaPerResourceExceeded:

InvalidARNFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

UntagResource

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

Use this operation to remove tags on a resource.

Parameter Syntax

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

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource to which the tags are to be removed.

TagKeys
Required: Yes
Type: Array of strings

The list of keys of the tags that are to be removed.

Result Syntax

[
    'TagList' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
TagList
Type: Array of Tag structures

The list of tags removed.

Errors

ClusterNotFoundFault:

InvalidClusterStateFault:

ParameterGroupNotFoundFault:

SubnetGroupNotFoundFault:

SnapshotNotFoundFault:

InvalidARNFault:

TagNotFoundFault:

ServiceLinkedRoleNotFoundFault:

UserNotFoundFault:

ACLNotFoundFault:

InvalidParameterValueException:

MultiRegionClusterNotFoundFault:

The specified multi-Region cluster does not exist.

MultiRegionParameterGroupNotFoundFault:

The specified multi-Region parameter group does not exist.

UpdateACL

$result = $client->updateACL([/* ... */]);
$promise = $client->updateACLAsync([/* ... */]);

Changes the list of users that belong to the Access Control List.

Parameter Syntax

$result = $client->updateACL([
    'ACLName' => '<string>', // REQUIRED
    'UserNamesToAdd' => ['<string>', ...],
    'UserNamesToRemove' => ['<string>', ...],
]);

Parameter Details

Members
ACLName
Required: Yes
Type: string

The name of the Access Control List.

UserNamesToAdd
Type: Array of strings

The list of users to add to the Access Control List.

UserNamesToRemove
Type: Array of strings

The list of users to remove from the Access Control List.

Result Syntax

[
    'ACL' => [
        'ARN' => '<string>',
        'Clusters' => ['<string>', ...],
        'MinimumEngineVersion' => '<string>',
        'Name' => '<string>',
        'PendingChanges' => [
            'UserNamesToAdd' => ['<string>', ...],
            'UserNamesToRemove' => ['<string>', ...],
        ],
        'Status' => '<string>',
        'UserNames' => ['<string>', ...],
    ],
]

Result Details

Members
ACL
Type: ACL structure

The updated Access Control List.

Errors

ACLNotFoundFault:

UserNotFoundFault:

DuplicateUserNameFault:

DefaultUserRequired:

InvalidACLStateFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

UpdateCluster

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

Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration settings by specifying the settings and the new values.

Parameter Syntax

$result = $client->updateCluster([
    'ACLName' => '<string>',
    'ClusterName' => '<string>', // REQUIRED
    'Description' => '<string>',
    'Engine' => '<string>',
    'EngineVersion' => '<string>',
    'MaintenanceWindow' => '<string>',
    'NodeType' => '<string>',
    'ParameterGroupName' => '<string>',
    'ReplicaConfiguration' => [
        'ReplicaCount' => <integer>,
    ],
    'SecurityGroupIds' => ['<string>', ...],
    'ShardConfiguration' => [
        'ShardCount' => <integer>,
    ],
    'SnapshotRetentionLimit' => <integer>,
    'SnapshotWindow' => '<string>',
    'SnsTopicArn' => '<string>',
    'SnsTopicStatus' => '<string>',
]);

Parameter Details

Members
ACLName
Type: string

The Access Control List that is associated with the cluster.

ClusterName
Required: Yes
Type: string

The name of the cluster to update.

Description
Type: string

The description of the cluster to update.

Engine
Type: string

The name of the engine to be used for the cluster.

EngineVersion
Type: string

The upgraded version of the engine to be run on the nodes. You can upgrade to a newer engine version, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version.

MaintenanceWindow
Type: string

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

NodeType
Type: string

A valid node type that you want to scale this cluster up or down to.

ParameterGroupName
Type: string

The name of the parameter group to update.

ReplicaConfiguration
Type: ReplicaConfigurationRequest structure

The number of replicas that will reside in each shard.

SecurityGroupIds
Type: Array of strings

The SecurityGroupIds to update.

ShardConfiguration
Type: ShardConfigurationRequest structure

The number of shards in the cluster.

SnapshotRetentionLimit
Type: int

The number of days for which MemoryDB retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

SnapshotWindow
Type: string

The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your cluster.

SnsTopicArn
Type: string

The SNS topic ARN to update.

SnsTopicStatus
Type: string

The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

Result Syntax

[
    'Cluster' => [
        'ACLName' => '<string>',
        'ARN' => '<string>',
        'AutoMinorVersionUpgrade' => true || false,
        'AvailabilityMode' => 'singleaz|multiaz',
        'ClusterEndpoint' => [
            'Address' => '<string>',
            'Port' => <integer>,
        ],
        'DataTiering' => 'true|false',
        'Description' => '<string>',
        'Engine' => '<string>',
        'EnginePatchVersion' => '<string>',
        'EngineVersion' => '<string>',
        'KmsKeyId' => '<string>',
        'MaintenanceWindow' => '<string>',
        'MultiRegionClusterName' => '<string>',
        'Name' => '<string>',
        'NodeType' => '<string>',
        'NumberOfShards' => <integer>,
        'ParameterGroupName' => '<string>',
        'ParameterGroupStatus' => '<string>',
        'PendingUpdates' => [
            'ACLs' => [
                'ACLToApply' => '<string>',
            ],
            'Resharding' => [
                'SlotMigration' => [
                    'ProgressPercentage' => <float>,
                ],
            ],
            'ServiceUpdates' => [
                [
                    'ServiceUpdateName' => '<string>',
                    'Status' => 'available|in-progress|complete|scheduled',
                ],
                // ...
            ],
        ],
        'SecurityGroups' => [
            [
                'SecurityGroupId' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'Shards' => [
            [
                'Name' => '<string>',
                'Nodes' => [
                    [
                        'AvailabilityZone' => '<string>',
                        'CreateTime' => <DateTime>,
                        'Endpoint' => [
                            'Address' => '<string>',
                            'Port' => <integer>,
                        ],
                        'Name' => '<string>',
                        'Status' => '<string>',
                    ],
                    // ...
                ],
                'NumberOfNodes' => <integer>,
                'Slots' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'SnapshotRetentionLimit' => <integer>,
        'SnapshotWindow' => '<string>',
        'SnsTopicArn' => '<string>',
        'SnsTopicStatus' => '<string>',
        'Status' => '<string>',
        'SubnetGroupName' => '<string>',
        'TLSEnabled' => true || false,
    ],
]

Result Details

Members
Cluster
Type: Cluster structure

The updated cluster.

Errors

ClusterNotFoundFault:

InvalidClusterStateFault:

InvalidNodeStateFault:

ParameterGroupNotFoundFault:

InvalidVPCNetworkStateFault:

ServiceLinkedRoleNotFoundFault:

InvalidKMSKeyFault:

NodeQuotaForClusterExceededFault:

ClusterQuotaForCustomerExceededFault:

ShardsPerClusterQuotaExceededFault:

NodeQuotaForCustomerExceededFault:

NoOperationFault:

InvalidACLStateFault:

ACLNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

UpdateMultiRegionCluster

$result = $client->updateMultiRegionCluster([/* ... */]);
$promise = $client->updateMultiRegionClusterAsync([/* ... */]);

Updates the configuration of an existing multi-Region cluster.

Parameter Syntax

$result = $client->updateMultiRegionCluster([
    'Description' => '<string>',
    'EngineVersion' => '<string>',
    'MultiRegionClusterName' => '<string>', // REQUIRED
    'MultiRegionParameterGroupName' => '<string>',
    'NodeType' => '<string>',
    'ShardConfiguration' => [
        'ShardCount' => <integer>,
    ],
    'UpdateStrategy' => 'coordinated|uncoordinated',
]);

Parameter Details

Members
Description
Type: string

A new description for the multi-Region cluster.

EngineVersion
Type: string

The new engine version to be used for the multi-Region cluster.

MultiRegionClusterName
Required: Yes
Type: string

The name of the multi-Region cluster to be updated.

MultiRegionParameterGroupName
Type: string

The new multi-Region parameter group to be associated with the cluster.

NodeType
Type: string

The new node type to be used for the multi-Region cluster.

ShardConfiguration
Type: ShardConfigurationRequest structure

A request to configure the sharding properties of a cluster

UpdateStrategy
Type: string

Whether to force the update even if it may cause data loss.

Result Syntax

[
    'MultiRegionCluster' => [
        'ARN' => '<string>',
        'Clusters' => [
            [
                'ARN' => '<string>',
                'ClusterName' => '<string>',
                'Region' => '<string>',
                'Status' => '<string>',
            ],
            // ...
        ],
        'Description' => '<string>',
        'Engine' => '<string>',
        'EngineVersion' => '<string>',
        'MultiRegionClusterName' => '<string>',
        'MultiRegionParameterGroupName' => '<string>',
        'NodeType' => '<string>',
        'NumberOfShards' => <integer>,
        'Status' => '<string>',
        'TLSEnabled' => true || false,
    ],
]

Result Details

Members
MultiRegionCluster
Type: MultiRegionCluster structure

The status of updating the multi-Region cluster.

Errors

MultiRegionClusterNotFoundFault:

The specified multi-Region cluster does not exist.

MultiRegionParameterGroupNotFoundFault:

The specified multi-Region parameter group does not exist.

InvalidMultiRegionClusterStateFault:

The requested operation cannot be performed on the multi-Region cluster in its current state.

InvalidParameterCombinationException:

InvalidParameterValueException:

UpdateParameterGroup

$result = $client->updateParameterGroup([/* ... */]);
$promise = $client->updateParameterGroupAsync([/* ... */]);

Updates the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

Parameter Syntax

$result = $client->updateParameterGroup([
    'ParameterGroupName' => '<string>', // REQUIRED
    'ParameterNameValues' => [ // REQUIRED
        [
            'ParameterName' => '<string>',
            'ParameterValue' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ParameterGroupName
Required: Yes
Type: string

The name of the parameter group to update.

ParameterNameValues
Required: Yes
Type: Array of ParameterNameValue structures

An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be updated per request.

Result Syntax

[
    'ParameterGroup' => [
        'ARN' => '<string>',
        'Description' => '<string>',
        'Family' => '<string>',
        'Name' => '<string>',
    ],
]

Result Details

Members
ParameterGroup
Type: ParameterGroup structure

The updated parameter group

Errors

ParameterGroupNotFoundFault:

InvalidParameterGroupStateFault:

ServiceLinkedRoleNotFoundFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

UpdateSubnetGroup

$result = $client->updateSubnetGroup([/* ... */]);
$promise = $client->updateSubnetGroupAsync([/* ... */]);

Updates a subnet group. For more information, see Updating a subnet group

Parameter Syntax

$result = $client->updateSubnetGroup([
    'Description' => '<string>',
    'SubnetGroupName' => '<string>', // REQUIRED
    'SubnetIds' => ['<string>', ...],
]);

Parameter Details

Members
Description
Type: string

A description of the subnet group

SubnetGroupName
Required: Yes
Type: string

The name of the subnet group

SubnetIds
Type: Array of strings

The EC2 subnet IDs for the subnet group.

Result Syntax

[
    'SubnetGroup' => [
        'ARN' => '<string>',
        'Description' => '<string>',
        'Name' => '<string>',
        'Subnets' => [
            [
                'AvailabilityZone' => [
                    'Name' => '<string>',
                ],
                'Identifier' => '<string>',
            ],
            // ...
        ],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
SubnetGroup
Type: SubnetGroup structure

The updated subnet group

Errors

SubnetGroupNotFoundFault:

SubnetQuotaExceededFault:

SubnetInUse:

InvalidSubnet:

ServiceLinkedRoleNotFoundFault:

SubnetNotAllowedFault:

UpdateUser

$result = $client->updateUser([/* ... */]);
$promise = $client->updateUserAsync([/* ... */]);

Changes user password(s) and/or access string.

Parameter Syntax

$result = $client->updateUser([
    'AccessString' => '<string>',
    'AuthenticationMode' => [
        'Passwords' => ['<string>', ...],
        'Type' => 'password|iam',
    ],
    'UserName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccessString
Type: string

Access permissions string used for this user.

AuthenticationMode
Type: AuthenticationMode structure

Denotes the user's authentication properties, such as whether it requires a password to authenticate.

UserName
Required: Yes
Type: string

The name of the user

Result Syntax

[
    'User' => [
        'ACLNames' => ['<string>', ...],
        'ARN' => '<string>',
        'AccessString' => '<string>',
        'Authentication' => [
            'PasswordCount' => <integer>,
            'Type' => 'password|no-password|iam',
        ],
        'MinimumEngineVersion' => '<string>',
        'Name' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
User
Type: User structure

The updated user

Errors

UserNotFoundFault:

InvalidUserStateFault:

InvalidParameterValueException:

InvalidParameterCombinationException:

Shapes

ACL

Description

An Access Control List. You can authenticate users with Access Contol Lists. ACLs enable you to control cluster access by grouping users. These Access control lists are designed as a way to organize access to clusters.

Members
ARN
Type: string

The Amazon Resource Name (ARN) of the ACL

Clusters
Type: Array of strings

A list of clusters associated with the ACL.

MinimumEngineVersion
Type: string

The minimum engine version supported for the ACL

Name
Type: string

The name of the Access Control List

PendingChanges
Type: ACLPendingChanges structure

A list of updates being applied to the ACL.

Status
Type: string

Indicates ACL status. Can be "creating", "active", "modifying", "deleting".

UserNames
Type: Array of strings

The list of user names that belong to the ACL.

ACLAlreadyExistsFault

Description

Members

ACLNotFoundFault

Description

Members

ACLPendingChanges

Description

Returns the updates being applied to the ACL.

Members
UserNamesToAdd
Type: Array of strings

A list of users being added to the ACL

UserNamesToRemove
Type: Array of strings

A list of user names being removed from the ACL

ACLQuotaExceededFault

Description

Members

ACLsUpdateStatus

Description

The status of the ACL update

Members
ACLToApply
Type: string

A list of ACLs pending to be applied.

APICallRateForCustomerExceededFault

Description

Members

Authentication

Description

Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

Members
PasswordCount
Type: int

The number of passwords belonging to the user. The maximum is two.

Type
Type: string

Indicates whether the user requires a password to authenticate.

AuthenticationMode

Description

Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

Members
Passwords
Type: Array of strings

The password(s) used for authentication

Type
Type: string

Indicates whether the user requires a password to authenticate. All newly-created users require a password.

AvailabilityZone

Description

Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

Members
Name
Type: string

The name of the Availability Zone.

Cluster

Description

Contains all of the attributes of a specific cluster.

Members
ACLName
Type: string

The name of the Access Control List associated with this cluster.

ARN
Type: string

The Amazon Resource Name (ARN) of the cluster.

AutoMinorVersionUpgrade
Type: boolean

When set to true, the cluster will automatically receive minor engine version upgrades after launch.

AvailabilityMode
Type: string

Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

ClusterEndpoint
Type: Endpoint structure

The cluster's configuration endpoint

DataTiering
Type: string

Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see Data tiering.

Description
Type: string

A description of the cluster

Engine
Type: string

The name of the engine used by the cluster.

EnginePatchVersion
Type: string

The Redis OSS engine patch version used by the cluster

EngineVersion
Type: string

The Redis OSS engine version used by the cluster

KmsKeyId
Type: string

The ID of the KMS key used to encrypt the cluster

MaintenanceWindow
Type: string

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

MultiRegionClusterName
Type: string

The name of the multi-Region cluster that this cluster belongs to.

Name
Type: string

The user-supplied name of the cluster. This identifier is a unique key that identifies a cluster.

NodeType
Type: string

The cluster's node type

NumberOfShards
Type: int

The number of shards in the cluster

ParameterGroupName
Type: string

The name of the parameter group used by the cluster

ParameterGroupStatus
Type: string

The status of the parameter group used by the cluster, for example 'active' or 'applying'.

PendingUpdates
Type: ClusterPendingUpdates structure

A group of settings that are currently being applied.

SecurityGroups
Type: Array of SecurityGroupMembership structures

A list of security groups used by the cluster

Shards
Type: Array of Shard structures

A list of shards that are members of the cluster.

SnapshotRetentionLimit
Type: int

The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

SnapshotWindow
Type: string

The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: 05:00-09:00 If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

SnsTopicArn
Type: string

The Amazon Resource Name (ARN) of the SNS notification topic

SnsTopicStatus
Type: string

The SNS topic must be in Active status to receive notifications

Status
Type: string

The status of the cluster. For example, Available, Updating, Creating.

SubnetGroupName
Type: string

The name of the subnet group used by the cluster

TLSEnabled
Type: boolean

A flag to indicate if In-transit encryption is enabled

ClusterAlreadyExistsFault

Description

Members

ClusterConfiguration

Description

A list of cluster configuration options.

Members
Description
Type: string

The description of the cluster configuration

Engine
Type: string

The name of the engine used by the cluster configuration.

EngineVersion
Type: string

The Redis OSS engine version used by the cluster

MaintenanceWindow
Type: string

The specified maintenance window for the cluster

MultiRegionClusterName
Type: string

The name for the multi-Region cluster associated with the cluster configuration.

MultiRegionParameterGroupName
Type: string

The name of the multi-Region parameter group associated with the cluster configuration.

Name
Type: string

The name of the cluster

NodeType
Type: string

The node type used for the cluster

NumShards
Type: int

The number of shards in the cluster

ParameterGroupName
Type: string

The name of parameter group used by the cluster

Port
Type: int

The port used by the cluster

Shards
Type: Array of ShardDetail structures

The list of shards in the cluster

SnapshotRetentionLimit
Type: int

The snapshot retention limit set by the cluster

SnapshotWindow
Type: string

The snapshot window set by the cluster

SubnetGroupName
Type: string

The name of the subnet group used by the cluster

TopicArn
Type: string

The Amazon Resource Name (ARN) of the SNS notification topic for the cluster

VpcId
Type: string

The ID of the VPC the cluster belongs to

ClusterNotFoundFault

Description

Members

ClusterPendingUpdates

Description

A list of updates being applied to the cluster

Members
ACLs
Type: ACLsUpdateStatus structure

A list of ACLs associated with the cluster that are being updated

Resharding
Type: ReshardingStatus structure

The status of an online resharding operation.

ServiceUpdates
Type: Array of PendingModifiedServiceUpdate structures

A list of service updates being applied to the cluster

ClusterQuotaForCustomerExceededFault

Description

Members

DefaultUserRequired

Description

Members

DuplicateUserNameFault

Description

Members

Endpoint

Description

Represents the information required for client programs to connect to the cluster and its nodes.

Members
Address
Type: string

The DNS hostname of the node.

Port
Type: int

The port number that the engine is listening on.

EngineVersionInfo

Description

Provides details of the Redis OSS engine version

Members
Engine
Type: string

The name of the engine for which version information is provided.

EnginePatchVersion
Type: string

The patched engine version

EngineVersion
Type: string

The engine version

ParameterGroupFamily
Type: string

Specifies the name of the parameter group family to which the engine default parameters apply.

Event

Description

Represents a single occurrence of something interesting within the system. Some examples of events are creating a cluster or adding or removing a node.

Members
Date
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the event occurred.

Message
Type: string

The text of the event.

SourceName
Type: string

The name for the source of the event. For example, if the event occurred at the cluster level, the identifier would be the name of the cluster.

SourceType
Type: string

Specifies the origin of this event - a cluster, a parameter group, a security group, etc.

Filter

Description

Used to streamline results of a search based on the property being filtered.

Members
Name
Required: Yes
Type: string

The property being filtered. For example, UserName.

Values
Required: Yes
Type: Array of strings

The property values to filter on. For example, "user-123".

InsufficientClusterCapacityFault

Description

Members

InvalidACLStateFault

Description

Members

InvalidARNFault

Description

Members

InvalidClusterStateFault

Description

Members

InvalidCredentialsException

Description

Members

InvalidKMSKeyFault

Description

Members

InvalidMultiRegionClusterStateFault

Description

The requested operation cannot be performed on the multi-Region cluster in its current state.

Members

InvalidNodeStateFault

Description

Members

InvalidParameterCombinationException

Description

Members
message
Type: string

InvalidParameterGroupStateFault

Description

Members

InvalidParameterValueException

Description

Members
message
Type: string

InvalidSnapshotStateFault

Description

Members

InvalidSubnet

Description

Members

InvalidUserStateFault

Description

Members

InvalidVPCNetworkStateFault

Description

Members

MultiRegionCluster

Description

Represents a multi-Region cluster.

Members
ARN
Type: string

The Amazon Resource Name (ARN) of the multi-Region cluster.

Clusters
Type: Array of RegionalCluster structures

The clusters in this multi-Region cluster.

Description
Type: string

The description of the multi-Region cluster.

Engine
Type: string

The name of the engine used by the multi-Region cluster.

EngineVersion
Type: string

The version of the engine used by the multi-Region cluster.

MultiRegionClusterName
Type: string

The name of the multi-Region cluster.

MultiRegionParameterGroupName
Type: string

The name of the multi-Region parameter group associated with the cluster.

NodeType
Type: string

The node type used by the multi-Region cluster.

NumberOfShards
Type: int

The number of shards in the multi-Region cluster.

Status
Type: string

The current status of the multi-Region cluster.

TLSEnabled
Type: boolean

Indiciates if the multi-Region cluster is TLS enabled.

MultiRegionClusterAlreadyExistsFault

Description

A multi-Region cluster with the specified name already exists.

Members

MultiRegionClusterNotFoundFault

Description

The specified multi-Region cluster does not exist.

Members

MultiRegionParameterGroupNotFoundFault

Description

The specified multi-Region parameter group does not exist.

Members

NoOperationFault

Description

Members

Node

Description

Represents an individual node within a cluster. Each node runs its own instance of the cluster's protocol-compliant caching software.

Members
AvailabilityZone
Type: string

The Availability Zone in which the node resides

CreateTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the node was created.

Endpoint
Type: Endpoint structure

The hostname for connecting to this node.

Name
Type: string

The node identifier. A node name is a numeric identifier (0001, 0002, etc.). The combination of cluster name, shard name and node name uniquely identifies every node used in a customer's Amazon account.

Status
Type: string

The status of the service update on the node

NodeQuotaForClusterExceededFault

Description

Members

NodeQuotaForCustomerExceededFault

Description

Members

Parameter

Description

Describes an individual setting that controls some aspect of MemoryDB behavior.

Members
AllowedValues
Type: string

The valid range of values for the parameter.

DataType
Type: string

The parameter's data type

Description
Type: string

A description of the parameter

MinimumEngineVersion
Type: string

The earliest engine version to which the parameter can apply.

Name
Type: string

The name of the parameter

Value
Type: string

The value of the parameter

ParameterGroup

Description

Represents the output of a CreateParameterGroup operation. A parameter group represents a combination of specific values for the parameters that are passed to the engine software during startup.

Members
ARN
Type: string

The Amazon Resource Name (ARN) of the parameter group

Description
Type: string

A description of the parameter group

Family
Type: string

The name of the parameter group family that this parameter group is compatible with.

Name
Type: string

The name of the parameter group

ParameterGroupAlreadyExistsFault

Description

Members

ParameterGroupNotFoundFault

Description

Members

ParameterGroupQuotaExceededFault

Description

Members

ParameterNameValue

Description

Describes a name-value pair that is used to update the value of a parameter.

Members
ParameterName
Type: string

The name of the parameter

ParameterValue
Type: string

The value of the parameter

PendingModifiedServiceUpdate

Description

Update action that has yet to be processed for the corresponding apply/stop request

Members
ServiceUpdateName
Type: string

The unique ID of the service update

Status
Type: string

The status of the service update

RecurringCharge

Description

The recurring charge to run this reserved node.

Members
RecurringChargeAmount
Type: double

The amount of the recurring charge to run this reserved node.

RecurringChargeFrequency
Type: string

The frequency of the recurring price charged to run this reserved node.

RegionalCluster

Description

Represents a Regional cluster

Members
ARN
Type: string

The Amazon Resource Name (ARN) the Regional cluster

ClusterName
Type: string

The name of the Regional cluster

Region
Type: string

The Region the current Regional cluster is assigned to.

Status
Type: string

The status of the Regional cluster.

ReplicaConfigurationRequest

Description

A request to configure the number of replicas in a shard

Members
ReplicaCount
Type: int

The number of replicas to scale up or down to

ReservedNode

Description

Represents the output of a PurchaseReservedNodesOffering operation.

Members
ARN
Type: string

The Amazon Resource Name (ARN) of the reserved node.

Duration
Type: int

The duration of the reservation in seconds.

FixedPrice
Type: double

The fixed price charged for this reserved node.

NodeCount
Type: int

The number of nodes that have been reserved.

NodeType
Type: string

The node type for the reserved nodes.

OfferingType
Type: string

The offering type of this reserved node.

RecurringCharges
Type: Array of RecurringCharge structures

The recurring price charged to run this reserved node.

ReservationId
Type: string

A customer-specified identifier to track this reservation.

ReservedNodesOfferingId
Type: string

The ID of the reserved node offering to purchase.

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time the reservation started.

State
Type: string

The state of the reserved node.

ReservedNodeAlreadyExistsFault

Description

You already have a reservation with the given identifier.

Members

ReservedNodeNotFoundFault

Description

The requested node does not exist.

Members

ReservedNodeQuotaExceededFault

Description

The request cannot be processed because it would exceed the user's node quota.

Members

ReservedNodesOffering

Description

The offering type of this node.

Members
Duration
Type: int

The duration of the reservation in seconds.

FixedPrice
Type: double

The fixed price charged for this reserved node.

NodeType
Type: string

The node type for the reserved nodes. For more information, see Supported node types.

OfferingType
Type: string

The offering type of this reserved node.

RecurringCharges
Type: Array of RecurringCharge structures

The recurring price charged to run this reserved node.

ReservedNodesOfferingId
Type: string

The offering identifier.

ReservedNodesOfferingNotFoundFault

Description

The requested node offering does not exist.

Members

ReshardingStatus

Description

The status of the online resharding

Members
SlotMigration
Type: SlotMigration structure

The status of the online resharding slot migration

SecurityGroupMembership

Description

Represents a single security group and its status.

Members
SecurityGroupId
Type: string

The identifier of the security group.

Status
Type: string

The status of the security group membership. The status changes whenever a security group is modified, or when the security groups assigned to a cluster are modified.

ServiceLinkedRoleNotFoundFault

Description

Members

ServiceUpdate

Description

An update that you can apply to your MemoryDB clusters.

Members
AutoUpdateStartDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date at which the service update will be automatically applied

ClusterName
Type: string

The name of the cluster to which the service update applies

Description
Type: string

Provides details of the service update

Engine
Type: string

The name of the engine for which a service update is available.

NodesUpdated
Type: string

A list of nodes updated by the service update

ReleaseDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date when the service update is initially available

ServiceUpdateName
Type: string

The unique ID of the service update

Status
Type: string

The status of the service update

Type
Type: string

Reflects the nature of the service update

ServiceUpdateNotFoundFault

Description

Members

ServiceUpdateRequest

Description

A request to apply a service update

Members
ServiceUpdateNameToApply
Type: string

The unique ID of the service update

Shard

Description

Represents a collection of nodes in a cluster. One node in the node group is the read/write primary node. All the other nodes are read-only Replica nodes.

Members
Name
Type: string

The name of the shard

Nodes
Type: Array of Node structures

A list containing information about individual nodes within the shard

NumberOfNodes
Type: int

The number of nodes in the shard

Slots
Type: string

The keyspace for this shard.

Status
Type: string

The current state of this replication group - creating, available, modifying, deleting.

ShardConfiguration

Description

Shard configuration options. Each shard configuration has the following: Slots and ReplicaCount.

Members
ReplicaCount
Type: int

The number of read replica nodes in this shard.

Slots
Type: string

A string that specifies the keyspace for a particular node group. Keyspaces range from 0 to 16,383. The string is in the format startkey-endkey.

ShardConfigurationRequest

Description

A request to configure the sharding properties of a cluster

Members
ShardCount
Type: int

The number of shards in the cluster

ShardDetail

Description

Provides details of a shard in a snapshot

Members
Configuration
Type: ShardConfiguration structure

The configuration details of the shard

Name
Type: string

The name of the shard

Size
Type: string

The size of the shard's snapshot

SnapshotCreationTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time that the shard's snapshot was created

ShardNotFoundFault

Description

Members

ShardsPerClusterQuotaExceededFault

Description

Members

SlotMigration

Description

Represents the progress of an online resharding operation.

Members
ProgressPercentage
Type: double

The percentage of the slot migration that is complete.

Snapshot

Description

Represents a copy of an entire cluster as of the time when the snapshot was taken.

Members
ARN
Type: string

The ARN (Amazon Resource Name) of the snapshot.

ClusterConfiguration
Type: ClusterConfiguration structure

The configuration of the cluster from which the snapshot was taken

DataTiering
Type: string

Enables data tiering. Data tiering is only supported for clusters using the r6gd node type. This parameter must be set when using r6gd nodes. For more information, see Data tiering.

KmsKeyId
Type: string

The ID of the KMS key used to encrypt the snapshot.

Name
Type: string

The name of the snapshot

Source
Type: string

Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

Status
Type: string

The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

SnapshotAlreadyExistsFault

Description

Members

SnapshotNotFoundFault

Description

Members

SnapshotQuotaExceededFault

Description

Members

Subnet

Description

Represents the subnet associated with a cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with MemoryDB.

Members
AvailabilityZone
Type: AvailabilityZone structure

The Availability Zone where the subnet resides

Identifier
Type: string

The unique identifier for the subnet.

SubnetGroup

Description

Represents the output of one of the following operations:

  • CreateSubnetGroup

  • UpdateSubnetGroup

A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment.

Members
ARN
Type: string

The ARN (Amazon Resource Name) of the subnet group.

Description
Type: string

A description of the subnet group

Name
Type: string

The name of the subnet group

Subnets
Type: Array of Subnet structures

A list of subnets associated with the subnet group.

VpcId
Type: string

The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

SubnetGroupAlreadyExistsFault

Description

Members

SubnetGroupInUseFault

Description

Members

SubnetGroupNotFoundFault

Description

Members

SubnetGroupQuotaExceededFault

Description

Members

SubnetInUse

Description

Members

SubnetNotAllowedFault

Description

Members

SubnetQuotaExceededFault

Description

Members

Tag

Description

A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see Tagging your MemoryDB resources

Members
Key
Type: string

The key for the tag. May not be null.

Value
Type: string

The tag's value. May be null.

TagNotFoundFault

Description

Members

TagQuotaPerResourceExceeded

Description

Members

TestFailoverNotAvailableFault

Description

Members

UnprocessedCluster

Description

A cluster whose updates have failed

Members
ClusterName
Type: string

The name of the cluster

ErrorMessage
Type: string

The error message associated with the update failure

ErrorType
Type: string

The error type associated with the update failure

User

Description

You create users and assign them specific permissions by using an access string. You assign the users to Access Control Lists aligned with a specific role (administrators, human resources) that are then deployed to one or more MemoryDB clusters.

Members
ACLNames
Type: Array of strings

The names of the Access Control Lists to which the user belongs

ARN
Type: string

The Amazon Resource Name (ARN) of the user.

AccessString
Type: string

Access permissions string used for this user.

Authentication
Type: Authentication structure

Denotes whether the user requires a password to authenticate.

MinimumEngineVersion
Type: string

The minimum engine version supported for the user

Name
Type: string

The name of the user

Status
Type: string

Indicates the user status. Can be "active", "modifying" or "deleting".

UserAlreadyExistsFault

Description

Members

UserNotFoundFault

Description

Members

UserQuotaExceededFault

Description

Members