[ aws . elasticache ]

decrease-node-groups-in-global-replication-group

Description

Decreases the number of node groups in a Global Datastore

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  decrease-node-groups-in-global-replication-group
--global-replication-group-id <value>
--node-group-count <value>
[--global-node-groups-to-remove <value>]
[--global-node-groups-to-retain <value>]
--apply-immediately | --no-apply-immediately
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--global-replication-group-id (string)

The name of the Global Datastore

--node-group-count (integer)

The number of node groups (shards) that results from the modification of the shard configuration

--global-node-groups-to-remove (list)

If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

(string)

Syntax:

"string" "string" ...

--global-node-groups-to-retain (list)

If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

(string)

Syntax:

"string" "string" ...

--apply-immediately | --no-apply-immediately (boolean)

Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is true.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To decrease the number of node groups in a global replication group

The following decrease-node-groups-in-global-replication-group decreases the node group count using the Redis engine.

aws elasticache decrease-node-groups-in-global-replication-group \
    --global-replication-group-id sgaui-test \
    --node-group-count 1 \
    --apply-immediately \
    --global-node-groups-to-retain sgaui-test-0003

Output:

{
    "GlobalReplicationGroup":
    {
        "GlobalReplicationGroupId": "sgaui-test",
        "GlobalReplicationGroupDescription": "test",
        "Status": "modifying",
        "CacheNodeType": "cache.r5.large",
        "Engine": "redis",
        "EngineVersion": "5.0.6",
        "Members": [
            {
                "ReplicationGroupId": "test-2",
                "ReplicationGroupRegion": "us-east-1",
                "Role": "SECONDARY",
                "AutomaticFailover": "enabled",
                "Status": "associated"
            },
            {
                "ReplicationGroupId": "test-1",
                "ReplicationGroupRegion": "us-west-2",
                "Role": "PRIMARY",
                "AutomaticFailover": "enabled",
                "Status": "associated"
            }
        ],
        "ClusterEnabled": true,
        "GlobalNodeGroups": [
            {
                "GlobalNodeGroupId": "sgaui-test-0001",
                "Slots": "0-449,1816-5461"
            },
            {
                "GlobalNodeGroupId": "sgaui-test-0002",
                "Slots": "6827-10922"
            },
            {
                "GlobalNodeGroupId": "sgaui-test-0003",
                "Slots": "10923-14052,15418-16383"
            },
            {
                "GlobalNodeGroupId": "sgaui-test-0004",
                "Slots": "450-1815,5462-6826,14053-15417"
            }
        ],
        "AuthTokenEnabled": false,
        "TransitEncryptionEnabled": false,
        "AtRestEncryptionEnabled": false
    }
}

For more information, see Replication Across AWS Regions Using Global Datastore in the Elasticache User Guide.

Output

GlobalReplicationGroup -> (structure)

Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.

  • The GlobalReplicationGroupIdSuffix represents the name of the Global Datastore, which is what you use to associate a secondary cluster.

GlobalReplicationGroupId -> (string)

The name of the Global Datastore

GlobalReplicationGroupDescription -> (string)

The optional description of the Global Datastore

Status -> (string)

The status of the Global Datastore

CacheNodeType -> (string)

The cache node type of the Global Datastore

Engine -> (string)

The Elasticache engine. For Redis only.

EngineVersion -> (string)

The Elasticache Redis engine version.

Members -> (list)

The replication groups that comprise the Global Datastore.

(structure)

A member of a Global Datastore. It contains the Replication Group Id, the AWS region and the role of the replication group.

ReplicationGroupId -> (string)

The replication group id of the Global Datastore member.

ReplicationGroupRegion -> (string)

The AWS region of the Global Datastore member.

Role -> (string)

Indicates the role of the replication group, primary or secondary.

AutomaticFailover -> (string)

Indicates whether automatic failover is enabled for the replication group.

Status -> (string)

The status of the membership of the replication group.

ClusterEnabled -> (boolean)

A flag that indicates whether the Global Datastore is cluster enabled.

GlobalNodeGroups -> (list)

Indicates the slot configuration and global identifier for each slice group.

(structure)

Indicates the slot configuration and global identifier for a slice group.

GlobalNodeGroupId -> (string)

The name of the global node group

Slots -> (string)

The keyspace for this node group

AuthTokenEnabled -> (boolean)

A flag that enables using an AuthToken (password) when issuing Redis commands.

Default: false

TransitEncryptionEnabled -> (boolean)

A flag that enables in-transit encryption when set to true. You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6 , 4.x or later.

AtRestEncryptionEnabled -> (boolean)

A flag that enables encryption at rest when set to true .

You cannot modify the value of AtRestEncryptionEnabled after the replication group is created. To enable encryption at rest on a replication group you must set AtRestEncryptionEnabled to true when you create the replication group.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6 , 4.x or later.

ARN -> (string)

The ARN (Amazon Resource Name) of the global replication group.