class Aws::ElastiCache::Types::ModifyReplicationGroupMessage

Represents the input of a `ModifyReplicationGroups` operation.

@note When making an API call, you may pass ModifyReplicationGroupMessage

data as a hash:

    {
      replication_group_id: "String", # required
      replication_group_description: "String",
      primary_cluster_id: "String",
      snapshotting_cluster_id: "String",
      automatic_failover_enabled: false,
      multi_az_enabled: false,
      node_group_id: "String",
      cache_security_group_names: ["String"],
      security_group_ids: ["String"],
      preferred_maintenance_window: "String",
      notification_topic_arn: "String",
      cache_parameter_group_name: "String",
      notification_topic_status: "String",
      apply_immediately: false,
      engine_version: "String",
      auto_minor_version_upgrade: false,
      snapshot_retention_limit: 1,
      snapshot_window: "String",
      cache_node_type: "String",
      auth_token: "String",
      auth_token_update_strategy: "SET", # accepts SET, ROTATE, DELETE
      user_group_ids_to_add: ["UserGroupId"],
      user_group_ids_to_remove: ["UserGroupId"],
      remove_user_groups: false,
      log_delivery_configurations: [
        {
          log_type: "slow-log", # accepts slow-log
          destination_type: "cloudwatch-logs", # accepts cloudwatch-logs, kinesis-firehose
          destination_details: {
            cloud_watch_logs_details: {
              log_group: "String",
            },
            kinesis_firehose_details: {
              delivery_stream: "String",
            },
          },
          log_format: "text", # accepts text, json
          enabled: false,
        },
      ],
    }

@!attribute [rw] replication_group_id

The identifier of the replication group to modify.
@return [String]

@!attribute [rw] replication_group_description

A description for the replication group. Maximum length is 255
characters.
@return [String]

@!attribute [rw] primary_cluster_id

For replication groups with a single primary, if this parameter is
specified, ElastiCache promotes the specified cluster in the
specified replication group to the primary role. The nodes of all
other clusters in the replication group are read replicas.
@return [String]

@!attribute [rw] snapshotting_cluster_id

The cluster ID that is used as the daily snapshot source for the
replication group. This parameter cannot be set for Redis (cluster
mode enabled) replication groups.
@return [String]

@!attribute [rw] automatic_failover_enabled

Determines whether a read replica is automatically promoted to
read/write primary if the existing primary encounters a failure.

Valid values: `true` \| `false`
@return [Boolean]

@!attribute [rw] multi_az_enabled

A flag to indicate MultiAZ is enabled.
@return [Boolean]

@!attribute [rw] node_group_id

Deprecated. This parameter is not used.
@return [String]

@!attribute [rw] cache_security_group_names

A list of cache security group names to authorize for the clusters
in this replication group. This change is asynchronously applied as
soon as possible.

This parameter can be used only with replication group containing
clusters running outside of an Amazon Virtual Private Cloud (Amazon
VPC).

Constraints: Must contain no more than 255 alphanumeric characters.
Must not be `Default`.
@return [Array<String>]

@!attribute [rw] security_group_ids

Specifies the VPC Security Groups associated with the clusters in
the replication group.

This parameter can be used only with replication group containing
clusters running in an Amazon Virtual Private Cloud (Amazon VPC).
@return [Array<String>]

@!attribute [rw] preferred_maintenance_window

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`
@return [String]

@!attribute [rw] notification_topic_arn

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

<note markdown="1"> The Amazon SNS topic owner must be same as the replication group
owner.

 </note>
@return [String]

@!attribute [rw] cache_parameter_group_name

The name of the cache parameter group to apply to all of the
clusters in this replication group. This change is asynchronously
applied as soon as possible for parameters when the
`ApplyImmediately` parameter is specified as `true` for this
request.
@return [String]

@!attribute [rw] notification_topic_status

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

Valid values: `active` \| `inactive`
@return [String]

@!attribute [rw] apply_immediately

If `true`, this parameter causes the modifications in this request
and any pending modifications to be applied, asynchronously and as
soon as possible, regardless of the `PreferredMaintenanceWindow`
setting for the replication group.

If `false`, changes to the nodes in the replication group are
applied on the next maintenance reboot, or the next failure reboot,
whichever occurs first.

Valid values: `true` \| `false`

Default: `false`
@return [Boolean]

@!attribute [rw] engine_version

The upgraded version of the cache engine to be run on the clusters
in the replication group.

**Important:** You can upgrade to a newer engine version (see
[Selecting a Cache Engine and Version][1]), but you cannot downgrade
to an earlier engine version. If you want to use an earlier engine
version, you must delete the existing replication group and create
it anew with the earlier engine version.

[1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement
@return [String]

@!attribute [rw] auto_minor_version_upgrade

This parameter is currently disabled.
@return [Boolean]

@!attribute [rw] snapshot_retention_limit

The number of days for which ElastiCache retains automatic node
group (shard) 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.

**Important** If the value of SnapshotRetentionLimit is set to zero
(0), backups are turned off.
@return [Integer]

@!attribute [rw] snapshot_window

The daily time range (in UTC) during which ElastiCache begins taking
a daily snapshot of the node group (shard) specified by
`SnapshottingClusterId`.

Example: `05:00-09:00`

If you do not specify this parameter, ElastiCache automatically
chooses an appropriate time range.
@return [String]

@!attribute [rw] cache_node_type

A valid cache node type that you want to scale this replication
group to.
@return [String]

@!attribute [rw] auth_token

Reserved parameter. The password used to access a password protected
server. This parameter must be specified with the
`auth-token-update-strategy ` parameter. Password constraints:

* Must be only printable ASCII characters

* Must be at least 16 characters and no more than 128 characters in
  length

* Cannot contain any of the following characters: '/', '"', or
  '@', '%'

For more information, see AUTH password at [AUTH][1].

[1]: http://redis.io/commands/AUTH
@return [String]

@!attribute [rw] auth_token_update_strategy

Specifies the strategy to use to update the AUTH token. This
parameter must be specified with the `auth-token` parameter.
Possible values:

* Rotate

* Set

For more information, see [Authenticating Users with Redis AUTH][1]

[1]: http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html
@return [String]

@!attribute [rw] user_group_ids_to_add

The ID of the user group you are associating with the replication
group.
@return [Array<String>]

@!attribute [rw] user_group_ids_to_remove

The ID of the user group to disassociate from the replication group,
meaning the users in the group no longer can access the replication
group.
@return [Array<String>]

@!attribute [rw] remove_user_groups

Removes the user group associated with this replication group.
@return [Boolean]

@!attribute [rw] log_delivery_configurations

Specifies the destination, format and type of the logs.
@return [Array<Types::LogDeliveryConfigurationRequest>]

@see docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupMessage AWS API Documentation

Constants

SENSITIVE