7#include <aws/elasticache/ElastiCache_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/elasticache/model/GlobalReplicationGroupInfo.h>
11#include <aws/elasticache/model/ReplicationGroupPendingModifiedValues.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/elasticache/model/AutomaticFailoverStatus.h>
14#include <aws/elasticache/model/MultiAZStatus.h>
15#include <aws/elasticache/model/Endpoint.h>
16#include <aws/core/utils/DateTime.h>
17#include <aws/elasticache/model/DataTieringStatus.h>
18#include <aws/elasticache/model/NetworkType.h>
19#include <aws/elasticache/model/IpDiscovery.h>
20#include <aws/elasticache/model/TransitEncryptionMode.h>
21#include <aws/elasticache/model/ClusterMode.h>
22#include <aws/elasticache/model/NodeGroup.h>
23#include <aws/elasticache/model/LogDeliveryConfiguration.h>
63 template<
typename ReplicationGroupIdT = Aws::String>
64 void SetReplicationGroupId(ReplicationGroupIdT&& value) { m_replicationGroupIdHasBeenSet =
true; m_replicationGroupId = std::forward<ReplicationGroupIdT>(value); }
65 template<
typename ReplicationGroupIdT = Aws::String>
75 template<
typename DescriptionT = Aws::String>
76 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
77 template<
typename DescriptionT = Aws::String>
88 template<
typename GlobalReplicationGroupInfoT = GlobalReplicationGroupInfo>
89 void SetGlobalReplicationGroupInfo(GlobalReplicationGroupInfoT&& value) { m_globalReplicationGroupInfoHasBeenSet =
true; m_globalReplicationGroupInfo = std::forward<GlobalReplicationGroupInfoT>(value); }
90 template<
typename GlobalReplicationGroupInfoT = GlobalReplicationGroupInfo>
102 template<
typename StatusT = Aws::String>
103 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
104 template<
typename StatusT = Aws::String>
115 template<
typename PendingModifiedValuesT = ReplicationGroupPendingModifiedValues>
116 void SetPendingModifiedValues(PendingModifiedValuesT&& value) { m_pendingModifiedValuesHasBeenSet =
true; m_pendingModifiedValues = std::forward<PendingModifiedValuesT>(value); }
117 template<
typename PendingModifiedValuesT = ReplicationGroupPendingModifiedValues>
128 template<
typename MemberClustersT = Aws::Vector<Aws::String>>
129 void SetMemberClusters(MemberClustersT&& value) { m_memberClustersHasBeenSet =
true; m_memberClusters = std::forward<MemberClustersT>(value); }
130 template<
typename MemberClustersT = Aws::Vector<Aws::String>>
132 template<
typename MemberClustersT = Aws::String>
133 ReplicationGroup&
AddMemberClusters(MemberClustersT&& value) { m_memberClustersHasBeenSet =
true; m_memberClusters.emplace_back(std::forward<MemberClustersT>(value));
return *
this; }
145 template<
typename NodeGroupsT = Aws::Vector<NodeGroup>>
146 void SetNodeGroups(NodeGroupsT&& value) { m_nodeGroupsHasBeenSet =
true; m_nodeGroups = std::forward<NodeGroupsT>(value); }
147 template<
typename NodeGroupsT = Aws::Vector<NodeGroup>>
149 template<
typename NodeGroupsT = NodeGroup>
150 ReplicationGroup&
AddNodeGroups(NodeGroupsT&& value) { m_nodeGroupsHasBeenSet =
true; m_nodeGroups.emplace_back(std::forward<NodeGroupsT>(value));
return *
this; }
160 template<
typename SnapshottingClusterIdT = Aws::String>
161 void SetSnapshottingClusterId(SnapshottingClusterIdT&& value) { m_snapshottingClusterIdHasBeenSet =
true; m_snapshottingClusterId = std::forward<SnapshottingClusterIdT>(value); }
162 template<
typename SnapshottingClusterIdT = Aws::String>
197 template<
typename ConfigurationEndpo
intT = Endpo
int>
198 void SetConfigurationEndpoint(ConfigurationEndpointT&& value) { m_configurationEndpointHasBeenSet =
true; m_configurationEndpoint = std::forward<ConfigurationEndpointT>(value); }
199 template<
typename ConfigurationEndpo
intT = Endpo
int>
228 template<
typename SnapshotWindowT = Aws::String>
229 void SetSnapshotWindow(SnapshotWindowT&& value) { m_snapshotWindowHasBeenSet =
true; m_snapshotWindow = std::forward<SnapshotWindowT>(value); }
230 template<
typename SnapshotWindowT = Aws::String>
242 inline void SetClusterEnabled(
bool value) { m_clusterEnabledHasBeenSet =
true; m_clusterEnabled = value; }
253 template<
typename CacheNodeTypeT = Aws::String>
254 void SetCacheNodeType(CacheNodeTypeT&& value) { m_cacheNodeTypeHasBeenSet =
true; m_cacheNodeType = std::forward<CacheNodeTypeT>(value); }
255 template<
typename CacheNodeTypeT = Aws::String>
266 inline void SetAuthTokenEnabled(
bool value) { m_authTokenEnabledHasBeenSet =
true; m_authTokenEnabled = value; }
276 template<
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
277 void SetAuthTokenLastModifiedDate(AuthTokenLastModifiedDateT&& value) { m_authTokenLastModifiedDateHasBeenSet =
true; m_authTokenLastModifiedDate = std::forward<AuthTokenLastModifiedDateT>(value); }
278 template<
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
317 template<
typename MemberClustersOutpostArnsT = Aws::Vector<Aws::String>>
318 void SetMemberClustersOutpostArns(MemberClustersOutpostArnsT&& value) { m_memberClustersOutpostArnsHasBeenSet =
true; m_memberClustersOutpostArns = std::forward<MemberClustersOutpostArnsT>(value); }
319 template<
typename MemberClustersOutpostArnsT = Aws::Vector<Aws::String>>
321 template<
typename MemberClustersOutpostArnsT = Aws::String>
322 ReplicationGroup&
AddMemberClustersOutpostArns(MemberClustersOutpostArnsT&& value) { m_memberClustersOutpostArnsHasBeenSet =
true; m_memberClustersOutpostArns.emplace_back(std::forward<MemberClustersOutpostArnsT>(value));
return *
this; }
331 template<
typename KmsKeyIdT = Aws::String>
332 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
333 template<
typename KmsKeyIdT = Aws::String>
343 template<
typename ARNT = Aws::String>
344 void SetARN(ARNT&& value) { m_aRNHasBeenSet =
true; m_aRN = std::forward<ARNT>(value); }
345 template<
typename ARNT = Aws::String>
355 template<
typename UserGroupIdsT = Aws::Vector<Aws::String>>
356 void SetUserGroupIds(UserGroupIdsT&& value) { m_userGroupIdsHasBeenSet =
true; m_userGroupIds = std::forward<UserGroupIdsT>(value); }
357 template<
typename UserGroupIdsT = Aws::Vector<Aws::String>>
359 template<
typename UserGroupIdsT = Aws::String>
360 ReplicationGroup&
AddUserGroupIds(UserGroupIdsT&& value) { m_userGroupIdsHasBeenSet =
true; m_userGroupIds.emplace_back(std::forward<UserGroupIdsT>(value));
return *
this; }
369 template<
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
370 void SetLogDeliveryConfigurations(LogDeliveryConfigurationsT&& value) { m_logDeliveryConfigurationsHasBeenSet =
true; m_logDeliveryConfigurations = std::forward<LogDeliveryConfigurationsT>(value); }
371 template<
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
373 template<
typename LogDeliveryConfigurationsT = LogDeliveryConfiguration>
374 ReplicationGroup&
AddLogDeliveryConfigurations(LogDeliveryConfigurationsT&& value) { m_logDeliveryConfigurationsHasBeenSet =
true; m_logDeliveryConfigurations.emplace_back(std::forward<LogDeliveryConfigurationsT>(value));
return *
this; }
383 template<
typename ReplicationGroupCreateTimeT = Aws::Utils::DateTime>
384 void SetReplicationGroupCreateTime(ReplicationGroupCreateTimeT&& value) { m_replicationGroupCreateTimeHasBeenSet =
true; m_replicationGroupCreateTime = std::forward<ReplicationGroupCreateTimeT>(value); }
385 template<
typename ReplicationGroupCreateTimeT = Aws::Utils::DateTime>
476 template<
typename EngineT = Aws::String>
477 void SetEngine(EngineT&& value) { m_engineHasBeenSet =
true; m_engine = std::forward<EngineT>(value); }
478 template<
typename EngineT = Aws::String>
484 bool m_replicationGroupIdHasBeenSet =
false;
487 bool m_descriptionHasBeenSet =
false;
490 bool m_globalReplicationGroupInfoHasBeenSet =
false;
493 bool m_statusHasBeenSet =
false;
496 bool m_pendingModifiedValuesHasBeenSet =
false;
499 bool m_memberClustersHasBeenSet =
false;
502 bool m_nodeGroupsHasBeenSet =
false;
505 bool m_snapshottingClusterIdHasBeenSet =
false;
508 bool m_automaticFailoverHasBeenSet =
false;
511 bool m_multiAZHasBeenSet =
false;
513 Endpoint m_configurationEndpoint;
514 bool m_configurationEndpointHasBeenSet =
false;
516 int m_snapshotRetentionLimit{0};
517 bool m_snapshotRetentionLimitHasBeenSet =
false;
520 bool m_snapshotWindowHasBeenSet =
false;
522 bool m_clusterEnabled{
false};
523 bool m_clusterEnabledHasBeenSet =
false;
526 bool m_cacheNodeTypeHasBeenSet =
false;
528 bool m_authTokenEnabled{
false};
529 bool m_authTokenEnabledHasBeenSet =
false;
532 bool m_authTokenLastModifiedDateHasBeenSet =
false;
534 bool m_transitEncryptionEnabled{
false};
535 bool m_transitEncryptionEnabledHasBeenSet =
false;
537 bool m_atRestEncryptionEnabled{
false};
538 bool m_atRestEncryptionEnabledHasBeenSet =
false;
541 bool m_memberClustersOutpostArnsHasBeenSet =
false;
544 bool m_kmsKeyIdHasBeenSet =
false;
547 bool m_aRNHasBeenSet =
false;
550 bool m_userGroupIdsHasBeenSet =
false;
553 bool m_logDeliveryConfigurationsHasBeenSet =
false;
556 bool m_replicationGroupCreateTimeHasBeenSet =
false;
559 bool m_dataTieringHasBeenSet =
false;
561 bool m_autoMinorVersionUpgrade{
false};
562 bool m_autoMinorVersionUpgradeHasBeenSet =
false;
565 bool m_networkTypeHasBeenSet =
false;
568 bool m_ipDiscoveryHasBeenSet =
false;
571 bool m_transitEncryptionModeHasBeenSet =
false;
574 bool m_clusterModeHasBeenSet =
false;
577 bool m_engineHasBeenSet =
false;
ReplicationGroup & AddMemberClusters(MemberClustersT &&value)
bool SnapshotRetentionLimitHasBeenSet() const
void SetAutomaticFailover(AutomaticFailoverStatus value)
const Aws::String & GetReplicationGroupId() const
const Aws::String & GetEngine() const
bool ConfigurationEndpointHasBeenSet() const
void SetNetworkType(NetworkType value)
void SetCacheNodeType(CacheNodeTypeT &&value)
DataTieringStatus GetDataTiering() const
bool AutomaticFailoverHasBeenSet() const
bool MemberClustersOutpostArnsHasBeenSet() const
ReplicationGroup & WithTransitEncryptionEnabled(bool value)
ReplicationGroup & WithDescription(DescriptionT &&value)
const Aws::Vector< LogDeliveryConfiguration > & GetLogDeliveryConfigurations() const
bool AuthTokenEnabledHasBeenSet() const
void SetPendingModifiedValues(PendingModifiedValuesT &&value)
void SetMemberClusters(MemberClustersT &&value)
void SetSnapshotRetentionLimit(int value)
void SetIpDiscovery(IpDiscovery value)
void SetReplicationGroupId(ReplicationGroupIdT &&value)
bool GetAutoMinorVersionUpgrade() const
void SetEngine(EngineT &&value)
ReplicationGroup & WithSnapshotWindow(SnapshotWindowT &&value)
AWS_ELASTICACHE_API ReplicationGroup(const Aws::Utils::Xml::XmlNode &xmlNode)
bool NetworkTypeHasBeenSet() const
bool ARNHasBeenSet() const
ReplicationGroup & WithMultiAZ(MultiAZStatus value)
const Aws::String & GetStatus() const
void SetAtRestEncryptionEnabled(bool value)
ReplicationGroup & WithAuthTokenLastModifiedDate(AuthTokenLastModifiedDateT &&value)
bool TransitEncryptionEnabledHasBeenSet() const
const GlobalReplicationGroupInfo & GetGlobalReplicationGroupInfo() const
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool MemberClustersHasBeenSet() const
void SetKmsKeyId(KmsKeyIdT &&value)
ReplicationGroup & WithConfigurationEndpoint(ConfigurationEndpointT &&value)
ReplicationGroup & WithClusterMode(ClusterMode value)
bool SnapshottingClusterIdHasBeenSet() const
ReplicationGroup & WithPendingModifiedValues(PendingModifiedValuesT &&value)
ClusterMode GetClusterMode() const
ReplicationGroup & WithReplicationGroupCreateTime(ReplicationGroupCreateTimeT &&value)
void SetTransitEncryptionEnabled(bool value)
ReplicationGroup & WithClusterEnabled(bool value)
bool NodeGroupsHasBeenSet() const
ReplicationGroup & WithAutoMinorVersionUpgrade(bool value)
bool DataTieringHasBeenSet() const
AutomaticFailoverStatus GetAutomaticFailover() const
void SetAuthTokenLastModifiedDate(AuthTokenLastModifiedDateT &&value)
const Aws::String & GetSnapshotWindow() const
bool AtRestEncryptionEnabledHasBeenSet() const
const Aws::String & GetKmsKeyId() const
const Aws::String & GetDescription() const
ReplicationGroup & AddNodeGroups(NodeGroupsT &&value)
int GetSnapshotRetentionLimit() const
void SetStatus(StatusT &&value)
ReplicationGroup & WithAutomaticFailover(AutomaticFailoverStatus value)
const Aws::Vector< Aws::String > & GetMemberClusters() const
void SetReplicationGroupCreateTime(ReplicationGroupCreateTimeT &&value)
ReplicationGroup & WithIpDiscovery(IpDiscovery value)
AWS_ELASTICACHE_API ReplicationGroup & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool MultiAZHasBeenSet() const
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ReplicationGroup & WithTransitEncryptionMode(TransitEncryptionMode value)
ReplicationGroup & WithSnapshotRetentionLimit(int value)
ReplicationGroup & WithNetworkType(NetworkType value)
void SetClusterMode(ClusterMode value)
bool ReplicationGroupIdHasBeenSet() const
const Aws::Vector< Aws::String > & GetUserGroupIds() const
const Aws::String & GetSnapshottingClusterId() const
ReplicationGroup & WithMemberClustersOutpostArns(MemberClustersOutpostArnsT &&value)
MultiAZStatus GetMultiAZ() const
void SetARN(ARNT &&value)
ReplicationGroup & WithMemberClusters(MemberClustersT &&value)
ReplicationGroup & WithDataTiering(DataTieringStatus value)
void SetClusterEnabled(bool value)
ReplicationGroup & WithSnapshottingClusterId(SnapshottingClusterIdT &&value)
void SetTransitEncryptionMode(TransitEncryptionMode value)
void SetGlobalReplicationGroupInfo(GlobalReplicationGroupInfoT &&value)
bool TransitEncryptionModeHasBeenSet() const
bool CacheNodeTypeHasBeenSet() const
ReplicationGroup & WithEngine(EngineT &&value)
bool StatusHasBeenSet() const
ReplicationGroup & WithStatus(StatusT &&value)
void SetDataTiering(DataTieringStatus value)
void SetLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
void SetAuthTokenEnabled(bool value)
ReplicationGroup & WithLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
const Aws::Utils::DateTime & GetAuthTokenLastModifiedDate() const
void SetMemberClustersOutpostArns(MemberClustersOutpostArnsT &&value)
const Aws::String & GetARN() const
bool SnapshotWindowHasBeenSet() const
ReplicationGroup & WithARN(ARNT &&value)
void SetConfigurationEndpoint(ConfigurationEndpointT &&value)
ReplicationGroup & AddUserGroupIds(UserGroupIdsT &&value)
bool GetAuthTokenEnabled() const
bool DescriptionHasBeenSet() const
ReplicationGroup & WithNodeGroups(NodeGroupsT &&value)
ReplicationGroup & WithKmsKeyId(KmsKeyIdT &&value)
void SetDescription(DescriptionT &&value)
bool PendingModifiedValuesHasBeenSet() const
bool GetTransitEncryptionEnabled() const
IpDiscovery GetIpDiscovery() const
bool AuthTokenLastModifiedDateHasBeenSet() const
ReplicationGroup & WithReplicationGroupId(ReplicationGroupIdT &&value)
void SetNodeGroups(NodeGroupsT &&value)
bool LogDeliveryConfigurationsHasBeenSet() const
bool EngineHasBeenSet() const
const Aws::Vector< Aws::String > & GetMemberClustersOutpostArns() const
ReplicationGroup & AddMemberClustersOutpostArns(MemberClustersOutpostArnsT &&value)
const Aws::String & GetCacheNodeType() const
void SetMultiAZ(MultiAZStatus value)
AWS_ELASTICACHE_API ReplicationGroup()=default
ReplicationGroup & WithCacheNodeType(CacheNodeTypeT &&value)
ReplicationGroup & AddLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
void SetUserGroupIds(UserGroupIdsT &&value)
const Endpoint & GetConfigurationEndpoint() const
const Aws::Vector< NodeGroup > & GetNodeGroups() const
bool KmsKeyIdHasBeenSet() const
bool ReplicationGroupCreateTimeHasBeenSet() const
bool GlobalReplicationGroupInfoHasBeenSet() const
bool GetClusterEnabled() const
bool GetAtRestEncryptionEnabled() const
NetworkType GetNetworkType() const
void SetSnapshottingClusterId(SnapshottingClusterIdT &&value)
bool UserGroupIdsHasBeenSet() const
bool AutoMinorVersionUpgradeHasBeenSet() const
bool ClusterModeHasBeenSet() const
ReplicationGroup & WithAuthTokenEnabled(bool value)
bool IpDiscoveryHasBeenSet() const
bool ClusterEnabledHasBeenSet() const
const Aws::Utils::DateTime & GetReplicationGroupCreateTime() const
void SetSnapshotWindow(SnapshotWindowT &&value)
TransitEncryptionMode GetTransitEncryptionMode() const
const ReplicationGroupPendingModifiedValues & GetPendingModifiedValues() const
void SetAutoMinorVersionUpgrade(bool value)
ReplicationGroup & WithAtRestEncryptionEnabled(bool value)
ReplicationGroup & WithUserGroupIds(UserGroupIdsT &&value)
ReplicationGroup & WithGlobalReplicationGroupInfo(GlobalReplicationGroupInfoT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream