/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace ElastiCache { namespace Model { /** *

Represents the input of a ModifyReplicationGroups * operation.

See Also:

AWS * API Reference

*/ class AWS_ELASTICACHE_API ModifyReplicationGroupRequest : public ElastiCacheRequest { public: ModifyReplicationGroupRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ModifyReplicationGroup"; } Aws::String SerializePayload() const override; protected: void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The identifier of the replication group to modify.

*/ inline const Aws::String& GetReplicationGroupId() const{ return m_replicationGroupId; } /** *

The identifier of the replication group to modify.

*/ inline bool ReplicationGroupIdHasBeenSet() const { return m_replicationGroupIdHasBeenSet; } /** *

The identifier of the replication group to modify.

*/ inline void SetReplicationGroupId(const Aws::String& value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId = value; } /** *

The identifier of the replication group to modify.

*/ inline void SetReplicationGroupId(Aws::String&& value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId = std::move(value); } /** *

The identifier of the replication group to modify.

*/ inline void SetReplicationGroupId(const char* value) { m_replicationGroupIdHasBeenSet = true; m_replicationGroupId.assign(value); } /** *

The identifier of the replication group to modify.

*/ inline ModifyReplicationGroupRequest& WithReplicationGroupId(const Aws::String& value) { SetReplicationGroupId(value); return *this;} /** *

The identifier of the replication group to modify.

*/ inline ModifyReplicationGroupRequest& WithReplicationGroupId(Aws::String&& value) { SetReplicationGroupId(std::move(value)); return *this;} /** *

The identifier of the replication group to modify.

*/ inline ModifyReplicationGroupRequest& WithReplicationGroupId(const char* value) { SetReplicationGroupId(value); return *this;} /** *

A description for the replication group. Maximum length is 255 * characters.

*/ inline const Aws::String& GetReplicationGroupDescription() const{ return m_replicationGroupDescription; } /** *

A description for the replication group. Maximum length is 255 * characters.

*/ inline bool ReplicationGroupDescriptionHasBeenSet() const { return m_replicationGroupDescriptionHasBeenSet; } /** *

A description for the replication group. Maximum length is 255 * characters.

*/ inline void SetReplicationGroupDescription(const Aws::String& value) { m_replicationGroupDescriptionHasBeenSet = true; m_replicationGroupDescription = value; } /** *

A description for the replication group. Maximum length is 255 * characters.

*/ inline void SetReplicationGroupDescription(Aws::String&& value) { m_replicationGroupDescriptionHasBeenSet = true; m_replicationGroupDescription = std::move(value); } /** *

A description for the replication group. Maximum length is 255 * characters.

*/ inline void SetReplicationGroupDescription(const char* value) { m_replicationGroupDescriptionHasBeenSet = true; m_replicationGroupDescription.assign(value); } /** *

A description for the replication group. Maximum length is 255 * characters.

*/ inline ModifyReplicationGroupRequest& WithReplicationGroupDescription(const Aws::String& value) { SetReplicationGroupDescription(value); return *this;} /** *

A description for the replication group. Maximum length is 255 * characters.

*/ inline ModifyReplicationGroupRequest& WithReplicationGroupDescription(Aws::String&& value) { SetReplicationGroupDescription(std::move(value)); return *this;} /** *

A description for the replication group. Maximum length is 255 * characters.

*/ inline ModifyReplicationGroupRequest& WithReplicationGroupDescription(const char* value) { SetReplicationGroupDescription(value); return *this;} /** *

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.

*/ inline const Aws::String& GetPrimaryClusterId() const{ return m_primaryClusterId; } /** *

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.

*/ inline bool PrimaryClusterIdHasBeenSet() const { return m_primaryClusterIdHasBeenSet; } /** *

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.

*/ inline void SetPrimaryClusterId(const Aws::String& value) { m_primaryClusterIdHasBeenSet = true; m_primaryClusterId = value; } /** *

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.

*/ inline void SetPrimaryClusterId(Aws::String&& value) { m_primaryClusterIdHasBeenSet = true; m_primaryClusterId = std::move(value); } /** *

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.

*/ inline void SetPrimaryClusterId(const char* value) { m_primaryClusterIdHasBeenSet = true; m_primaryClusterId.assign(value); } /** *

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.

*/ inline ModifyReplicationGroupRequest& WithPrimaryClusterId(const Aws::String& value) { SetPrimaryClusterId(value); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithPrimaryClusterId(Aws::String&& value) { SetPrimaryClusterId(std::move(value)); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithPrimaryClusterId(const char* value) { SetPrimaryClusterId(value); return *this;} /** *

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.

*/ inline const Aws::String& GetSnapshottingClusterId() const{ return m_snapshottingClusterId; } /** *

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.

*/ inline bool SnapshottingClusterIdHasBeenSet() const { return m_snapshottingClusterIdHasBeenSet; } /** *

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.

*/ inline void SetSnapshottingClusterId(const Aws::String& value) { m_snapshottingClusterIdHasBeenSet = true; m_snapshottingClusterId = value; } /** *

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.

*/ inline void SetSnapshottingClusterId(Aws::String&& value) { m_snapshottingClusterIdHasBeenSet = true; m_snapshottingClusterId = std::move(value); } /** *

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.

*/ inline void SetSnapshottingClusterId(const char* value) { m_snapshottingClusterIdHasBeenSet = true; m_snapshottingClusterId.assign(value); } /** *

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.

*/ inline ModifyReplicationGroupRequest& WithSnapshottingClusterId(const Aws::String& value) { SetSnapshottingClusterId(value); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithSnapshottingClusterId(Aws::String&& value) { SetSnapshottingClusterId(std::move(value)); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithSnapshottingClusterId(const char* value) { SetSnapshottingClusterId(value); return *this;} /** *

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

Valid values: * true | false

*/ inline bool GetAutomaticFailoverEnabled() const{ return m_automaticFailoverEnabled; } /** *

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

Valid values: * true | false

*/ inline bool AutomaticFailoverEnabledHasBeenSet() const { return m_automaticFailoverEnabledHasBeenSet; } /** *

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

Valid values: * true | false

*/ inline void SetAutomaticFailoverEnabled(bool value) { m_automaticFailoverEnabledHasBeenSet = true; m_automaticFailoverEnabled = value; } /** *

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

Valid values: * true | false

*/ inline ModifyReplicationGroupRequest& WithAutomaticFailoverEnabled(bool value) { SetAutomaticFailoverEnabled(value); return *this;} /** *

A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ.

*/ inline bool GetMultiAZEnabled() const{ return m_multiAZEnabled; } /** *

A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ.

*/ inline bool MultiAZEnabledHasBeenSet() const { return m_multiAZEnabledHasBeenSet; } /** *

A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ.

*/ inline void SetMultiAZEnabled(bool value) { m_multiAZEnabledHasBeenSet = true; m_multiAZEnabled = value; } /** *

A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. * For more information, see Minimizing * Downtime: Multi-AZ.

*/ inline ModifyReplicationGroupRequest& WithMultiAZEnabled(bool value) { SetMultiAZEnabled(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetCacheSecurityGroupNames() const{ return m_cacheSecurityGroupNames; } /** *

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.

*/ inline bool CacheSecurityGroupNamesHasBeenSet() const { return m_cacheSecurityGroupNamesHasBeenSet; } /** *

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.

*/ inline void SetCacheSecurityGroupNames(const Aws::Vector& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames = value; } /** *

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.

*/ inline void SetCacheSecurityGroupNames(Aws::Vector&& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames = std::move(value); } /** *

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.

*/ inline ModifyReplicationGroupRequest& WithCacheSecurityGroupNames(const Aws::Vector& value) { SetCacheSecurityGroupNames(value); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithCacheSecurityGroupNames(Aws::Vector&& value) { SetCacheSecurityGroupNames(std::move(value)); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& AddCacheSecurityGroupNames(const Aws::String& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(value); return *this; } /** *

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.

*/ inline ModifyReplicationGroupRequest& AddCacheSecurityGroupNames(Aws::String&& value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(std::move(value)); return *this; } /** *

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.

*/ inline ModifyReplicationGroupRequest& AddCacheSecurityGroupNames(const char* value) { m_cacheSecurityGroupNamesHasBeenSet = true; m_cacheSecurityGroupNames.push_back(value); return *this; } /** *

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).

*/ inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } /** *

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).

*/ inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } /** *

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).

*/ inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } /** *

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).

*/ inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } /** *

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).

*/ inline ModifyReplicationGroupRequest& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} /** *

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).

*/ inline ModifyReplicationGroupRequest& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} /** *

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).

*/ inline ModifyReplicationGroupRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *

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).

*/ inline ModifyReplicationGroupRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } /** *

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).

*/ inline ModifyReplicationGroupRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *

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

*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } /** *

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

*/ inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } /** *

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

*/ inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } /** *

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

*/ inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } /** *

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

*/ inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } /** *

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

*/ inline ModifyReplicationGroupRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

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

*/ inline ModifyReplicationGroupRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} /** *

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

*/ inline ModifyReplicationGroupRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

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

The Amazon SNS topic owner must be same as the * replication group owner.

*/ inline const Aws::String& GetNotificationTopicArn() const{ return m_notificationTopicArn; } /** *

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

The Amazon SNS topic owner must be same as the * replication group owner.

*/ inline bool NotificationTopicArnHasBeenSet() const { return m_notificationTopicArnHasBeenSet; } /** *

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

The Amazon SNS topic owner must be same as the * replication group owner.

*/ inline void SetNotificationTopicArn(const Aws::String& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = value; } /** *

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

The Amazon SNS topic owner must be same as the * replication group owner.

*/ inline void SetNotificationTopicArn(Aws::String&& value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn = std::move(value); } /** *

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

The Amazon SNS topic owner must be same as the * replication group owner.

*/ inline void SetNotificationTopicArn(const char* value) { m_notificationTopicArnHasBeenSet = true; m_notificationTopicArn.assign(value); } /** *

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

The Amazon SNS topic owner must be same as the * replication group owner.

*/ inline ModifyReplicationGroupRequest& WithNotificationTopicArn(const Aws::String& value) { SetNotificationTopicArn(value); return *this;} /** *

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

The Amazon SNS topic owner must be same as the * replication group owner.

*/ inline ModifyReplicationGroupRequest& WithNotificationTopicArn(Aws::String&& value) { SetNotificationTopicArn(std::move(value)); return *this;} /** *

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

The Amazon SNS topic owner must be same as the * replication group owner.

*/ inline ModifyReplicationGroupRequest& WithNotificationTopicArn(const char* value) { SetNotificationTopicArn(value); return *this;} /** *

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.

*/ inline const Aws::String& GetCacheParameterGroupName() const{ return m_cacheParameterGroupName; } /** *

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.

*/ inline bool CacheParameterGroupNameHasBeenSet() const { return m_cacheParameterGroupNameHasBeenSet; } /** *

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.

*/ inline void SetCacheParameterGroupName(const Aws::String& value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName = value; } /** *

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.

*/ inline void SetCacheParameterGroupName(Aws::String&& value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName = std::move(value); } /** *

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.

*/ inline void SetCacheParameterGroupName(const char* value) { m_cacheParameterGroupNameHasBeenSet = true; m_cacheParameterGroupName.assign(value); } /** *

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.

*/ inline ModifyReplicationGroupRequest& WithCacheParameterGroupName(const Aws::String& value) { SetCacheParameterGroupName(value); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithCacheParameterGroupName(Aws::String&& value) { SetCacheParameterGroupName(std::move(value)); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithCacheParameterGroupName(const char* value) { SetCacheParameterGroupName(value); return *this;} /** *

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

*/ inline const Aws::String& GetNotificationTopicStatus() const{ return m_notificationTopicStatus; } /** *

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

*/ inline bool NotificationTopicStatusHasBeenSet() const { return m_notificationTopicStatusHasBeenSet; } /** *

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

*/ inline void SetNotificationTopicStatus(const Aws::String& value) { m_notificationTopicStatusHasBeenSet = true; m_notificationTopicStatus = value; } /** *

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

*/ inline void SetNotificationTopicStatus(Aws::String&& value) { m_notificationTopicStatusHasBeenSet = true; m_notificationTopicStatus = std::move(value); } /** *

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

*/ inline void SetNotificationTopicStatus(const char* value) { m_notificationTopicStatusHasBeenSet = true; m_notificationTopicStatus.assign(value); } /** *

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

*/ inline ModifyReplicationGroupRequest& WithNotificationTopicStatus(const Aws::String& value) { SetNotificationTopicStatus(value); return *this;} /** *

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

*/ inline ModifyReplicationGroupRequest& WithNotificationTopicStatus(Aws::String&& value) { SetNotificationTopicStatus(std::move(value)); return *this;} /** *

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

*/ inline ModifyReplicationGroupRequest& WithNotificationTopicStatus(const char* value) { SetNotificationTopicStatus(value); return *this;} /** *

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

*/ inline bool GetApplyImmediately() const{ return m_applyImmediately; } /** *

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

*/ inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; } /** *

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

*/ inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; } /** *

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

*/ inline ModifyReplicationGroupRequest& WithApplyImmediately(bool value) { SetApplyImmediately(value); return *this;} /** *

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), 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. *

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

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), 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. *

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

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), 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. *

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

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), 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. *

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

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), 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. *

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

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), 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. *

*/ inline ModifyReplicationGroupRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

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), 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. *

*/ inline ModifyReplicationGroupRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

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), 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. *

*/ inline ModifyReplicationGroupRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

This parameter is currently disabled.

*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *

This parameter is currently disabled.

*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *

This parameter is currently disabled.

*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *

This parameter is currently disabled.

*/ inline ModifyReplicationGroupRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *

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.

*/ inline int GetSnapshotRetentionLimit() const{ return m_snapshotRetentionLimit; } /** *

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.

*/ inline bool SnapshotRetentionLimitHasBeenSet() const { return m_snapshotRetentionLimitHasBeenSet; } /** *

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.

*/ inline void SetSnapshotRetentionLimit(int value) { m_snapshotRetentionLimitHasBeenSet = true; m_snapshotRetentionLimit = value; } /** *

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.

*/ inline ModifyReplicationGroupRequest& WithSnapshotRetentionLimit(int value) { SetSnapshotRetentionLimit(value); return *this;} /** *

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.

*/ inline const Aws::String& GetSnapshotWindow() const{ return m_snapshotWindow; } /** *

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.

*/ inline bool SnapshotWindowHasBeenSet() const { return m_snapshotWindowHasBeenSet; } /** *

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.

*/ inline void SetSnapshotWindow(const Aws::String& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = value; } /** *

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.

*/ inline void SetSnapshotWindow(Aws::String&& value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow = std::move(value); } /** *

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.

*/ inline void SetSnapshotWindow(const char* value) { m_snapshotWindowHasBeenSet = true; m_snapshotWindow.assign(value); } /** *

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.

*/ inline ModifyReplicationGroupRequest& WithSnapshotWindow(const Aws::String& value) { SetSnapshotWindow(value); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithSnapshotWindow(Aws::String&& value) { SetSnapshotWindow(std::move(value)); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithSnapshotWindow(const char* value) { SetSnapshotWindow(value); return *this;} /** *

A valid cache node type that you want to scale this replication group to.

*/ inline const Aws::String& GetCacheNodeType() const{ return m_cacheNodeType; } /** *

A valid cache node type that you want to scale this replication group to.

*/ inline bool CacheNodeTypeHasBeenSet() const { return m_cacheNodeTypeHasBeenSet; } /** *

A valid cache node type that you want to scale this replication group to.

*/ inline void SetCacheNodeType(const Aws::String& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = value; } /** *

A valid cache node type that you want to scale this replication group to.

*/ inline void SetCacheNodeType(Aws::String&& value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType = std::move(value); } /** *

A valid cache node type that you want to scale this replication group to.

*/ inline void SetCacheNodeType(const char* value) { m_cacheNodeTypeHasBeenSet = true; m_cacheNodeType.assign(value); } /** *

A valid cache node type that you want to scale this replication group to.

*/ inline ModifyReplicationGroupRequest& WithCacheNodeType(const Aws::String& value) { SetCacheNodeType(value); return *this;} /** *

A valid cache node type that you want to scale this replication group to.

*/ inline ModifyReplicationGroupRequest& WithCacheNodeType(Aws::String&& value) { SetCacheNodeType(std::move(value)); return *this;} /** *

A valid cache node type that you want to scale this replication group to.

*/ inline ModifyReplicationGroupRequest& WithCacheNodeType(const char* value) { SetCacheNodeType(value); return *this;} /** *

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.

*/ inline const Aws::String& GetAuthToken() const{ return m_authToken; } /** *

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.

*/ inline bool AuthTokenHasBeenSet() const { return m_authTokenHasBeenSet; } /** *

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.

*/ inline void SetAuthToken(const Aws::String& value) { m_authTokenHasBeenSet = true; m_authToken = value; } /** *

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.

*/ inline void SetAuthToken(Aws::String&& value) { m_authTokenHasBeenSet = true; m_authToken = std::move(value); } /** *

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.

*/ inline void SetAuthToken(const char* value) { m_authTokenHasBeenSet = true; m_authToken.assign(value); } /** *

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.

*/ inline ModifyReplicationGroupRequest& WithAuthToken(const Aws::String& value) { SetAuthToken(value); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithAuthToken(Aws::String&& value) { SetAuthToken(std::move(value)); return *this;} /** *

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.

*/ inline ModifyReplicationGroupRequest& WithAuthToken(const char* value) { SetAuthToken(value); return *this;} /** *

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

*/ inline const AuthTokenUpdateStrategyType& GetAuthTokenUpdateStrategy() const{ return m_authTokenUpdateStrategy; } /** *

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

*/ inline bool AuthTokenUpdateStrategyHasBeenSet() const { return m_authTokenUpdateStrategyHasBeenSet; } /** *

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

*/ inline void SetAuthTokenUpdateStrategy(const AuthTokenUpdateStrategyType& value) { m_authTokenUpdateStrategyHasBeenSet = true; m_authTokenUpdateStrategy = value; } /** *

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

*/ inline void SetAuthTokenUpdateStrategy(AuthTokenUpdateStrategyType&& value) { m_authTokenUpdateStrategyHasBeenSet = true; m_authTokenUpdateStrategy = std::move(value); } /** *

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

*/ inline ModifyReplicationGroupRequest& WithAuthTokenUpdateStrategy(const AuthTokenUpdateStrategyType& value) { SetAuthTokenUpdateStrategy(value); return *this;} /** *

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

*/ inline ModifyReplicationGroupRequest& WithAuthTokenUpdateStrategy(AuthTokenUpdateStrategyType&& value) { SetAuthTokenUpdateStrategy(std::move(value)); return *this;} private: Aws::String m_replicationGroupId; bool m_replicationGroupIdHasBeenSet; Aws::String m_replicationGroupDescription; bool m_replicationGroupDescriptionHasBeenSet; Aws::String m_primaryClusterId; bool m_primaryClusterIdHasBeenSet; Aws::String m_snapshottingClusterId; bool m_snapshottingClusterIdHasBeenSet; bool m_automaticFailoverEnabled; bool m_automaticFailoverEnabledHasBeenSet; bool m_multiAZEnabled; bool m_multiAZEnabledHasBeenSet; Aws::Vector m_cacheSecurityGroupNames; bool m_cacheSecurityGroupNamesHasBeenSet; Aws::Vector m_securityGroupIds; bool m_securityGroupIdsHasBeenSet; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet; Aws::String m_notificationTopicArn; bool m_notificationTopicArnHasBeenSet; Aws::String m_cacheParameterGroupName; bool m_cacheParameterGroupNameHasBeenSet; Aws::String m_notificationTopicStatus; bool m_notificationTopicStatusHasBeenSet; bool m_applyImmediately; bool m_applyImmediatelyHasBeenSet; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet; int m_snapshotRetentionLimit; bool m_snapshotRetentionLimitHasBeenSet; Aws::String m_snapshotWindow; bool m_snapshotWindowHasBeenSet; Aws::String m_cacheNodeType; bool m_cacheNodeTypeHasBeenSet; Aws::String m_authToken; bool m_authTokenHasBeenSet; AuthTokenUpdateStrategyType m_authTokenUpdateStrategy; bool m_authTokenUpdateStrategyHasBeenSet; }; } // namespace Model } // namespace ElastiCache } // namespace Aws