Amazon MemoryDB

2025/04/17 - Amazon MemoryDB - 10 updated api methods

Changes  Added support for IPv6 and dual stack for Valkey and Redis clusters. Customers can now launch new Valkey and Redis clusters with IPv6 and dual stack networking support.

BatchUpdateCluster (updated) Link ¶
Changes (response)
{'ProcessedClusters': {'IpDiscovery': 'ipv4 | ipv6',
                       'NetworkType': 'ipv4 | ipv6 | dual_stack'}}

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

See also: AWS API Documentation

Request Syntax

client.batch_update_cluster(
    ClusterNames=[
        'string',
    ],
    ServiceUpdate={
        'ServiceUpdateNameToApply': 'string'
    }
)
type ClusterNames:

list

param ClusterNames:

[REQUIRED]

The cluster names to apply the updates.

  • (string) --

type ServiceUpdate:

dict

param ServiceUpdate:

The unique ID of the service update

  • ServiceUpdateNameToApply (string) --

    The unique ID of the service update

rtype:

dict

returns:

Response Syntax

{
    'ProcessedClusters': [
        {
            'Name': 'string',
            'Description': 'string',
            'Status': 'string',
            'PendingUpdates': {
                'Resharding': {
                    'SlotMigration': {
                        'ProgressPercentage': 123.0
                    }
                },
                'ACLs': {
                    'ACLToApply': 'string'
                },
                'ServiceUpdates': [
                    {
                        'ServiceUpdateName': 'string',
                        'Status': 'available'|'in-progress'|'complete'|'scheduled'
                    },
                ]
            },
            'MultiRegionClusterName': 'string',
            'NumberOfShards': 123,
            'Shards': [
                {
                    'Name': 'string',
                    'Status': 'string',
                    'Slots': 'string',
                    'Nodes': [
                        {
                            'Name': 'string',
                            'Status': 'string',
                            'AvailabilityZone': 'string',
                            'CreateTime': datetime(2015, 1, 1),
                            'Endpoint': {
                                'Address': 'string',
                                'Port': 123
                            }
                        },
                    ],
                    'NumberOfNodes': 123
                },
            ],
            'AvailabilityMode': 'singleaz'|'multiaz',
            'ClusterEndpoint': {
                'Address': 'string',
                'Port': 123
            },
            'NodeType': 'string',
            'Engine': 'string',
            'EngineVersion': 'string',
            'EnginePatchVersion': 'string',
            'ParameterGroupName': 'string',
            'ParameterGroupStatus': 'string',
            'SecurityGroups': [
                {
                    'SecurityGroupId': 'string',
                    'Status': 'string'
                },
            ],
            'SubnetGroupName': 'string',
            'TLSEnabled': True|False,
            'KmsKeyId': 'string',
            'ARN': 'string',
            'SnsTopicArn': 'string',
            'SnsTopicStatus': 'string',
            'SnapshotRetentionLimit': 123,
            'MaintenanceWindow': 'string',
            'SnapshotWindow': 'string',
            'ACLName': 'string',
            'AutoMinorVersionUpgrade': True|False,
            'DataTiering': 'true'|'false',
            'NetworkType': 'ipv4'|'ipv6'|'dual_stack',
            'IpDiscovery': 'ipv4'|'ipv6'
        },
    ],
    'UnprocessedClusters': [
        {
            'ClusterName': 'string',
            'ErrorType': 'string',
            'ErrorMessage': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ProcessedClusters (list) --

      The list of clusters that have been updated.

      • (dict) --

        Contains all of the attributes of a specific cluster.

        • Name (string) --

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

        • Description (string) --

          A description of the cluster

        • Status (string) --

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

        • PendingUpdates (dict) --

          A group of settings that are currently being applied.

          • Resharding (dict) --

            The status of an online resharding operation.

            • SlotMigration (dict) --

              The status of the online resharding slot migration

              • ProgressPercentage (float) --

                The percentage of the slot migration that is complete.

          • ACLs (dict) --

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

            • ACLToApply (string) --

              A list of ACLs pending to be applied.

          • ServiceUpdates (list) --

            A list of service updates being applied to the cluster

            • (dict) --

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

              • ServiceUpdateName (string) --

                The unique ID of the service update

              • Status (string) --

                The status of the service update

        • MultiRegionClusterName (string) --

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

        • NumberOfShards (integer) --

          The number of shards in the cluster

        • Shards (list) --

          A list of shards that are members of the cluster.

          • (dict) --

            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.

            • Name (string) --

              The name of the shard

            • Status (string) --

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

            • Slots (string) --

              The keyspace for this shard.

            • Nodes (list) --

              A list containing information about individual nodes within the shard

              • (dict) --

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

                • Name (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 (string) --

                  The status of the service update on the node

                • AvailabilityZone (string) --

                  The Availability Zone in which the node resides

                • CreateTime (datetime) --

                  The date and time when the node was created.

                • Endpoint (dict) --

                  The hostname for connecting to this node.

                  • Address (string) --

                    The DNS hostname of the node.

                  • Port (integer) --

                    The port number that the engine is listening on.

            • NumberOfNodes (integer) --

              The number of nodes in the shard

        • AvailabilityMode (string) --

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

        • ClusterEndpoint (dict) --

          The cluster's configuration endpoint

          • Address (string) --

            The DNS hostname of the node.

          • Port (integer) --

            The port number that the engine is listening on.

        • NodeType (string) --

          The cluster's node type

        • Engine (string) --

          The name of the engine used by the cluster.

        • EngineVersion (string) --

          The Redis OSS engine version used by the cluster

        • EnginePatchVersion (string) --

          The Redis OSS engine patch version used by the cluster

        • ParameterGroupName (string) --

          The name of the parameter group used by the cluster

        • ParameterGroupStatus (string) --

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

        • SecurityGroups (list) --

          A list of security groups used by the cluster

          • (dict) --

            Represents a single security group and its status.

            • SecurityGroupId (string) --

              The identifier of the security group.

            • Status (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.

        • SubnetGroupName (string) --

          The name of the subnet group used by the cluster

        • TLSEnabled (boolean) --

          A flag to indicate if In-transit encryption is enabled

        • KmsKeyId (string) --

          The ID of the KMS key used to encrypt the cluster

        • ARN (string) --

          The Amazon Resource Name (ARN) of the cluster.

        • SnsTopicArn (string) --

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

        • SnsTopicStatus (string) --

          The SNS topic must be in Active status to receive notifications

        • SnapshotRetentionLimit (integer) --

          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.

        • MaintenanceWindow (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.

        • SnapshotWindow (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.

        • ACLName (string) --

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

        • AutoMinorVersionUpgrade (boolean) --

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

        • DataTiering (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.

        • NetworkType (string) --

          The IP address type for the cluster. Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing.

        • IpDiscovery (string) --

          The mechanism that the cluster uses to discover IP addresses. Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses.

    • UnprocessedClusters (list) --

      The list of clusters where updates have not been applied.

      • (dict) --

        A cluster whose updates have failed

        • ClusterName (string) --

          The name of the cluster

        • ErrorType (string) --

          The error type associated with the update failure

        • ErrorMessage (string) --

          The error message associated with the update failure

CreateCluster (updated) Link ¶
Changes (request, response)
Request
{'IpDiscovery': 'ipv4 | ipv6', 'NetworkType': 'ipv4 | ipv6 | dual_stack'}
Response
{'Cluster': {'IpDiscovery': 'ipv4 | ipv6',
             'NetworkType': 'ipv4 | ipv6 | dual_stack'}}

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

See also: AWS API Documentation

Request Syntax

client.create_cluster(
    ClusterName='string',
    NodeType='string',
    MultiRegionClusterName='string',
    ParameterGroupName='string',
    Description='string',
    NumShards=123,
    NumReplicasPerShard=123,
    SubnetGroupName='string',
    SecurityGroupIds=[
        'string',
    ],
    MaintenanceWindow='string',
    Port=123,
    SnsTopicArn='string',
    TLSEnabled=True|False,
    KmsKeyId='string',
    SnapshotArns=[
        'string',
    ],
    SnapshotName='string',
    SnapshotRetentionLimit=123,
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    SnapshotWindow='string',
    ACLName='string',
    Engine='string',
    EngineVersion='string',
    AutoMinorVersionUpgrade=True|False,
    DataTiering=True|False,
    NetworkType='ipv4'|'ipv6'|'dual_stack',
    IpDiscovery='ipv4'|'ipv6'
)
type ClusterName:

string

param ClusterName:

[REQUIRED]

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

type NodeType:

string

param NodeType:

[REQUIRED]

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

type MultiRegionClusterName:

string

param MultiRegionClusterName:

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

type ParameterGroupName:

string

param ParameterGroupName:

The name of the parameter group associated with the cluster.

type Description:

string

param Description:

An optional description of the cluster.

type NumShards:

integer

param NumShards:

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

type NumReplicasPerShard:

integer

param NumReplicasPerShard:

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

type SubnetGroupName:

string

param SubnetGroupName:

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

type SecurityGroupIds:

list

param SecurityGroupIds:

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

  • (string) --

type MaintenanceWindow:

string

param MaintenanceWindow:

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

type Port:

integer

param Port:

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

type SnsTopicArn:

string

param SnsTopicArn:

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

type TLSEnabled:

boolean

param TLSEnabled:

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

type KmsKeyId:

string

param KmsKeyId:

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

type SnapshotArns:

list

param SnapshotArns:

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.

  • (string) --

type SnapshotName:

string

param SnapshotName:

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.

type SnapshotRetentionLimit:

integer

param SnapshotRetentionLimit:

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.

type Tags:

list

param Tags:

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.

  • (dict) --

    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

    • Key (string) --

      The key for the tag. May not be null.

    • Value (string) --

      The tag's value. May be null.

type SnapshotWindow:

string

param SnapshotWindow:

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.

type ACLName:

string

param ACLName:

[REQUIRED]

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

type Engine:

string

param Engine:

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

type EngineVersion:

string

param EngineVersion:

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

type AutoMinorVersionUpgrade:

boolean

param AutoMinorVersionUpgrade:

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

type DataTiering:

boolean

param DataTiering:

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.

type NetworkType:

string

param NetworkType:

Specifies the IP address type for the cluster. Valid values are 'ipv4', 'ipv6', or 'dual_stack'. When set to 'ipv4', the cluster will only be accessible via IPv4 addresses. When set to 'ipv6', the cluster will only be accessible via IPv6 addresses. When set to 'dual_stack', the cluster will be accessible via both IPv4 and IPv6 addresses. If not specified, the default is 'ipv4'.

type IpDiscovery:

string

param IpDiscovery:

The mechanism for discovering IP addresses for the cluster discovery protocol. Valid values are 'ipv4' or 'ipv6'. When set to 'ipv4', cluster discovery functions such as cluster slots, cluster shards, and cluster nodes return IPv4 addresses for cluster nodes. When set to 'ipv6', the cluster discovery functions return IPv6 addresses for cluster nodes. The value must be compatible with the NetworkType parameter. If not specified, the default is 'ipv4'.

rtype:

dict

returns:

Response Syntax

{
    'Cluster': {
        'Name': 'string',
        'Description': 'string',
        'Status': 'string',
        'PendingUpdates': {
            'Resharding': {
                'SlotMigration': {
                    'ProgressPercentage': 123.0
                }
            },
            'ACLs': {
                'ACLToApply': 'string'
            },
            'ServiceUpdates': [
                {
                    'ServiceUpdateName': 'string',
                    'Status': 'available'|'in-progress'|'complete'|'scheduled'
                },
            ]
        },
        'MultiRegionClusterName': 'string',
        'NumberOfShards': 123,
        'Shards': [
            {
                'Name': 'string',
                'Status': 'string',
                'Slots': 'string',
                'Nodes': [
                    {
                        'Name': 'string',
                        'Status': 'string',
                        'AvailabilityZone': 'string',
                        'CreateTime': datetime(2015, 1, 1),
                        'Endpoint': {
                            'Address': 'string',
                            'Port': 123
                        }
                    },
                ],
                'NumberOfNodes': 123
            },
        ],
        'AvailabilityMode': 'singleaz'|'multiaz',
        'ClusterEndpoint': {
            'Address': 'string',
            'Port': 123
        },
        'NodeType': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'EnginePatchVersion': 'string',
        'ParameterGroupName': 'string',
        'ParameterGroupStatus': 'string',
        'SecurityGroups': [
            {
                'SecurityGroupId': 'string',
                'Status': 'string'
            },
        ],
        'SubnetGroupName': 'string',
        'TLSEnabled': True|False,
        'KmsKeyId': 'string',
        'ARN': 'string',
        'SnsTopicArn': 'string',
        'SnsTopicStatus': 'string',
        'SnapshotRetentionLimit': 123,
        'MaintenanceWindow': 'string',
        'SnapshotWindow': 'string',
        'ACLName': 'string',
        'AutoMinorVersionUpgrade': True|False,
        'DataTiering': 'true'|'false',
        'NetworkType': 'ipv4'|'ipv6'|'dual_stack',
        'IpDiscovery': 'ipv4'|'ipv6'
    }
}

Response Structure

  • (dict) --

    • Cluster (dict) --

      The newly-created cluster.

      • Name (string) --

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

      • Description (string) --

        A description of the cluster

      • Status (string) --

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

      • PendingUpdates (dict) --

        A group of settings that are currently being applied.

        • Resharding (dict) --

          The status of an online resharding operation.

          • SlotMigration (dict) --

            The status of the online resharding slot migration

            • ProgressPercentage (float) --

              The percentage of the slot migration that is complete.

        • ACLs (dict) --

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

          • ACLToApply (string) --

            A list of ACLs pending to be applied.

        • ServiceUpdates (list) --

          A list of service updates being applied to the cluster

          • (dict) --

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

            • ServiceUpdateName (string) --

              The unique ID of the service update

            • Status (string) --

              The status of the service update

      • MultiRegionClusterName (string) --

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

      • NumberOfShards (integer) --

        The number of shards in the cluster

      • Shards (list) --

        A list of shards that are members of the cluster.

        • (dict) --

          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.

          • Name (string) --

            The name of the shard

          • Status (string) --

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

          • Slots (string) --

            The keyspace for this shard.

          • Nodes (list) --

            A list containing information about individual nodes within the shard

            • (dict) --

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

              • Name (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 (string) --

                The status of the service update on the node

              • AvailabilityZone (string) --

                The Availability Zone in which the node resides

              • CreateTime (datetime) --

                The date and time when the node was created.

              • Endpoint (dict) --

                The hostname for connecting to this node.

                • Address (string) --

                  The DNS hostname of the node.

                • Port (integer) --

                  The port number that the engine is listening on.

          • NumberOfNodes (integer) --

            The number of nodes in the shard

      • AvailabilityMode (string) --

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

      • ClusterEndpoint (dict) --

        The cluster's configuration endpoint

        • Address (string) --

          The DNS hostname of the node.

        • Port (integer) --

          The port number that the engine is listening on.

      • NodeType (string) --

        The cluster's node type

      • Engine (string) --

        The name of the engine used by the cluster.

      • EngineVersion (string) --

        The Redis OSS engine version used by the cluster

      • EnginePatchVersion (string) --

        The Redis OSS engine patch version used by the cluster

      • ParameterGroupName (string) --

        The name of the parameter group used by the cluster

      • ParameterGroupStatus (string) --

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

      • SecurityGroups (list) --

        A list of security groups used by the cluster

        • (dict) --

          Represents a single security group and its status.

          • SecurityGroupId (string) --

            The identifier of the security group.

          • Status (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.

      • SubnetGroupName (string) --

        The name of the subnet group used by the cluster

      • TLSEnabled (boolean) --

        A flag to indicate if In-transit encryption is enabled

      • KmsKeyId (string) --

        The ID of the KMS key used to encrypt the cluster

      • ARN (string) --

        The Amazon Resource Name (ARN) of the cluster.

      • SnsTopicArn (string) --

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

      • SnsTopicStatus (string) --

        The SNS topic must be in Active status to receive notifications

      • SnapshotRetentionLimit (integer) --

        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.

      • MaintenanceWindow (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.

      • SnapshotWindow (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.

      • ACLName (string) --

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

      • AutoMinorVersionUpgrade (boolean) --

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

      • DataTiering (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.

      • NetworkType (string) --

        The IP address type for the cluster. Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing.

      • IpDiscovery (string) --

        The mechanism that the cluster uses to discover IP addresses. Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses.

CreateSubnetGroup (updated) Link ¶
Changes (response)
{'SubnetGroup': {'Subnets': {'SupportedNetworkTypes': ['ipv4 | ipv6 | '
                                                       'dual_stack']},
                 'SupportedNetworkTypes': ['ipv4 | ipv6 | dual_stack']}}

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.

See also: AWS API Documentation

Request Syntax

client.create_subnet_group(
    SubnetGroupName='string',
    Description='string',
    SubnetIds=[
        'string',
    ],
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type SubnetGroupName:

string

param SubnetGroupName:

[REQUIRED]

The name of the subnet group.

type Description:

string

param Description:

A description for the subnet group.

type SubnetIds:

list

param SubnetIds:

[REQUIRED]

A list of VPC subnet IDs for the subnet group.

  • (string) --

type Tags:

list

param Tags:

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.

  • (dict) --

    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

    • Key (string) --

      The key for the tag. May not be null.

    • Value (string) --

      The tag's value. May be null.

rtype:

dict

returns:

Response Syntax

{
    'SubnetGroup': {
        'Name': 'string',
        'Description': 'string',
        'VpcId': 'string',
        'Subnets': [
            {
                'Identifier': 'string',
                'AvailabilityZone': {
                    'Name': 'string'
                },
                'SupportedNetworkTypes': [
                    'ipv4'|'ipv6'|'dual_stack',
                ]
            },
        ],
        'ARN': 'string',
        'SupportedNetworkTypes': [
            'ipv4'|'ipv6'|'dual_stack',
        ]
    }
}

Response Structure

  • (dict) --

    • SubnetGroup (dict) --

      The newly-created subnet group.

      • Name (string) --

        The name of the subnet group

      • Description (string) --

        A description of the subnet group

      • VpcId (string) --

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

      • Subnets (list) --

        A list of subnets associated with the subnet group.

        • (dict) --

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

          • Identifier (string) --

            The unique identifier for the subnet.

          • AvailabilityZone (dict) --

            The Availability Zone where the subnet resides

            • Name (string) --

              The name of the Availability Zone.

          • SupportedNetworkTypes (list) --

            The network types supported by this subnet. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating whether the subnet supports IPv4 only, IPv6 only, or dual-stack deployments.

            • (string) --

      • ARN (string) --

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

      • SupportedNetworkTypes (list) --

        The network types supported by this subnet group. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating the IP address types that can be used for clusters deployed in this subnet group.

        • (string) --

DeleteCluster (updated) Link ¶
Changes (response)
{'Cluster': {'IpDiscovery': 'ipv4 | ipv6',
             'NetworkType': 'ipv4 | ipv6 | dual_stack'}}

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

See also: AWS API Documentation

Request Syntax

client.delete_cluster(
    ClusterName='string',
    MultiRegionClusterName='string',
    FinalSnapshotName='string'
)
type ClusterName:

string

param ClusterName:

[REQUIRED]

The name of the cluster to be deleted

type MultiRegionClusterName:

string

param MultiRegionClusterName:

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

type FinalSnapshotName:

string

param FinalSnapshotName:

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.

rtype:

dict

returns:

Response Syntax

{
    'Cluster': {
        'Name': 'string',
        'Description': 'string',
        'Status': 'string',
        'PendingUpdates': {
            'Resharding': {
                'SlotMigration': {
                    'ProgressPercentage': 123.0
                }
            },
            'ACLs': {
                'ACLToApply': 'string'
            },
            'ServiceUpdates': [
                {
                    'ServiceUpdateName': 'string',
                    'Status': 'available'|'in-progress'|'complete'|'scheduled'
                },
            ]
        },
        'MultiRegionClusterName': 'string',
        'NumberOfShards': 123,
        'Shards': [
            {
                'Name': 'string',
                'Status': 'string',
                'Slots': 'string',
                'Nodes': [
                    {
                        'Name': 'string',
                        'Status': 'string',
                        'AvailabilityZone': 'string',
                        'CreateTime': datetime(2015, 1, 1),
                        'Endpoint': {
                            'Address': 'string',
                            'Port': 123
                        }
                    },
                ],
                'NumberOfNodes': 123
            },
        ],
        'AvailabilityMode': 'singleaz'|'multiaz',
        'ClusterEndpoint': {
            'Address': 'string',
            'Port': 123
        },
        'NodeType': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'EnginePatchVersion': 'string',
        'ParameterGroupName': 'string',
        'ParameterGroupStatus': 'string',
        'SecurityGroups': [
            {
                'SecurityGroupId': 'string',
                'Status': 'string'
            },
        ],
        'SubnetGroupName': 'string',
        'TLSEnabled': True|False,
        'KmsKeyId': 'string',
        'ARN': 'string',
        'SnsTopicArn': 'string',
        'SnsTopicStatus': 'string',
        'SnapshotRetentionLimit': 123,
        'MaintenanceWindow': 'string',
        'SnapshotWindow': 'string',
        'ACLName': 'string',
        'AutoMinorVersionUpgrade': True|False,
        'DataTiering': 'true'|'false',
        'NetworkType': 'ipv4'|'ipv6'|'dual_stack',
        'IpDiscovery': 'ipv4'|'ipv6'
    }
}

Response Structure

  • (dict) --

    • Cluster (dict) --

      The cluster object that has been deleted.

      • Name (string) --

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

      • Description (string) --

        A description of the cluster

      • Status (string) --

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

      • PendingUpdates (dict) --

        A group of settings that are currently being applied.

        • Resharding (dict) --

          The status of an online resharding operation.

          • SlotMigration (dict) --

            The status of the online resharding slot migration

            • ProgressPercentage (float) --

              The percentage of the slot migration that is complete.

        • ACLs (dict) --

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

          • ACLToApply (string) --

            A list of ACLs pending to be applied.

        • ServiceUpdates (list) --

          A list of service updates being applied to the cluster

          • (dict) --

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

            • ServiceUpdateName (string) --

              The unique ID of the service update

            • Status (string) --

              The status of the service update

      • MultiRegionClusterName (string) --

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

      • NumberOfShards (integer) --

        The number of shards in the cluster

      • Shards (list) --

        A list of shards that are members of the cluster.

        • (dict) --

          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.

          • Name (string) --

            The name of the shard

          • Status (string) --

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

          • Slots (string) --

            The keyspace for this shard.

          • Nodes (list) --

            A list containing information about individual nodes within the shard

            • (dict) --

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

              • Name (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 (string) --

                The status of the service update on the node

              • AvailabilityZone (string) --

                The Availability Zone in which the node resides

              • CreateTime (datetime) --

                The date and time when the node was created.

              • Endpoint (dict) --

                The hostname for connecting to this node.

                • Address (string) --

                  The DNS hostname of the node.

                • Port (integer) --

                  The port number that the engine is listening on.

          • NumberOfNodes (integer) --

            The number of nodes in the shard

      • AvailabilityMode (string) --

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

      • ClusterEndpoint (dict) --

        The cluster's configuration endpoint

        • Address (string) --

          The DNS hostname of the node.

        • Port (integer) --

          The port number that the engine is listening on.

      • NodeType (string) --

        The cluster's node type

      • Engine (string) --

        The name of the engine used by the cluster.

      • EngineVersion (string) --

        The Redis OSS engine version used by the cluster

      • EnginePatchVersion (string) --

        The Redis OSS engine patch version used by the cluster

      • ParameterGroupName (string) --

        The name of the parameter group used by the cluster

      • ParameterGroupStatus (string) --

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

      • SecurityGroups (list) --

        A list of security groups used by the cluster

        • (dict) --

          Represents a single security group and its status.

          • SecurityGroupId (string) --

            The identifier of the security group.

          • Status (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.

      • SubnetGroupName (string) --

        The name of the subnet group used by the cluster

      • TLSEnabled (boolean) --

        A flag to indicate if In-transit encryption is enabled

      • KmsKeyId (string) --

        The ID of the KMS key used to encrypt the cluster

      • ARN (string) --

        The Amazon Resource Name (ARN) of the cluster.

      • SnsTopicArn (string) --

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

      • SnsTopicStatus (string) --

        The SNS topic must be in Active status to receive notifications

      • SnapshotRetentionLimit (integer) --

        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.

      • MaintenanceWindow (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.

      • SnapshotWindow (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.

      • ACLName (string) --

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

      • AutoMinorVersionUpgrade (boolean) --

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

      • DataTiering (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.

      • NetworkType (string) --

        The IP address type for the cluster. Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing.

      • IpDiscovery (string) --

        The mechanism that the cluster uses to discover IP addresses. Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses.

DeleteSubnetGroup (updated) Link ¶
Changes (response)
{'SubnetGroup': {'Subnets': {'SupportedNetworkTypes': ['ipv4 | ipv6 | '
                                                       'dual_stack']},
                 'SupportedNetworkTypes': ['ipv4 | ipv6 | dual_stack']}}

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

See also: AWS API Documentation

Request Syntax

client.delete_subnet_group(
    SubnetGroupName='string'
)
type SubnetGroupName:

string

param SubnetGroupName:

[REQUIRED]

The name of the subnet group to delete.

rtype:

dict

returns:

Response Syntax

{
    'SubnetGroup': {
        'Name': 'string',
        'Description': 'string',
        'VpcId': 'string',
        'Subnets': [
            {
                'Identifier': 'string',
                'AvailabilityZone': {
                    'Name': 'string'
                },
                'SupportedNetworkTypes': [
                    'ipv4'|'ipv6'|'dual_stack',
                ]
            },
        ],
        'ARN': 'string',
        'SupportedNetworkTypes': [
            'ipv4'|'ipv6'|'dual_stack',
        ]
    }
}

Response Structure

  • (dict) --

    • SubnetGroup (dict) --

      The subnet group object that has been deleted.

      • Name (string) --

        The name of the subnet group

      • Description (string) --

        A description of the subnet group

      • VpcId (string) --

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

      • Subnets (list) --

        A list of subnets associated with the subnet group.

        • (dict) --

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

          • Identifier (string) --

            The unique identifier for the subnet.

          • AvailabilityZone (dict) --

            The Availability Zone where the subnet resides

            • Name (string) --

              The name of the Availability Zone.

          • SupportedNetworkTypes (list) --

            The network types supported by this subnet. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating whether the subnet supports IPv4 only, IPv6 only, or dual-stack deployments.

            • (string) --

      • ARN (string) --

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

      • SupportedNetworkTypes (list) --

        The network types supported by this subnet group. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating the IP address types that can be used for clusters deployed in this subnet group.

        • (string) --

DescribeClusters (updated) Link ¶
Changes (response)
{'Clusters': {'IpDiscovery': 'ipv4 | ipv6',
              'NetworkType': 'ipv4 | ipv6 | dual_stack'}}

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

See also: AWS API Documentation

Request Syntax

client.describe_clusters(
    ClusterName='string',
    MaxResults=123,
    NextToken='string',
    ShowShardDetails=True|False
)
type ClusterName:

string

param ClusterName:

The name of the cluster.

type MaxResults:

integer

param MaxResults:

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.

type NextToken:

string

param NextToken:

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.

type ShowShardDetails:

boolean

param ShowShardDetails:

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

rtype:

dict

returns:

Response Syntax

{
    'NextToken': 'string',
    'Clusters': [
        {
            'Name': 'string',
            'Description': 'string',
            'Status': 'string',
            'PendingUpdates': {
                'Resharding': {
                    'SlotMigration': {
                        'ProgressPercentage': 123.0
                    }
                },
                'ACLs': {
                    'ACLToApply': 'string'
                },
                'ServiceUpdates': [
                    {
                        'ServiceUpdateName': 'string',
                        'Status': 'available'|'in-progress'|'complete'|'scheduled'
                    },
                ]
            },
            'MultiRegionClusterName': 'string',
            'NumberOfShards': 123,
            'Shards': [
                {
                    'Name': 'string',
                    'Status': 'string',
                    'Slots': 'string',
                    'Nodes': [
                        {
                            'Name': 'string',
                            'Status': 'string',
                            'AvailabilityZone': 'string',
                            'CreateTime': datetime(2015, 1, 1),
                            'Endpoint': {
                                'Address': 'string',
                                'Port': 123
                            }
                        },
                    ],
                    'NumberOfNodes': 123
                },
            ],
            'AvailabilityMode': 'singleaz'|'multiaz',
            'ClusterEndpoint': {
                'Address': 'string',
                'Port': 123
            },
            'NodeType': 'string',
            'Engine': 'string',
            'EngineVersion': 'string',
            'EnginePatchVersion': 'string',
            'ParameterGroupName': 'string',
            'ParameterGroupStatus': 'string',
            'SecurityGroups': [
                {
                    'SecurityGroupId': 'string',
                    'Status': 'string'
                },
            ],
            'SubnetGroupName': 'string',
            'TLSEnabled': True|False,
            'KmsKeyId': 'string',
            'ARN': 'string',
            'SnsTopicArn': 'string',
            'SnsTopicStatus': 'string',
            'SnapshotRetentionLimit': 123,
            'MaintenanceWindow': 'string',
            'SnapshotWindow': 'string',
            'ACLName': 'string',
            'AutoMinorVersionUpgrade': True|False,
            'DataTiering': 'true'|'false',
            'NetworkType': 'ipv4'|'ipv6'|'dual_stack',
            'IpDiscovery': 'ipv4'|'ipv6'
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (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.

    • Clusters (list) --

      A list of clusters

      • (dict) --

        Contains all of the attributes of a specific cluster.

        • Name (string) --

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

        • Description (string) --

          A description of the cluster

        • Status (string) --

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

        • PendingUpdates (dict) --

          A group of settings that are currently being applied.

          • Resharding (dict) --

            The status of an online resharding operation.

            • SlotMigration (dict) --

              The status of the online resharding slot migration

              • ProgressPercentage (float) --

                The percentage of the slot migration that is complete.

          • ACLs (dict) --

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

            • ACLToApply (string) --

              A list of ACLs pending to be applied.

          • ServiceUpdates (list) --

            A list of service updates being applied to the cluster

            • (dict) --

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

              • ServiceUpdateName (string) --

                The unique ID of the service update

              • Status (string) --

                The status of the service update

        • MultiRegionClusterName (string) --

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

        • NumberOfShards (integer) --

          The number of shards in the cluster

        • Shards (list) --

          A list of shards that are members of the cluster.

          • (dict) --

            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.

            • Name (string) --

              The name of the shard

            • Status (string) --

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

            • Slots (string) --

              The keyspace for this shard.

            • Nodes (list) --

              A list containing information about individual nodes within the shard

              • (dict) --

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

                • Name (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 (string) --

                  The status of the service update on the node

                • AvailabilityZone (string) --

                  The Availability Zone in which the node resides

                • CreateTime (datetime) --

                  The date and time when the node was created.

                • Endpoint (dict) --

                  The hostname for connecting to this node.

                  • Address (string) --

                    The DNS hostname of the node.

                  • Port (integer) --

                    The port number that the engine is listening on.

            • NumberOfNodes (integer) --

              The number of nodes in the shard

        • AvailabilityMode (string) --

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

        • ClusterEndpoint (dict) --

          The cluster's configuration endpoint

          • Address (string) --

            The DNS hostname of the node.

          • Port (integer) --

            The port number that the engine is listening on.

        • NodeType (string) --

          The cluster's node type

        • Engine (string) --

          The name of the engine used by the cluster.

        • EngineVersion (string) --

          The Redis OSS engine version used by the cluster

        • EnginePatchVersion (string) --

          The Redis OSS engine patch version used by the cluster

        • ParameterGroupName (string) --

          The name of the parameter group used by the cluster

        • ParameterGroupStatus (string) --

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

        • SecurityGroups (list) --

          A list of security groups used by the cluster

          • (dict) --

            Represents a single security group and its status.

            • SecurityGroupId (string) --

              The identifier of the security group.

            • Status (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.

        • SubnetGroupName (string) --

          The name of the subnet group used by the cluster

        • TLSEnabled (boolean) --

          A flag to indicate if In-transit encryption is enabled

        • KmsKeyId (string) --

          The ID of the KMS key used to encrypt the cluster

        • ARN (string) --

          The Amazon Resource Name (ARN) of the cluster.

        • SnsTopicArn (string) --

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

        • SnsTopicStatus (string) --

          The SNS topic must be in Active status to receive notifications

        • SnapshotRetentionLimit (integer) --

          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.

        • MaintenanceWindow (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.

        • SnapshotWindow (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.

        • ACLName (string) --

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

        • AutoMinorVersionUpgrade (boolean) --

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

        • DataTiering (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.

        • NetworkType (string) --

          The IP address type for the cluster. Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing.

        • IpDiscovery (string) --

          The mechanism that the cluster uses to discover IP addresses. Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses.

DescribeSubnetGroups (updated) Link ¶
Changes (response)
{'SubnetGroups': {'Subnets': {'SupportedNetworkTypes': ['ipv4 | ipv6 | '
                                                        'dual_stack']},
                  'SupportedNetworkTypes': ['ipv4 | ipv6 | dual_stack']}}

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

See also: AWS API Documentation

Request Syntax

client.describe_subnet_groups(
    SubnetGroupName='string',
    MaxResults=123,
    NextToken='string'
)
type SubnetGroupName:

string

param SubnetGroupName:

The name of the subnet group to return details for.

type MaxResults:

integer

param MaxResults:

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.

type NextToken:

string

param NextToken:

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.

rtype:

dict

returns:

Response Syntax

{
    'NextToken': 'string',
    'SubnetGroups': [
        {
            'Name': 'string',
            'Description': 'string',
            'VpcId': 'string',
            'Subnets': [
                {
                    'Identifier': 'string',
                    'AvailabilityZone': {
                        'Name': 'string'
                    },
                    'SupportedNetworkTypes': [
                        'ipv4'|'ipv6'|'dual_stack',
                    ]
                },
            ],
            'ARN': 'string',
            'SupportedNetworkTypes': [
                'ipv4'|'ipv6'|'dual_stack',
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (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 (list) --

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

      • (dict) --

        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.

        • Name (string) --

          The name of the subnet group

        • Description (string) --

          A description of the subnet group

        • VpcId (string) --

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

        • Subnets (list) --

          A list of subnets associated with the subnet group.

          • (dict) --

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

            • Identifier (string) --

              The unique identifier for the subnet.

            • AvailabilityZone (dict) --

              The Availability Zone where the subnet resides

              • Name (string) --

                The name of the Availability Zone.

            • SupportedNetworkTypes (list) --

              The network types supported by this subnet. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating whether the subnet supports IPv4 only, IPv6 only, or dual-stack deployments.

              • (string) --

        • ARN (string) --

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

        • SupportedNetworkTypes (list) --

          The network types supported by this subnet group. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating the IP address types that can be used for clusters deployed in this subnet group.

          • (string) --

FailoverShard (updated) Link ¶
Changes (response)
{'Cluster': {'IpDiscovery': 'ipv4 | ipv6',
             'NetworkType': 'ipv4 | ipv6 | dual_stack'}}

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.

See also: AWS API Documentation

Request Syntax

client.failover_shard(
    ClusterName='string',
    ShardName='string'
)
type ClusterName:

string

param ClusterName:

[REQUIRED]

The cluster being failed over.

type ShardName:

string

param ShardName:

[REQUIRED]

The name of the shard.

rtype:

dict

returns:

Response Syntax

{
    'Cluster': {
        'Name': 'string',
        'Description': 'string',
        'Status': 'string',
        'PendingUpdates': {
            'Resharding': {
                'SlotMigration': {
                    'ProgressPercentage': 123.0
                }
            },
            'ACLs': {
                'ACLToApply': 'string'
            },
            'ServiceUpdates': [
                {
                    'ServiceUpdateName': 'string',
                    'Status': 'available'|'in-progress'|'complete'|'scheduled'
                },
            ]
        },
        'MultiRegionClusterName': 'string',
        'NumberOfShards': 123,
        'Shards': [
            {
                'Name': 'string',
                'Status': 'string',
                'Slots': 'string',
                'Nodes': [
                    {
                        'Name': 'string',
                        'Status': 'string',
                        'AvailabilityZone': 'string',
                        'CreateTime': datetime(2015, 1, 1),
                        'Endpoint': {
                            'Address': 'string',
                            'Port': 123
                        }
                    },
                ],
                'NumberOfNodes': 123
            },
        ],
        'AvailabilityMode': 'singleaz'|'multiaz',
        'ClusterEndpoint': {
            'Address': 'string',
            'Port': 123
        },
        'NodeType': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'EnginePatchVersion': 'string',
        'ParameterGroupName': 'string',
        'ParameterGroupStatus': 'string',
        'SecurityGroups': [
            {
                'SecurityGroupId': 'string',
                'Status': 'string'
            },
        ],
        'SubnetGroupName': 'string',
        'TLSEnabled': True|False,
        'KmsKeyId': 'string',
        'ARN': 'string',
        'SnsTopicArn': 'string',
        'SnsTopicStatus': 'string',
        'SnapshotRetentionLimit': 123,
        'MaintenanceWindow': 'string',
        'SnapshotWindow': 'string',
        'ACLName': 'string',
        'AutoMinorVersionUpgrade': True|False,
        'DataTiering': 'true'|'false',
        'NetworkType': 'ipv4'|'ipv6'|'dual_stack',
        'IpDiscovery': 'ipv4'|'ipv6'
    }
}

Response Structure

  • (dict) --

    • Cluster (dict) --

      The cluster being failed over.

      • Name (string) --

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

      • Description (string) --

        A description of the cluster

      • Status (string) --

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

      • PendingUpdates (dict) --

        A group of settings that are currently being applied.

        • Resharding (dict) --

          The status of an online resharding operation.

          • SlotMigration (dict) --

            The status of the online resharding slot migration

            • ProgressPercentage (float) --

              The percentage of the slot migration that is complete.

        • ACLs (dict) --

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

          • ACLToApply (string) --

            A list of ACLs pending to be applied.

        • ServiceUpdates (list) --

          A list of service updates being applied to the cluster

          • (dict) --

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

            • ServiceUpdateName (string) --

              The unique ID of the service update

            • Status (string) --

              The status of the service update

      • MultiRegionClusterName (string) --

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

      • NumberOfShards (integer) --

        The number of shards in the cluster

      • Shards (list) --

        A list of shards that are members of the cluster.

        • (dict) --

          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.

          • Name (string) --

            The name of the shard

          • Status (string) --

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

          • Slots (string) --

            The keyspace for this shard.

          • Nodes (list) --

            A list containing information about individual nodes within the shard

            • (dict) --

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

              • Name (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 (string) --

                The status of the service update on the node

              • AvailabilityZone (string) --

                The Availability Zone in which the node resides

              • CreateTime (datetime) --

                The date and time when the node was created.

              • Endpoint (dict) --

                The hostname for connecting to this node.

                • Address (string) --

                  The DNS hostname of the node.

                • Port (integer) --

                  The port number that the engine is listening on.

          • NumberOfNodes (integer) --

            The number of nodes in the shard

      • AvailabilityMode (string) --

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

      • ClusterEndpoint (dict) --

        The cluster's configuration endpoint

        • Address (string) --

          The DNS hostname of the node.

        • Port (integer) --

          The port number that the engine is listening on.

      • NodeType (string) --

        The cluster's node type

      • Engine (string) --

        The name of the engine used by the cluster.

      • EngineVersion (string) --

        The Redis OSS engine version used by the cluster

      • EnginePatchVersion (string) --

        The Redis OSS engine patch version used by the cluster

      • ParameterGroupName (string) --

        The name of the parameter group used by the cluster

      • ParameterGroupStatus (string) --

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

      • SecurityGroups (list) --

        A list of security groups used by the cluster

        • (dict) --

          Represents a single security group and its status.

          • SecurityGroupId (string) --

            The identifier of the security group.

          • Status (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.

      • SubnetGroupName (string) --

        The name of the subnet group used by the cluster

      • TLSEnabled (boolean) --

        A flag to indicate if In-transit encryption is enabled

      • KmsKeyId (string) --

        The ID of the KMS key used to encrypt the cluster

      • ARN (string) --

        The Amazon Resource Name (ARN) of the cluster.

      • SnsTopicArn (string) --

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

      • SnsTopicStatus (string) --

        The SNS topic must be in Active status to receive notifications

      • SnapshotRetentionLimit (integer) --

        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.

      • MaintenanceWindow (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.

      • SnapshotWindow (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.

      • ACLName (string) --

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

      • AutoMinorVersionUpgrade (boolean) --

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

      • DataTiering (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.

      • NetworkType (string) --

        The IP address type for the cluster. Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing.

      • IpDiscovery (string) --

        The mechanism that the cluster uses to discover IP addresses. Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses.

UpdateCluster (updated) Link ¶
Changes (request, response)
Request
{'IpDiscovery': 'ipv4 | ipv6'}
Response
{'Cluster': {'IpDiscovery': 'ipv4 | ipv6',
             'NetworkType': 'ipv4 | ipv6 | dual_stack'}}

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.

See also: AWS API Documentation

Request Syntax

client.update_cluster(
    ClusterName='string',
    Description='string',
    SecurityGroupIds=[
        'string',
    ],
    MaintenanceWindow='string',
    SnsTopicArn='string',
    SnsTopicStatus='string',
    ParameterGroupName='string',
    SnapshotWindow='string',
    SnapshotRetentionLimit=123,
    NodeType='string',
    Engine='string',
    EngineVersion='string',
    ReplicaConfiguration={
        'ReplicaCount': 123
    },
    ShardConfiguration={
        'ShardCount': 123
    },
    ACLName='string',
    IpDiscovery='ipv4'|'ipv6'
)
type ClusterName:

string

param ClusterName:

[REQUIRED]

The name of the cluster to update.

type Description:

string

param Description:

The description of the cluster to update.

type SecurityGroupIds:

list

param SecurityGroupIds:

The SecurityGroupIds to update.

  • (string) --

type MaintenanceWindow:

string

param MaintenanceWindow:

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

type SnsTopicArn:

string

param SnsTopicArn:

The SNS topic ARN to update.

type SnsTopicStatus:

string

param SnsTopicStatus:

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

type ParameterGroupName:

string

param ParameterGroupName:

The name of the parameter group to update.

type SnapshotWindow:

string

param SnapshotWindow:

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

type SnapshotRetentionLimit:

integer

param SnapshotRetentionLimit:

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.

type NodeType:

string

param NodeType:

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

type Engine:

string

param Engine:

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

type EngineVersion:

string

param EngineVersion:

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.

type ReplicaConfiguration:

dict

param ReplicaConfiguration:

The number of replicas that will reside in each shard.

  • ReplicaCount (integer) --

    The number of replicas to scale up or down to

type ShardConfiguration:

dict

param ShardConfiguration:

The number of shards in the cluster.

  • ShardCount (integer) --

    The number of shards in the cluster

type ACLName:

string

param ACLName:

The Access Control List that is associated with the cluster.

type IpDiscovery:

string

param IpDiscovery:

The mechanism for discovering IP addresses for the cluster discovery protocol. Valid values are 'ipv4' or 'ipv6'. When set to 'ipv4', cluster discovery functions such as cluster slots, cluster shards, and cluster nodes will return IPv4 addresses for cluster nodes. When set to 'ipv6', the cluster discovery functions return IPv6 addresses for cluster nodes. The value must be compatible with the NetworkType parameter. If not specified, the default is 'ipv4'.

rtype:

dict

returns:

Response Syntax

{
    'Cluster': {
        'Name': 'string',
        'Description': 'string',
        'Status': 'string',
        'PendingUpdates': {
            'Resharding': {
                'SlotMigration': {
                    'ProgressPercentage': 123.0
                }
            },
            'ACLs': {
                'ACLToApply': 'string'
            },
            'ServiceUpdates': [
                {
                    'ServiceUpdateName': 'string',
                    'Status': 'available'|'in-progress'|'complete'|'scheduled'
                },
            ]
        },
        'MultiRegionClusterName': 'string',
        'NumberOfShards': 123,
        'Shards': [
            {
                'Name': 'string',
                'Status': 'string',
                'Slots': 'string',
                'Nodes': [
                    {
                        'Name': 'string',
                        'Status': 'string',
                        'AvailabilityZone': 'string',
                        'CreateTime': datetime(2015, 1, 1),
                        'Endpoint': {
                            'Address': 'string',
                            'Port': 123
                        }
                    },
                ],
                'NumberOfNodes': 123
            },
        ],
        'AvailabilityMode': 'singleaz'|'multiaz',
        'ClusterEndpoint': {
            'Address': 'string',
            'Port': 123
        },
        'NodeType': 'string',
        'Engine': 'string',
        'EngineVersion': 'string',
        'EnginePatchVersion': 'string',
        'ParameterGroupName': 'string',
        'ParameterGroupStatus': 'string',
        'SecurityGroups': [
            {
                'SecurityGroupId': 'string',
                'Status': 'string'
            },
        ],
        'SubnetGroupName': 'string',
        'TLSEnabled': True|False,
        'KmsKeyId': 'string',
        'ARN': 'string',
        'SnsTopicArn': 'string',
        'SnsTopicStatus': 'string',
        'SnapshotRetentionLimit': 123,
        'MaintenanceWindow': 'string',
        'SnapshotWindow': 'string',
        'ACLName': 'string',
        'AutoMinorVersionUpgrade': True|False,
        'DataTiering': 'true'|'false',
        'NetworkType': 'ipv4'|'ipv6'|'dual_stack',
        'IpDiscovery': 'ipv4'|'ipv6'
    }
}

Response Structure

  • (dict) --

    • Cluster (dict) --

      The updated cluster.

      • Name (string) --

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

      • Description (string) --

        A description of the cluster

      • Status (string) --

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

      • PendingUpdates (dict) --

        A group of settings that are currently being applied.

        • Resharding (dict) --

          The status of an online resharding operation.

          • SlotMigration (dict) --

            The status of the online resharding slot migration

            • ProgressPercentage (float) --

              The percentage of the slot migration that is complete.

        • ACLs (dict) --

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

          • ACLToApply (string) --

            A list of ACLs pending to be applied.

        • ServiceUpdates (list) --

          A list of service updates being applied to the cluster

          • (dict) --

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

            • ServiceUpdateName (string) --

              The unique ID of the service update

            • Status (string) --

              The status of the service update

      • MultiRegionClusterName (string) --

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

      • NumberOfShards (integer) --

        The number of shards in the cluster

      • Shards (list) --

        A list of shards that are members of the cluster.

        • (dict) --

          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.

          • Name (string) --

            The name of the shard

          • Status (string) --

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

          • Slots (string) --

            The keyspace for this shard.

          • Nodes (list) --

            A list containing information about individual nodes within the shard

            • (dict) --

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

              • Name (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 (string) --

                The status of the service update on the node

              • AvailabilityZone (string) --

                The Availability Zone in which the node resides

              • CreateTime (datetime) --

                The date and time when the node was created.

              • Endpoint (dict) --

                The hostname for connecting to this node.

                • Address (string) --

                  The DNS hostname of the node.

                • Port (integer) --

                  The port number that the engine is listening on.

          • NumberOfNodes (integer) --

            The number of nodes in the shard

      • AvailabilityMode (string) --

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

      • ClusterEndpoint (dict) --

        The cluster's configuration endpoint

        • Address (string) --

          The DNS hostname of the node.

        • Port (integer) --

          The port number that the engine is listening on.

      • NodeType (string) --

        The cluster's node type

      • Engine (string) --

        The name of the engine used by the cluster.

      • EngineVersion (string) --

        The Redis OSS engine version used by the cluster

      • EnginePatchVersion (string) --

        The Redis OSS engine patch version used by the cluster

      • ParameterGroupName (string) --

        The name of the parameter group used by the cluster

      • ParameterGroupStatus (string) --

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

      • SecurityGroups (list) --

        A list of security groups used by the cluster

        • (dict) --

          Represents a single security group and its status.

          • SecurityGroupId (string) --

            The identifier of the security group.

          • Status (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.

      • SubnetGroupName (string) --

        The name of the subnet group used by the cluster

      • TLSEnabled (boolean) --

        A flag to indicate if In-transit encryption is enabled

      • KmsKeyId (string) --

        The ID of the KMS key used to encrypt the cluster

      • ARN (string) --

        The Amazon Resource Name (ARN) of the cluster.

      • SnsTopicArn (string) --

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

      • SnsTopicStatus (string) --

        The SNS topic must be in Active status to receive notifications

      • SnapshotRetentionLimit (integer) --

        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.

      • MaintenanceWindow (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.

      • SnapshotWindow (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.

      • ACLName (string) --

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

      • AutoMinorVersionUpgrade (boolean) --

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

      • DataTiering (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.

      • NetworkType (string) --

        The IP address type for the cluster. Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing.

      • IpDiscovery (string) --

        The mechanism that the cluster uses to discover IP addresses. Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses.

UpdateSubnetGroup (updated) Link ¶
Changes (response)
{'SubnetGroup': {'Subnets': {'SupportedNetworkTypes': ['ipv4 | ipv6 | '
                                                       'dual_stack']},
                 'SupportedNetworkTypes': ['ipv4 | ipv6 | dual_stack']}}

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

See also: AWS API Documentation

Request Syntax

client.update_subnet_group(
    SubnetGroupName='string',
    Description='string',
    SubnetIds=[
        'string',
    ]
)
type SubnetGroupName:

string

param SubnetGroupName:

[REQUIRED]

The name of the subnet group

type Description:

string

param Description:

A description of the subnet group

type SubnetIds:

list

param SubnetIds:

The EC2 subnet IDs for the subnet group.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'SubnetGroup': {
        'Name': 'string',
        'Description': 'string',
        'VpcId': 'string',
        'Subnets': [
            {
                'Identifier': 'string',
                'AvailabilityZone': {
                    'Name': 'string'
                },
                'SupportedNetworkTypes': [
                    'ipv4'|'ipv6'|'dual_stack',
                ]
            },
        ],
        'ARN': 'string',
        'SupportedNetworkTypes': [
            'ipv4'|'ipv6'|'dual_stack',
        ]
    }
}

Response Structure

  • (dict) --

    • SubnetGroup (dict) --

      The updated subnet group

      • Name (string) --

        The name of the subnet group

      • Description (string) --

        A description of the subnet group

      • VpcId (string) --

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

      • Subnets (list) --

        A list of subnets associated with the subnet group.

        • (dict) --

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

          • Identifier (string) --

            The unique identifier for the subnet.

          • AvailabilityZone (dict) --

            The Availability Zone where the subnet resides

            • Name (string) --

              The name of the Availability Zone.

          • SupportedNetworkTypes (list) --

            The network types supported by this subnet. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating whether the subnet supports IPv4 only, IPv6 only, or dual-stack deployments.

            • (string) --

      • ARN (string) --

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

      • SupportedNetworkTypes (list) --

        The network types supported by this subnet group. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating the IP address types that can be used for clusters deployed in this subnet group.

        • (string) --