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>
61 template<
typename ReplicationGroupIdT = Aws::String>
62 void SetReplicationGroupId(ReplicationGroupIdT&& value) { m_replicationGroupIdHasBeenSet =
true; m_replicationGroupId = std::forward<ReplicationGroupIdT>(value); }
63 template<
typename ReplicationGroupIdT = Aws::String>
73 template<
typename ReplicationGroupDescriptionT = Aws::String>
74 void SetReplicationGroupDescription(ReplicationGroupDescriptionT&& value) { m_replicationGroupDescriptionHasBeenSet =
true; m_replicationGroupDescription = std::forward<ReplicationGroupDescriptionT>(value); }
75 template<
typename ReplicationGroupDescriptionT = Aws::String>
85 template<
typename GlobalReplicationGroupIdT = Aws::String>
86 void SetGlobalReplicationGroupId(GlobalReplicationGroupIdT&& value) { m_globalReplicationGroupIdHasBeenSet =
true; m_globalReplicationGroupId = std::forward<GlobalReplicationGroupIdT>(value); }
87 template<
typename GlobalReplicationGroupIdT = Aws::String>
101 template<
typename PrimaryClusterIdT = Aws::String>
102 void SetPrimaryClusterId(PrimaryClusterIdT&& value) { m_primaryClusterIdHasBeenSet =
true; m_primaryClusterId = std::forward<PrimaryClusterIdT>(value); }
103 template<
typename PrimaryClusterIdT = Aws::String>
129 inline void SetMultiAZEnabled(
bool value) { m_multiAZEnabledHasBeenSet =
true; m_multiAZEnabled = value; }
146 inline void SetNumCacheClusters(
int value) { m_numCacheClustersHasBeenSet =
true; m_numCacheClusters = value; }
165 template<
typename PreferredCacheClusterAZsT = Aws::Vector<Aws::String>>
166 void SetPreferredCacheClusterAZs(PreferredCacheClusterAZsT&& value) { m_preferredCacheClusterAZsHasBeenSet =
true; m_preferredCacheClusterAZs = std::forward<PreferredCacheClusterAZsT>(value); }
167 template<
typename PreferredCacheClusterAZsT = Aws::Vector<Aws::String>>
169 template<
typename PreferredCacheClusterAZsT = Aws::String>
182 inline void SetNumNodeGroups(
int value) { m_numNodeGroupsHasBeenSet =
true; m_numNodeGroups = value; }
212 template<
typename NodeGroupConfigurationT = Aws::Vector<NodeGroupConfiguration>>
213 void SetNodeGroupConfiguration(NodeGroupConfigurationT&& value) { m_nodeGroupConfigurationHasBeenSet =
true; m_nodeGroupConfiguration = std::forward<NodeGroupConfigurationT>(value); }
214 template<
typename NodeGroupConfigurationT = Aws::Vector<NodeGroupConfiguration>>
216 template<
typename NodeGroupConfigurationT = NodeGroupConfiguration>
298 template<
typename CacheNodeTypeT = Aws::String>
299 void SetCacheNodeType(CacheNodeTypeT&& value) { m_cacheNodeTypeHasBeenSet =
true; m_cacheNodeType = std::forward<CacheNodeTypeT>(value); }
300 template<
typename CacheNodeTypeT = Aws::String>
311 template<
typename EngineT = Aws::String>
312 void SetEngine(EngineT&& value) { m_engineHasBeenSet =
true; m_engine = std::forward<EngineT>(value); }
313 template<
typename EngineT = Aws::String>
331 template<
typename EngineVersionT = Aws::String>
332 void SetEngineVersion(EngineVersionT&& value) { m_engineVersionHasBeenSet =
true; m_engineVersion = std::forward<EngineVersionT>(value); }
333 template<
typename EngineVersionT = Aws::String>
352 template<
typename CacheParameterGroupNameT = Aws::String>
353 void SetCacheParameterGroupName(CacheParameterGroupNameT&& value) { m_cacheParameterGroupNameHasBeenSet =
true; m_cacheParameterGroupName = std::forward<CacheParameterGroupNameT>(value); }
354 template<
typename CacheParameterGroupNameT = Aws::String>
369 template<
typename CacheSubnetGroupNameT = Aws::String>
370 void SetCacheSubnetGroupName(CacheSubnetGroupNameT&& value) { m_cacheSubnetGroupNameHasBeenSet =
true; m_cacheSubnetGroupName = std::forward<CacheSubnetGroupNameT>(value); }
371 template<
typename CacheSubnetGroupNameT = Aws::String>
382 template<
typename CacheSecurityGroupNamesT = Aws::Vector<Aws::String>>
383 void SetCacheSecurityGroupNames(CacheSecurityGroupNamesT&& value) { m_cacheSecurityGroupNamesHasBeenSet =
true; m_cacheSecurityGroupNames = std::forward<CacheSecurityGroupNamesT>(value); }
384 template<
typename CacheSecurityGroupNamesT = Aws::Vector<Aws::String>>
386 template<
typename CacheSecurityGroupNamesT = Aws::String>
398 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
399 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
400 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
402 template<
typename SecurityGroupIdsT = Aws::String>
417 template<
typename TagsT = Aws::Vector<Tag>>
418 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
419 template<
typename TagsT = Aws::Vector<Tag>>
421 template<
typename TagsT = Tag>
438 template<
typename SnapshotArnsT = Aws::Vector<Aws::String>>
439 void SetSnapshotArns(SnapshotArnsT&& value) { m_snapshotArnsHasBeenSet =
true; m_snapshotArns = std::forward<SnapshotArnsT>(value); }
440 template<
typename SnapshotArnsT = Aws::Vector<Aws::String>>
442 template<
typename SnapshotArnsT = Aws::String>
454 template<
typename SnapshotNameT = Aws::String>
455 void SetSnapshotName(SnapshotNameT&& value) { m_snapshotNameHasBeenSet =
true; m_snapshotName = std::forward<SnapshotNameT>(value); }
456 template<
typename SnapshotNameT = Aws::String>
473 template<
typename PreferredMa
intenanceWindowT = Aws::String>
474 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) { m_preferredMaintenanceWindowHasBeenSet =
true; m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value); }
475 template<
typename PreferredMa
intenanceWindowT = Aws::String>
486 inline void SetPort(
int value) { m_portHasBeenSet =
true; m_port = value; }
498 template<
typename NotificationTopicArnT = Aws::String>
499 void SetNotificationTopicArn(NotificationTopicArnT&& value) { m_notificationTopicArnHasBeenSet =
true; m_notificationTopicArn = std::forward<NotificationTopicArnT>(value); }
500 template<
typename NotificationTopicArnT = Aws::String>
538 template<
typename SnapshotWindowT = Aws::String>
539 void SetSnapshotWindow(SnapshotWindowT&& value) { m_snapshotWindowHasBeenSet =
true; m_snapshotWindow = std::forward<SnapshotWindowT>(value); }
540 template<
typename SnapshotWindowT = Aws::String>
562 template<
typename AuthTokenT = Aws::String>
563 void SetAuthToken(AuthTokenT&& value) { m_authTokenHasBeenSet =
true; m_authToken = std::forward<AuthTokenT>(value); }
564 template<
typename AuthTokenT = Aws::String>
612 template<
typename KmsKeyIdT = Aws::String>
613 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
614 template<
typename KmsKeyIdT = Aws::String>
624 template<
typename UserGroupIdsT = Aws::Vector<Aws::String>>
625 void SetUserGroupIds(UserGroupIdsT&& value) { m_userGroupIdsHasBeenSet =
true; m_userGroupIds = std::forward<UserGroupIdsT>(value); }
626 template<
typename UserGroupIdsT = Aws::Vector<Aws::String>>
628 template<
typename UserGroupIdsT = Aws::String>
638 template<
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfigurationRequest>>
639 void SetLogDeliveryConfigurations(LogDeliveryConfigurationsT&& value) { m_logDeliveryConfigurationsHasBeenSet =
true; m_logDeliveryConfigurations = std::forward<LogDeliveryConfigurationsT>(value); }
640 template<
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfigurationRequest>>
642 template<
typename LogDeliveryConfigurationsT = LogDeliveryConfigurationRequest>
656 inline void SetDataTieringEnabled(
bool value) { m_dataTieringEnabledHasBeenSet =
true; m_dataTieringEnabled = value; }
731 template<
typename ServerlessCacheSnapshotNameT = Aws::String>
732 void SetServerlessCacheSnapshotName(ServerlessCacheSnapshotNameT&& value) { m_serverlessCacheSnapshotNameHasBeenSet =
true; m_serverlessCacheSnapshotName = std::forward<ServerlessCacheSnapshotNameT>(value); }
733 template<
typename ServerlessCacheSnapshotNameT = Aws::String>
739 bool m_replicationGroupIdHasBeenSet =
false;
742 bool m_replicationGroupDescriptionHasBeenSet =
false;
745 bool m_globalReplicationGroupIdHasBeenSet =
false;
748 bool m_primaryClusterIdHasBeenSet =
false;
750 bool m_automaticFailoverEnabled{
false};
751 bool m_automaticFailoverEnabledHasBeenSet =
false;
753 bool m_multiAZEnabled{
false};
754 bool m_multiAZEnabledHasBeenSet =
false;
756 int m_numCacheClusters{0};
757 bool m_numCacheClustersHasBeenSet =
false;
760 bool m_preferredCacheClusterAZsHasBeenSet =
false;
762 int m_numNodeGroups{0};
763 bool m_numNodeGroupsHasBeenSet =
false;
765 int m_replicasPerNodeGroup{0};
766 bool m_replicasPerNodeGroupHasBeenSet =
false;
769 bool m_nodeGroupConfigurationHasBeenSet =
false;
772 bool m_cacheNodeTypeHasBeenSet =
false;
775 bool m_engineHasBeenSet =
false;
778 bool m_engineVersionHasBeenSet =
false;
781 bool m_cacheParameterGroupNameHasBeenSet =
false;
784 bool m_cacheSubnetGroupNameHasBeenSet =
false;
787 bool m_cacheSecurityGroupNamesHasBeenSet =
false;
790 bool m_securityGroupIdsHasBeenSet =
false;
793 bool m_tagsHasBeenSet =
false;
796 bool m_snapshotArnsHasBeenSet =
false;
799 bool m_snapshotNameHasBeenSet =
false;
802 bool m_preferredMaintenanceWindowHasBeenSet =
false;
805 bool m_portHasBeenSet =
false;
808 bool m_notificationTopicArnHasBeenSet =
false;
810 bool m_autoMinorVersionUpgrade{
false};
811 bool m_autoMinorVersionUpgradeHasBeenSet =
false;
813 int m_snapshotRetentionLimit{0};
814 bool m_snapshotRetentionLimitHasBeenSet =
false;
817 bool m_snapshotWindowHasBeenSet =
false;
820 bool m_authTokenHasBeenSet =
false;
822 bool m_transitEncryptionEnabled{
false};
823 bool m_transitEncryptionEnabledHasBeenSet =
false;
825 bool m_atRestEncryptionEnabled{
false};
826 bool m_atRestEncryptionEnabledHasBeenSet =
false;
829 bool m_kmsKeyIdHasBeenSet =
false;
832 bool m_userGroupIdsHasBeenSet =
false;
835 bool m_logDeliveryConfigurationsHasBeenSet =
false;
837 bool m_dataTieringEnabled{
false};
838 bool m_dataTieringEnabledHasBeenSet =
false;
841 bool m_networkTypeHasBeenSet =
false;
844 bool m_ipDiscoveryHasBeenSet =
false;
847 bool m_transitEncryptionModeHasBeenSet =
false;
850 bool m_clusterModeHasBeenSet =
false;
853 bool m_serverlessCacheSnapshotNameHasBeenSet =
false;
bool CacheNodeTypeHasBeenSet() const
CreateReplicationGroupRequest & WithDataTieringEnabled(bool value)
CreateReplicationGroupRequest & WithLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
CreateReplicationGroupRequest & WithAutomaticFailoverEnabled(bool value)
void SetPreferredCacheClusterAZs(PreferredCacheClusterAZsT &&value)
void SetAuthToken(AuthTokenT &&value)
CreateReplicationGroupRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::String & GetPreferredMaintenanceWindow() const
CreateReplicationGroupRequest & AddUserGroupIds(UserGroupIdsT &&value)
void SetNodeGroupConfiguration(NodeGroupConfigurationT &&value)
CreateReplicationGroupRequest & WithTags(TagsT &&value)
CreateReplicationGroupRequest & WithPreferredCacheClusterAZs(PreferredCacheClusterAZsT &&value)
const Aws::Vector< Aws::String > & GetPreferredCacheClusterAZs() const
CreateReplicationGroupRequest & WithNetworkType(NetworkType value)
bool ReplicationGroupDescriptionHasBeenSet() const
CreateReplicationGroupRequest & WithAutoMinorVersionUpgrade(bool value)
void SetAtRestEncryptionEnabled(bool value)
CreateReplicationGroupRequest & WithClusterMode(ClusterMode value)
bool NumCacheClustersHasBeenSet() const
bool GetAutomaticFailoverEnabled() const
bool SnapshotArnsHasBeenSet() const
const Aws::String & GetEngine() const
bool NetworkTypeHasBeenSet() const
void SetServerlessCacheSnapshotName(ServerlessCacheSnapshotNameT &&value)
void SetTags(TagsT &&value)
CreateReplicationGroupRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetClusterMode(ClusterMode value)
const Aws::String & GetPrimaryClusterId() const
CreateReplicationGroupRequest & WithNumNodeGroups(int value)
CreateReplicationGroupRequest & WithEngine(EngineT &&value)
void SetMultiAZEnabled(bool value)
CreateReplicationGroupRequest & WithAtRestEncryptionEnabled(bool value)
AWS_ELASTICACHE_API Aws::String SerializePayload() const override
CreateReplicationGroupRequest & WithCacheSubnetGroupName(CacheSubnetGroupNameT &&value)
void SetUserGroupIds(UserGroupIdsT &&value)
bool TransitEncryptionModeHasBeenSet() const
ClusterMode GetClusterMode() const
IpDiscovery GetIpDiscovery() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
bool NodeGroupConfigurationHasBeenSet() const
const Aws::Vector< LogDeliveryConfigurationRequest > & GetLogDeliveryConfigurations() const
virtual const char * GetServiceRequestName() const override
CreateReplicationGroupRequest & WithNumCacheClusters(int value)
CreateReplicationGroupRequest & AddSnapshotArns(SnapshotArnsT &&value)
bool PreferredMaintenanceWindowHasBeenSet() const
CreateReplicationGroupRequest & AddTags(TagsT &&value)
void SetGlobalReplicationGroupId(GlobalReplicationGroupIdT &&value)
void SetCacheNodeType(CacheNodeTypeT &&value)
CreateReplicationGroupRequest & WithNodeGroupConfiguration(NodeGroupConfigurationT &&value)
CreateReplicationGroupRequest & WithSnapshotRetentionLimit(int value)
bool AtRestEncryptionEnabledHasBeenSet() const
const Aws::Vector< Aws::String > & GetCacheSecurityGroupNames() const
bool UserGroupIdsHasBeenSet() const
bool GetAtRestEncryptionEnabled() const
const Aws::String & GetCacheSubnetGroupName() const
bool PrimaryClusterIdHasBeenSet() const
bool MultiAZEnabledHasBeenSet() const
const Aws::Vector< Aws::String > & GetSnapshotArns() const
const Aws::String & GetReplicationGroupId() const
const Aws::String & GetCacheNodeType() const
CreateReplicationGroupRequest & WithEngineVersion(EngineVersionT &&value)
const Aws::String & GetGlobalReplicationGroupId() const
CreateReplicationGroupRequest & WithServerlessCacheSnapshotName(ServerlessCacheSnapshotNameT &&value)
void SetNetworkType(NetworkType value)
bool SnapshotWindowHasBeenSet() const
bool SnapshotNameHasBeenSet() const
bool AutomaticFailoverEnabledHasBeenSet() const
CreateReplicationGroupRequest & WithPrimaryClusterId(PrimaryClusterIdT &&value)
const Aws::String & GetSnapshotWindow() const
bool NumNodeGroupsHasBeenSet() const
void SetNumCacheClusters(int value)
const Aws::Vector< Tag > & GetTags() const
bool AuthTokenHasBeenSet() const
NetworkType GetNetworkType() const
void SetEngineVersion(EngineVersionT &&value)
const Aws::Vector< NodeGroupConfiguration > & GetNodeGroupConfiguration() const
bool GetTransitEncryptionEnabled() const
CreateReplicationGroupRequest & WithSnapshotArns(SnapshotArnsT &&value)
bool KmsKeyIdHasBeenSet() const
const Aws::String & GetServerlessCacheSnapshotName() const
void SetReplicasPerNodeGroup(int value)
bool ServerlessCacheSnapshotNameHasBeenSet() const
AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
bool CacheParameterGroupNameHasBeenSet() const
const Aws::String & GetNotificationTopicArn() const
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
bool AutoMinorVersionUpgradeHasBeenSet() const
int GetNumNodeGroups() const
void SetCacheParameterGroupName(CacheParameterGroupNameT &&value)
void SetReplicationGroupId(ReplicationGroupIdT &&value)
void SetSnapshotArns(SnapshotArnsT &&value)
CreateReplicationGroupRequest & WithSnapshotName(SnapshotNameT &&value)
bool CacheSecurityGroupNamesHasBeenSet() const
const Aws::Vector< Aws::String > & GetUserGroupIds() const
void SetCacheSecurityGroupNames(CacheSecurityGroupNamesT &&value)
CreateReplicationGroupRequest & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
CreateReplicationGroupRequest & WithUserGroupIds(UserGroupIdsT &&value)
void SetSnapshotRetentionLimit(int value)
CreateReplicationGroupRequest & WithGlobalReplicationGroupId(GlobalReplicationGroupIdT &&value)
CreateReplicationGroupRequest & WithIpDiscovery(IpDiscovery value)
const Aws::String & GetSnapshotName() const
void SetPrimaryClusterId(PrimaryClusterIdT &&value)
bool SnapshotRetentionLimitHasBeenSet() const
CreateReplicationGroupRequest & AddPreferredCacheClusterAZs(PreferredCacheClusterAZsT &&value)
bool GetMultiAZEnabled() const
AWS_ELASTICACHE_API CreateReplicationGroupRequest()=default
const Aws::String & GetCacheParameterGroupName() const
void SetKmsKeyId(KmsKeyIdT &&value)
CreateReplicationGroupRequest & AddCacheSecurityGroupNames(CacheSecurityGroupNamesT &&value)
void SetTransitEncryptionMode(TransitEncryptionMode value)
bool ReplicationGroupIdHasBeenSet() const
void SetEngine(EngineT &&value)
void SetSnapshotName(SnapshotNameT &&value)
CreateReplicationGroupRequest & WithPort(int value)
void SetTransitEncryptionEnabled(bool value)
const Aws::String & GetEngineVersion() const
CreateReplicationGroupRequest & WithCacheParameterGroupName(CacheParameterGroupNameT &&value)
CreateReplicationGroupRequest & WithMultiAZEnabled(bool value)
void SetNotificationTopicArn(NotificationTopicArnT &&value)
bool GlobalReplicationGroupIdHasBeenSet() const
CreateReplicationGroupRequest & WithCacheSecurityGroupNames(CacheSecurityGroupNamesT &&value)
bool LogDeliveryConfigurationsHasBeenSet() const
CreateReplicationGroupRequest & WithNotificationTopicArn(NotificationTopicArnT &&value)
int GetNumCacheClusters() const
bool PreferredCacheClusterAZsHasBeenSet() const
void SetSnapshotWindow(SnapshotWindowT &&value)
CreateReplicationGroupRequest & AddLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
CreateReplicationGroupRequest & WithReplicasPerNodeGroup(int value)
void SetAutoMinorVersionUpgrade(bool value)
void SetAutomaticFailoverEnabled(bool value)
TransitEncryptionMode GetTransitEncryptionMode() const
int GetSnapshotRetentionLimit() const
CreateReplicationGroupRequest & WithKmsKeyId(KmsKeyIdT &&value)
CreateReplicationGroupRequest & WithTransitEncryptionMode(TransitEncryptionMode value)
bool CacheSubnetGroupNameHasBeenSet() const
const Aws::String & GetReplicationGroupDescription() const
void SetLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
bool ClusterModeHasBeenSet() const
CreateReplicationGroupRequest & WithTransitEncryptionEnabled(bool value)
void SetNumNodeGroups(int value)
const Aws::String & GetKmsKeyId() const
bool EngineHasBeenSet() const
bool IpDiscoveryHasBeenSet() const
bool ReplicasPerNodeGroupHasBeenSet() const
bool GetDataTieringEnabled() const
bool PortHasBeenSet() const
CreateReplicationGroupRequest & WithAuthToken(AuthTokenT &&value)
void SetIpDiscovery(IpDiscovery value)
void SetDataTieringEnabled(bool value)
bool NotificationTopicArnHasBeenSet() const
bool EngineVersionHasBeenSet() const
CreateReplicationGroupRequest & WithCacheNodeType(CacheNodeTypeT &&value)
bool TransitEncryptionEnabledHasBeenSet() const
void SetReplicationGroupDescription(ReplicationGroupDescriptionT &&value)
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
CreateReplicationGroupRequest & AddNodeGroupConfiguration(NodeGroupConfigurationT &&value)
CreateReplicationGroupRequest & WithReplicationGroupDescription(ReplicationGroupDescriptionT &&value)
void SetCacheSubnetGroupName(CacheSubnetGroupNameT &&value)
bool TagsHasBeenSet() const
bool SecurityGroupIdsHasBeenSet() const
CreateReplicationGroupRequest & WithReplicationGroupId(ReplicationGroupIdT &&value)
CreateReplicationGroupRequest & WithSnapshotWindow(SnapshotWindowT &&value)
bool DataTieringEnabledHasBeenSet() const
bool GetAutoMinorVersionUpgrade() const
int GetReplicasPerNodeGroup() const
const Aws::String & GetAuthToken() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector