Skip to content

Decrease Replica Count

elasticache_decrease_replica_count R Documentation

Dynamically decreases the number of replicas in a Redis OSS (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis OSS (cluster mode enabled) replication group

Description

Dynamically decreases the number of replicas in a Redis OSS (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis OSS (cluster mode enabled) replication group. This operation is performed with no cluster down time.

Usage

elasticache_decrease_replica_count(ReplicationGroupId, NewReplicaCount,
  ReplicaConfiguration, ReplicasToRemove, ApplyImmediately)

Arguments

ReplicationGroupId

[required] The id of the replication group from which you want to remove replica nodes.

NewReplicaCount

The number of read replica nodes you want at the completion of this operation. For Redis OSS (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Redis OSS (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.

The minimum number of replicas in a shard or replication group is:

  • Redis OSS (cluster mode disabled)

    • If Multi-AZ is enabled: 1

    • If Multi-AZ is not enabled: 0

  • Redis OSS (cluster mode enabled): 0 (though you will not be able to failover to a replica if your primary node fails)

ReplicaConfiguration

A list of ConfigureShard objects that can be used to configure each shard in a Redis OSS (cluster mode enabled) replication group. The ConfigureShard has three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones.

ReplicasToRemove

A list of the node ids to remove from the replication group or node group (shard).

ApplyImmediately

[required] If True, the number of replica nodes is decreased immediately. ApplyImmediately=False is not currently supported.

Value

A list with the following syntax:

list(
  ReplicationGroup = list(
    ReplicationGroupId = "string",
    Description = "string",
    GlobalReplicationGroupInfo = list(
      GlobalReplicationGroupId = "string",
      GlobalReplicationGroupMemberRole = "string"
    ),
    Status = "string",
    PendingModifiedValues = list(
      PrimaryClusterId = "string",
      AutomaticFailoverStatus = "enabled"|"disabled",
      Resharding = list(
        SlotMigration = list(
          ProgressPercentage = 123.0
        )
      ),
      AuthTokenStatus = "SETTING"|"ROTATING",
      UserGroups = list(
        UserGroupIdsToAdd = list(
          "string"
        ),
        UserGroupIdsToRemove = list(
          "string"
        )
      ),
      LogDeliveryConfigurations = list(
        list(
          LogType = "slow-log"|"engine-log",
          DestinationType = "cloudwatch-logs"|"kinesis-firehose",
          DestinationDetails = list(
            CloudWatchLogsDetails = list(
              LogGroup = "string"
            ),
            KinesisFirehoseDetails = list(
              DeliveryStream = "string"
            )
          ),
          LogFormat = "text"|"json"
        )
      ),
      TransitEncryptionEnabled = TRUE|FALSE,
      TransitEncryptionMode = "preferred"|"required",
      ClusterMode = "enabled"|"disabled"|"compatible"
    ),
    MemberClusters = list(
      "string"
    ),
    NodeGroups = list(
      list(
        NodeGroupId = "string",
        Status = "string",
        PrimaryEndpoint = list(
          Address = "string",
          Port = 123
        ),
        ReaderEndpoint = list(
          Address = "string",
          Port = 123
        ),
        Slots = "string",
        NodeGroupMembers = list(
          list(
            CacheClusterId = "string",
            CacheNodeId = "string",
            ReadEndpoint = list(
              Address = "string",
              Port = 123
            ),
            PreferredAvailabilityZone = "string",
            PreferredOutpostArn = "string",
            CurrentRole = "string"
          )
        )
      )
    ),
    SnapshottingClusterId = "string",
    AutomaticFailover = "enabled"|"disabled"|"enabling"|"disabling",
    MultiAZ = "enabled"|"disabled",
    ConfigurationEndpoint = list(
      Address = "string",
      Port = 123
    ),
    SnapshotRetentionLimit = 123,
    SnapshotWindow = "string",
    ClusterEnabled = TRUE|FALSE,
    CacheNodeType = "string",
    AuthTokenEnabled = TRUE|FALSE,
    AuthTokenLastModifiedDate = as.POSIXct(
      "2015-01-01"
    ),
    TransitEncryptionEnabled = TRUE|FALSE,
    AtRestEncryptionEnabled = TRUE|FALSE,
    MemberClustersOutpostArns = list(
      "string"
    ),
    KmsKeyId = "string",
    ARN = "string",
    UserGroupIds = list(
      "string"
    ),
    LogDeliveryConfigurations = list(
      list(
        LogType = "slow-log"|"engine-log",
        DestinationType = "cloudwatch-logs"|"kinesis-firehose",
        DestinationDetails = list(
          CloudWatchLogsDetails = list(
            LogGroup = "string"
          ),
          KinesisFirehoseDetails = list(
            DeliveryStream = "string"
          )
        ),
        LogFormat = "text"|"json",
        Status = "active"|"enabling"|"modifying"|"disabling"|"error",
        Message = "string"
      )
    ),
    ReplicationGroupCreateTime = as.POSIXct(
      "2015-01-01"
    ),
    DataTiering = "enabled"|"disabled",
    AutoMinorVersionUpgrade = TRUE|FALSE,
    NetworkType = "ipv4"|"ipv6"|"dual_stack",
    IpDiscovery = "ipv4"|"ipv6",
    TransitEncryptionMode = "preferred"|"required",
    ClusterMode = "enabled"|"disabled"|"compatible"
  )
)

Request syntax

svc$decrease_replica_count(
  ReplicationGroupId = "string",
  NewReplicaCount = 123,
  ReplicaConfiguration = list(
    list(
      NodeGroupId = "string",
      NewReplicaCount = 123,
      PreferredAvailabilityZones = list(
        "string"
      ),
      PreferredOutpostArns = list(
        "string"
      )
    )
  ),
  ReplicasToRemove = list(
    "string"
  ),
  ApplyImmediately = TRUE|FALSE
)