7#include <aws/elasticache/ElastiCache_EXPORTS.h>
8#include <aws/elasticache/ElastiCacheRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticache/model/NetworkType.h>
12#include <aws/elasticache/model/IpDiscovery.h>
13#include <aws/elasticache/model/TransitEncryptionMode.h>
14#include <aws/elasticache/model/ClusterMode.h>
15#include <aws/elasticache/model/NodeGroupConfiguration.h>
16#include <aws/elasticache/model/Tag.h>
17#include <aws/elasticache/model/LogDeliveryConfigurationRequest.h>
63 inline void SetReplicationGroupId(
const char* value) { m_replicationGroupIdHasBeenSet =
true; m_replicationGroupId.assign(value); }
77 inline void SetReplicationGroupDescription(
const char* value) { m_replicationGroupDescriptionHasBeenSet =
true; m_replicationGroupDescription.assign(value); }
91 inline void SetGlobalReplicationGroupId(
const char* value) { m_globalReplicationGroupIdHasBeenSet =
true; m_globalReplicationGroupId.assign(value); }
109 inline void SetPrimaryClusterId(
const char* value) { m_primaryClusterIdHasBeenSet =
true; m_primaryClusterId.assign(value); }
137 inline void SetMultiAZEnabled(
bool value) { m_multiAZEnabledHasBeenSet =
true; m_multiAZEnabled = value; }
154 inline void SetNumCacheClusters(
int value) { m_numCacheClustersHasBeenSet =
true; m_numCacheClusters = value; }
191 inline void SetNumNodeGroups(
int value) { m_numNodeGroupsHasBeenSet =
true; m_numNodeGroups = value; }
309 inline void SetCacheNodeType(
const char* value) { m_cacheNodeTypeHasBeenSet =
true; m_cacheNodeType.assign(value); }
324 inline void SetEngine(
const char* value) { m_engineHasBeenSet =
true; m_engine.assign(value); }
346 inline void SetEngineVersion(
const char* value) { m_engineVersionHasBeenSet =
true; m_engineVersion.assign(value); }
369 inline void SetCacheParameterGroupName(
const char* value) { m_cacheParameterGroupNameHasBeenSet =
true; m_cacheParameterGroupName.assign(value); }
388 inline void SetCacheSubnetGroupName(
const char* value) { m_cacheSubnetGroupNameHasBeenSet =
true; m_cacheSubnetGroupName.assign(value); }
478 inline void SetSnapshotName(
const char* value) { m_snapshotNameHasBeenSet =
true; m_snapshotName.assign(value); }
512 inline void SetPort(
int value) { m_portHasBeenSet =
true; m_port = value; }
526 inline void SetNotificationTopicArn(
const char* value) { m_notificationTopicArnHasBeenSet =
true; m_notificationTopicArn.assign(value); }
568 inline void SetSnapshotWindow(
const char* value) { m_snapshotWindowHasBeenSet =
true; m_snapshotWindow.assign(value); }
594 inline void SetAuthToken(
const char* value) { m_authTokenHasBeenSet =
true; m_authToken.assign(value); }
645 inline void SetKmsKeyId(
const char* value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId.assign(value); }
690 inline void SetDataTieringEnabled(
bool value) { m_dataTieringEnabledHasBeenSet =
true; m_dataTieringEnabled = value; }
783 bool m_replicationGroupIdHasBeenSet =
false;
786 bool m_replicationGroupDescriptionHasBeenSet =
false;
789 bool m_globalReplicationGroupIdHasBeenSet =
false;
792 bool m_primaryClusterIdHasBeenSet =
false;
794 bool m_automaticFailoverEnabled;
795 bool m_automaticFailoverEnabledHasBeenSet =
false;
797 bool m_multiAZEnabled;
798 bool m_multiAZEnabledHasBeenSet =
false;
800 int m_numCacheClusters;
801 bool m_numCacheClustersHasBeenSet =
false;
804 bool m_preferredCacheClusterAZsHasBeenSet =
false;
807 bool m_numNodeGroupsHasBeenSet =
false;
809 int m_replicasPerNodeGroup;
810 bool m_replicasPerNodeGroupHasBeenSet =
false;
813 bool m_nodeGroupConfigurationHasBeenSet =
false;
816 bool m_cacheNodeTypeHasBeenSet =
false;
819 bool m_engineHasBeenSet =
false;
822 bool m_engineVersionHasBeenSet =
false;
825 bool m_cacheParameterGroupNameHasBeenSet =
false;
828 bool m_cacheSubnetGroupNameHasBeenSet =
false;
831 bool m_cacheSecurityGroupNamesHasBeenSet =
false;
834 bool m_securityGroupIdsHasBeenSet =
false;
837 bool m_tagsHasBeenSet =
false;
840 bool m_snapshotArnsHasBeenSet =
false;
843 bool m_snapshotNameHasBeenSet =
false;
846 bool m_preferredMaintenanceWindowHasBeenSet =
false;
849 bool m_portHasBeenSet =
false;
852 bool m_notificationTopicArnHasBeenSet =
false;
854 bool m_autoMinorVersionUpgrade;
855 bool m_autoMinorVersionUpgradeHasBeenSet =
false;
857 int m_snapshotRetentionLimit;
858 bool m_snapshotRetentionLimitHasBeenSet =
false;
861 bool m_snapshotWindowHasBeenSet =
false;
864 bool m_authTokenHasBeenSet =
false;
866 bool m_transitEncryptionEnabled;
867 bool m_transitEncryptionEnabledHasBeenSet =
false;
869 bool m_atRestEncryptionEnabled;
870 bool m_atRestEncryptionEnabledHasBeenSet =
false;
873 bool m_kmsKeyIdHasBeenSet =
false;
876 bool m_userGroupIdsHasBeenSet =
false;
879 bool m_logDeliveryConfigurationsHasBeenSet =
false;
881 bool m_dataTieringEnabled;
882 bool m_dataTieringEnabledHasBeenSet =
false;
885 bool m_networkTypeHasBeenSet =
false;
888 bool m_ipDiscoveryHasBeenSet =
false;
891 bool m_transitEncryptionModeHasBeenSet =
false;
894 bool m_clusterModeHasBeenSet =
false;
897 bool m_serverlessCacheSnapshotNameHasBeenSet =
false;
bool CacheNodeTypeHasBeenSet() const
CreateReplicationGroupRequest & WithGlobalReplicationGroupId(Aws::String &&value)
CreateReplicationGroupRequest & WithDataTieringEnabled(bool value)
CreateReplicationGroupRequest & WithLogDeliveryConfigurations(Aws::Vector< LogDeliveryConfigurationRequest > &&value)
CreateReplicationGroupRequest & WithKmsKeyId(Aws::String &&value)
void SetSnapshotWindow(Aws::String &&value)
CreateReplicationGroupRequest & WithAutomaticFailoverEnabled(bool value)
void SetPreferredMaintenanceWindow(Aws::String &&value)
void SetNotificationTopicArn(Aws::String &&value)
const Aws::String & GetPreferredMaintenanceWindow() const
CreateReplicationGroupRequest & WithTransitEncryptionMode(TransitEncryptionMode &&value)
CreateReplicationGroupRequest & WithTransitEncryptionMode(const TransitEncryptionMode &value)
CreateReplicationGroupRequest & WithEngine(Aws::String &&value)
CreateReplicationGroupRequest & WithCacheParameterGroupName(Aws::String &&value)
const Aws::Vector< Aws::String > & GetPreferredCacheClusterAZs() const
void SetNotificationTopicArn(const char *value)
CreateReplicationGroupRequest & AddSecurityGroupIds(const Aws::String &value)
bool ReplicationGroupDescriptionHasBeenSet() const
void SetTransitEncryptionMode(TransitEncryptionMode &&value)
CreateReplicationGroupRequest & WithAutoMinorVersionUpgrade(bool value)
void SetAtRestEncryptionEnabled(bool value)
void SetClusterMode(ClusterMode &&value)
bool NumCacheClustersHasBeenSet() const
bool GetAutomaticFailoverEnabled() const
void SetServerlessCacheSnapshotName(const Aws::String &value)
void SetEngine(const Aws::String &value)
bool SnapshotArnsHasBeenSet() const
const ClusterMode & GetClusterMode() const
void SetKmsKeyId(Aws::String &&value)
void SetReplicationGroupDescription(Aws::String &&value)
const Aws::String & GetEngine() const
bool NetworkTypeHasBeenSet() const
CreateReplicationGroupRequest & WithPreferredMaintenanceWindow(const char *value)
CreateReplicationGroupRequest & WithSecurityGroupIds(const Aws::Vector< Aws::String > &value)
CreateReplicationGroupRequest & WithAuthToken(Aws::String &&value)
void SetTags(Aws::Vector< Tag > &&value)
CreateReplicationGroupRequest & WithNotificationTopicArn(const Aws::String &value)
void SetNetworkType(NetworkType &&value)
CreateReplicationGroupRequest & WithGlobalReplicationGroupId(const Aws::String &value)
CreateReplicationGroupRequest & WithCacheSubnetGroupName(Aws::String &&value)
const Aws::String & GetPrimaryClusterId() const
CreateReplicationGroupRequest & WithCacheSubnetGroupName(const Aws::String &value)
CreateReplicationGroupRequest & WithNumNodeGroups(int value)
void SetMultiAZEnabled(bool value)
const IpDiscovery & GetIpDiscovery() const
CreateReplicationGroupRequest & WithAtRestEncryptionEnabled(bool value)
AWS_ELASTICACHE_API Aws::String SerializePayload() const override
CreateReplicationGroupRequest & AddUserGroupIds(const char *value)
void SetSnapshotName(const char *value)
bool TransitEncryptionModeHasBeenSet() const
CreateReplicationGroupRequest & WithUserGroupIds(const Aws::Vector< Aws::String > &value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
bool NodeGroupConfigurationHasBeenSet() const
CreateReplicationGroupRequest & AddNodeGroupConfiguration(const NodeGroupConfiguration &value)
const Aws::Vector< LogDeliveryConfigurationRequest > & GetLogDeliveryConfigurations() const
CreateReplicationGroupRequest & WithSnapshotName(Aws::String &&value)
CreateReplicationGroupRequest & WithPreferredMaintenanceWindow(const Aws::String &value)
CreateReplicationGroupRequest & WithAuthToken(const char *value)
virtual const char * GetServiceRequestName() const override
CreateReplicationGroupRequest & WithNumCacheClusters(int value)
bool PreferredMaintenanceWindowHasBeenSet() const
CreateReplicationGroupRequest & AddNodeGroupConfiguration(NodeGroupConfiguration &&value)
CreateReplicationGroupRequest & AddSnapshotArns(Aws::String &&value)
CreateReplicationGroupRequest & WithPrimaryClusterId(const char *value)
CreateReplicationGroupRequest & AddLogDeliveryConfigurations(const LogDeliveryConfigurationRequest &value)
CreateReplicationGroupRequest & WithSnapshotRetentionLimit(int value)
bool AtRestEncryptionEnabledHasBeenSet() const
CreateReplicationGroupRequest & WithSnapshotName(const char *value)
const Aws::Vector< Aws::String > & GetCacheSecurityGroupNames() const
bool UserGroupIdsHasBeenSet() const
void SetLogDeliveryConfigurations(Aws::Vector< LogDeliveryConfigurationRequest > &&value)
bool GetAtRestEncryptionEnabled() const
CreateReplicationGroupRequest & WithPrimaryClusterId(Aws::String &&value)
CreateReplicationGroupRequest & AddCacheSecurityGroupNames(Aws::String &&value)
void SetGlobalReplicationGroupId(Aws::String &&value)
const Aws::String & GetCacheSubnetGroupName() const
bool PrimaryClusterIdHasBeenSet() const
CreateReplicationGroupRequest & AddPreferredCacheClusterAZs(const Aws::String &value)
CreateReplicationGroupRequest & AddSecurityGroupIds(const char *value)
void SetNetworkType(const NetworkType &value)
bool MultiAZEnabledHasBeenSet() const
const Aws::Vector< Aws::String > & GetSnapshotArns() const
const Aws::String & GetReplicationGroupId() const
const Aws::String & GetCacheNodeType() const
CreateReplicationGroupRequest & AddSecurityGroupIds(Aws::String &&value)
void SetTags(const Aws::Vector< Tag > &value)
const Aws::String & GetGlobalReplicationGroupId() const
CreateReplicationGroupRequest & WithNetworkType(const NetworkType &value)
const TransitEncryptionMode & GetTransitEncryptionMode() const
CreateReplicationGroupRequest & WithIpDiscovery(const IpDiscovery &value)
bool SnapshotWindowHasBeenSet() const
bool SnapshotNameHasBeenSet() const
bool AutomaticFailoverEnabledHasBeenSet() const
CreateReplicationGroupRequest & WithEngine(const char *value)
void SetReplicationGroupId(Aws::String &&value)
void SetPreferredCacheClusterAZs(const Aws::Vector< Aws::String > &value)
void SetPreferredMaintenanceWindow(const Aws::String &value)
CreateReplicationGroupRequest & WithCacheParameterGroupName(const char *value)
CreateReplicationGroupRequest & AddPreferredCacheClusterAZs(const char *value)
const Aws::String & GetSnapshotWindow() const
bool NumNodeGroupsHasBeenSet() const
void SetSnapshotWindow(const Aws::String &value)
CreateReplicationGroupRequest & WithSnapshotWindow(const Aws::String &value)
void SetNumCacheClusters(int value)
const Aws::Vector< Tag > & GetTags() const
bool AuthTokenHasBeenSet() const
CreateReplicationGroupRequest & WithReplicationGroupDescription(const Aws::String &value)
CreateReplicationGroupRequest & WithCacheSubnetGroupName(const char *value)
void SetReplicationGroupId(const char *value)
void SetAuthToken(Aws::String &&value)
const Aws::Vector< NodeGroupConfiguration > & GetNodeGroupConfiguration() const
bool GetTransitEncryptionEnabled() const
bool KmsKeyIdHasBeenSet() const
const Aws::String & GetServerlessCacheSnapshotName() const
CreateReplicationGroupRequest & AddUserGroupIds(const Aws::String &value)
void SetReplicasPerNodeGroup(int value)
bool ServerlessCacheSnapshotNameHasBeenSet() const
CreateReplicationGroupRequest & AddTags(Tag &&value)
AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
bool CacheParameterGroupNameHasBeenSet() const
CreateReplicationGroupRequest & AddSnapshotArns(const char *value)
CreateReplicationGroupRequest & WithServerlessCacheSnapshotName(const char *value)
const Aws::String & GetNotificationTopicArn() const
CreateReplicationGroupRequest & WithTags(const Aws::Vector< Tag > &value)
bool AutoMinorVersionUpgradeHasBeenSet() const
void SetGlobalReplicationGroupId(const Aws::String &value)
int GetNumNodeGroups() const
CreateReplicationGroupRequest & AddTags(const Tag &value)
void SetAuthToken(const Aws::String &value)
CreateReplicationGroupRequest & WithSnapshotWindow(Aws::String &&value)
CreateReplicationGroupRequest & WithClusterMode(ClusterMode &&value)
void SetCacheParameterGroupName(Aws::String &&value)
void SetKmsKeyId(const Aws::String &value)
bool CacheSecurityGroupNamesHasBeenSet() const
CreateReplicationGroupRequest & WithPrimaryClusterId(const Aws::String &value)
void SetPreferredCacheClusterAZs(Aws::Vector< Aws::String > &&value)
CreateReplicationGroupRequest & WithLogDeliveryConfigurations(const Aws::Vector< LogDeliveryConfigurationRequest > &value)
CreateReplicationGroupRequest & WithEngine(const Aws::String &value)
void SetKmsKeyId(const char *value)
void SetEngineVersion(const Aws::String &value)
void SetUserGroupIds(const Aws::Vector< Aws::String > &value)
CreateReplicationGroupRequest & WithCacheNodeType(Aws::String &&value)
CreateReplicationGroupRequest & WithKmsKeyId(const Aws::String &value)
CreateReplicationGroupRequest & WithPreferredMaintenanceWindow(Aws::String &&value)
const Aws::Vector< Aws::String > & GetUserGroupIds() const
void SetReplicationGroupDescription(const Aws::String &value)
CreateReplicationGroupRequest & WithServerlessCacheSnapshotName(const Aws::String &value)
CreateReplicationGroupRequest & WithGlobalReplicationGroupId(const char *value)
CreateReplicationGroupRequest & WithSnapshotArns(const Aws::Vector< Aws::String > &value)
CreateReplicationGroupRequest & WithKmsKeyId(const char *value)
void SetPrimaryClusterId(const char *value)
void SetReplicationGroupDescription(const char *value)
void SetSecurityGroupIds(Aws::Vector< Aws::String > &&value)
void SetSnapshotRetentionLimit(int value)
void SetCacheParameterGroupName(const char *value)
void SetCacheNodeType(const char *value)
const Aws::String & GetSnapshotName() const
void SetTransitEncryptionMode(const TransitEncryptionMode &value)
bool SnapshotRetentionLimitHasBeenSet() const
void SetNotificationTopicArn(const Aws::String &value)
CreateReplicationGroupRequest & WithReplicationGroupDescription(const char *value)
bool GetMultiAZEnabled() const
void SetEngine(const char *value)
const Aws::String & GetCacheParameterGroupName() const
void SetCacheParameterGroupName(const Aws::String &value)
AWS_ELASTICACHE_API CreateReplicationGroupRequest()
CreateReplicationGroupRequest & WithPreferredCacheClusterAZs(const Aws::Vector< Aws::String > &value)
CreateReplicationGroupRequest & AddPreferredCacheClusterAZs(Aws::String &&value)
bool ReplicationGroupIdHasBeenSet() const
CreateReplicationGroupRequest & WithServerlessCacheSnapshotName(Aws::String &&value)
void SetServerlessCacheSnapshotName(const char *value)
CreateReplicationGroupRequest & WithEngineVersion(Aws::String &&value)
CreateReplicationGroupRequest & WithNotificationTopicArn(Aws::String &&value)
CreateReplicationGroupRequest & WithPort(int value)
void SetTransitEncryptionEnabled(bool value)
CreateReplicationGroupRequest & WithCacheParameterGroupName(const Aws::String &value)
const Aws::String & GetEngineVersion() const
void SetPreferredMaintenanceWindow(const char *value)
void SetCacheSecurityGroupNames(Aws::Vector< Aws::String > &&value)
void SetSnapshotArns(Aws::Vector< Aws::String > &&value)
CreateReplicationGroupRequest & WithAuthToken(const Aws::String &value)
void SetClusterMode(const ClusterMode &value)
void SetSecurityGroupIds(const Aws::Vector< Aws::String > &value)
CreateReplicationGroupRequest & WithMultiAZEnabled(bool value)
CreateReplicationGroupRequest & WithNotificationTopicArn(const char *value)
CreateReplicationGroupRequest & WithCacheSecurityGroupNames(const Aws::Vector< Aws::String > &value)
bool GlobalReplicationGroupIdHasBeenSet() const
CreateReplicationGroupRequest & WithEngineVersion(const Aws::String &value)
bool LogDeliveryConfigurationsHasBeenSet() const
const NetworkType & GetNetworkType() const
int GetNumCacheClusters() const
void SetNodeGroupConfiguration(Aws::Vector< NodeGroupConfiguration > &&value)
bool PreferredCacheClusterAZsHasBeenSet() const
void SetEngineVersion(const char *value)
void SetSnapshotName(const Aws::String &value)
CreateReplicationGroupRequest & AddUserGroupIds(Aws::String &&value)
void SetEngineVersion(Aws::String &&value)
CreateReplicationGroupRequest & WithReplicationGroupDescription(Aws::String &&value)
CreateReplicationGroupRequest & WithNetworkType(NetworkType &&value)
void SetGlobalReplicationGroupId(const char *value)
void SetCacheSubnetGroupName(const char *value)
CreateReplicationGroupRequest & WithCacheSecurityGroupNames(Aws::Vector< Aws::String > &&value)
CreateReplicationGroupRequest & WithSnapshotWindow(const char *value)
CreateReplicationGroupRequest & AddCacheSecurityGroupNames(const char *value)
CreateReplicationGroupRequest & WithReplicasPerNodeGroup(int value)
CreateReplicationGroupRequest & WithUserGroupIds(Aws::Vector< Aws::String > &&value)
void SetCacheSecurityGroupNames(const Aws::Vector< Aws::String > &value)
void SetEngine(Aws::String &&value)
void SetAutoMinorVersionUpgrade(bool value)
void SetAutomaticFailoverEnabled(bool value)
void SetUserGroupIds(Aws::Vector< Aws::String > &&value)
void SetCacheNodeType(Aws::String &&value)
int GetSnapshotRetentionLimit() const
CreateReplicationGroupRequest & WithIpDiscovery(IpDiscovery &&value)
CreateReplicationGroupRequest & AddCacheSecurityGroupNames(const Aws::String &value)
CreateReplicationGroupRequest & WithReplicationGroupId(const char *value)
CreateReplicationGroupRequest & WithReplicationGroupId(Aws::String &&value)
CreateReplicationGroupRequest & AddSnapshotArns(const Aws::String &value)
void SetIpDiscovery(const IpDiscovery &value)
void SetIpDiscovery(IpDiscovery &&value)
CreateReplicationGroupRequest & WithClusterMode(const ClusterMode &value)
void SetSnapshotArns(const Aws::Vector< Aws::String > &value)
CreateReplicationGroupRequest & AddLogDeliveryConfigurations(LogDeliveryConfigurationRequest &&value)
void SetLogDeliveryConfigurations(const Aws::Vector< LogDeliveryConfigurationRequest > &value)
void SetSnapshotWindow(const char *value)
bool CacheSubnetGroupNameHasBeenSet() const
const Aws::String & GetReplicationGroupDescription() const
void SetCacheSubnetGroupName(Aws::String &&value)
void SetPrimaryClusterId(Aws::String &&value)
bool ClusterModeHasBeenSet() const
CreateReplicationGroupRequest & WithTransitEncryptionEnabled(bool value)
CreateReplicationGroupRequest & WithNodeGroupConfiguration(Aws::Vector< NodeGroupConfiguration > &&value)
void SetCacheSubnetGroupName(const Aws::String &value)
void SetCacheNodeType(const Aws::String &value)
void SetNumNodeGroups(int value)
const Aws::String & GetKmsKeyId() const
CreateReplicationGroupRequest & WithReplicationGroupId(const Aws::String &value)
bool EngineHasBeenSet() const
bool IpDiscoveryHasBeenSet() const
bool ReplicasPerNodeGroupHasBeenSet() const
CreateReplicationGroupRequest & WithSecurityGroupIds(Aws::Vector< Aws::String > &&value)
bool GetDataTieringEnabled() const
bool PortHasBeenSet() const
CreateReplicationGroupRequest & WithNodeGroupConfiguration(const Aws::Vector< NodeGroupConfiguration > &value)
void SetNodeGroupConfiguration(const Aws::Vector< NodeGroupConfiguration > &value)
CreateReplicationGroupRequest & WithCacheNodeType(const char *value)
CreateReplicationGroupRequest & WithEngineVersion(const char *value)
void SetDataTieringEnabled(bool value)
bool NotificationTopicArnHasBeenSet() const
bool EngineVersionHasBeenSet() const
CreateReplicationGroupRequest & WithSnapshotName(const Aws::String &value)
void SetSnapshotName(Aws::String &&value)
bool TransitEncryptionEnabledHasBeenSet() const
void SetServerlessCacheSnapshotName(Aws::String &&value)
bool TagsHasBeenSet() const
bool SecurityGroupIdsHasBeenSet() const
CreateReplicationGroupRequest & WithSnapshotArns(Aws::Vector< Aws::String > &&value)
bool DataTieringEnabledHasBeenSet() const
bool GetAutoMinorVersionUpgrade() const
int GetReplicasPerNodeGroup() const
CreateReplicationGroupRequest & WithTags(Aws::Vector< Tag > &&value)
void SetAuthToken(const char *value)
void SetReplicationGroupId(const Aws::String &value)
void SetPrimaryClusterId(const Aws::String &value)
CreateReplicationGroupRequest & WithPreferredCacheClusterAZs(Aws::Vector< Aws::String > &&value)
const Aws::String & GetAuthToken() const
CreateReplicationGroupRequest & WithCacheNodeType(const Aws::String &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector