7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/elasticache/ElastiCache_EXPORTS.h>
12#include <aws/elasticache/model/AutomaticFailoverStatus.h>
13#include <aws/elasticache/model/ClusterMode.h>
14#include <aws/elasticache/model/DataTieringStatus.h>
15#include <aws/elasticache/model/Durability.h>
16#include <aws/elasticache/model/EffectiveDurability.h>
17#include <aws/elasticache/model/Endpoint.h>
18#include <aws/elasticache/model/GlobalReplicationGroupInfo.h>
19#include <aws/elasticache/model/IpDiscovery.h>
20#include <aws/elasticache/model/LogDeliveryConfiguration.h>
21#include <aws/elasticache/model/MultiAZStatus.h>
22#include <aws/elasticache/model/NetworkType.h>
23#include <aws/elasticache/model/NodeGroup.h>
24#include <aws/elasticache/model/ReplicationGroupPendingModifiedValues.h>
25#include <aws/elasticache/model/StorageEncryptionType.h>
26#include <aws/elasticache/model/TransitEncryptionMode.h>
36namespace ElastiCache {
60 template <
typename ReplicationGroupIdT = Aws::String>
62 m_replicationGroupIdHasBeenSet =
true;
63 m_replicationGroupId = std::forward<ReplicationGroupIdT>(value);
65 template <
typename ReplicationGroupIdT = Aws::String>
78 template <
typename DescriptionT = Aws::String>
80 m_descriptionHasBeenSet =
true;
81 m_description = std::forward<DescriptionT>(value);
83 template <
typename DescriptionT = Aws::String>
97 template <
typename GlobalReplicationGroupInfoT = GlobalReplicationGroupInfo>
99 m_globalReplicationGroupInfoHasBeenSet =
true;
100 m_globalReplicationGroupInfo = std::forward<GlobalReplicationGroupInfoT>(value);
102 template <
typename GlobalReplicationGroupInfoT = GlobalReplicationGroupInfo>
117 template <
typename StatusT = Aws::String>
119 m_statusHasBeenSet =
true;
120 m_status = std::forward<StatusT>(value);
122 template <
typename StatusT = Aws::String>
136 template <
typename PendingModifiedValuesT = ReplicationGroupPendingModifiedValues>
138 m_pendingModifiedValuesHasBeenSet =
true;
139 m_pendingModifiedValues = std::forward<PendingModifiedValuesT>(value);
141 template <
typename PendingModifiedValuesT = ReplicationGroupPendingModifiedValues>
155 template <
typename MemberClustersT = Aws::Vector<Aws::String>>
157 m_memberClustersHasBeenSet =
true;
158 m_memberClusters = std::forward<MemberClustersT>(value);
160 template <
typename MemberClustersT = Aws::Vector<Aws::String>>
165 template <
typename MemberClustersT = Aws::String>
167 m_memberClustersHasBeenSet =
true;
168 m_memberClusters.emplace_back(std::forward<MemberClustersT>(value));
182 template <
typename NodeGroupsT = Aws::Vector<NodeGroup>>
184 m_nodeGroupsHasBeenSet =
true;
185 m_nodeGroups = std::forward<NodeGroupsT>(value);
187 template <
typename NodeGroupsT = Aws::Vector<NodeGroup>>
192 template <
typename NodeGroupsT = NodeGroup>
194 m_nodeGroupsHasBeenSet =
true;
195 m_nodeGroups.emplace_back(std::forward<NodeGroupsT>(value));
207 template <
typename SnapshottingClusterIdT = Aws::String>
209 m_snapshottingClusterIdHasBeenSet =
true;
210 m_snapshottingClusterId = std::forward<SnapshottingClusterIdT>(value);
212 template <
typename SnapshottingClusterIdT = Aws::String>
227 m_automaticFailoverHasBeenSet =
true;
228 m_automaticFailover = value;
246 m_multiAZHasBeenSet =
true;
262 template <
typename ConfigurationEndpo
intT = Endpo
int>
264 m_configurationEndpointHasBeenSet =
true;
265 m_configurationEndpoint = std::forward<ConfigurationEndpointT>(value);
267 template <
typename ConfigurationEndpo
intT = Endpo
int>
286 m_snapshotRetentionLimitHasBeenSet =
true;
287 m_snapshotRetentionLimit = value;
305 template <
typename SnapshotWindowT = Aws::String>
307 m_snapshotWindowHasBeenSet =
true;
308 m_snapshotWindow = std::forward<SnapshotWindowT>(value);
310 template <
typename SnapshotWindowT = Aws::String>
326 m_clusterEnabledHasBeenSet =
true;
327 m_clusterEnabled = value;
342 template <
typename CacheNodeTypeT = Aws::String>
344 m_cacheNodeTypeHasBeenSet =
true;
345 m_cacheNodeType = std::forward<CacheNodeTypeT>(value);
347 template <
typename CacheNodeTypeT = Aws::String>
362 m_authTokenEnabledHasBeenSet =
true;
363 m_authTokenEnabled = value;
377 template <
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
379 m_authTokenLastModifiedDateHasBeenSet =
true;
380 m_authTokenLastModifiedDate = std::forward<AuthTokenLastModifiedDateT>(value);
382 template <
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
399 m_transitEncryptionEnabledHasBeenSet =
true;
400 m_transitEncryptionEnabled = value;
421 m_atRestEncryptionEnabledHasBeenSet =
true;
422 m_atRestEncryptionEnabled = value;
436 template <
typename MemberClustersOutpostArnsT = Aws::Vector<Aws::String>>
438 m_memberClustersOutpostArnsHasBeenSet =
true;
439 m_memberClustersOutpostArns = std::forward<MemberClustersOutpostArnsT>(value);
441 template <
typename MemberClustersOutpostArnsT = Aws::Vector<Aws::String>>
446 template <
typename MemberClustersOutpostArnsT = Aws::String>
448 m_memberClustersOutpostArnsHasBeenSet =
true;
449 m_memberClustersOutpostArns.emplace_back(std::forward<MemberClustersOutpostArnsT>(value));
460 template <
typename KmsKeyIdT = Aws::String>
462 m_kmsKeyIdHasBeenSet =
true;
463 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
465 template <
typename KmsKeyIdT = Aws::String>
482 m_storageEncryptionTypeHasBeenSet =
true;
483 m_storageEncryptionType = value;
497 template <
typename ARNT = Aws::String>
499 m_aRNHasBeenSet =
true;
500 m_aRN = std::forward<ARNT>(value);
502 template <
typename ARNT = Aws::String>
504 SetARN(std::forward<ARNT>(value));
515 template <
typename UserGroupIdsT = Aws::Vector<Aws::String>>
517 m_userGroupIdsHasBeenSet =
true;
518 m_userGroupIds = std::forward<UserGroupIdsT>(value);
520 template <
typename UserGroupIdsT = Aws::Vector<Aws::String>>
525 template <
typename UserGroupIdsT = Aws::String>
527 m_userGroupIdsHasBeenSet =
true;
528 m_userGroupIds.emplace_back(std::forward<UserGroupIdsT>(value));
539 template <
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
541 m_logDeliveryConfigurationsHasBeenSet =
true;
542 m_logDeliveryConfigurations = std::forward<LogDeliveryConfigurationsT>(value);
544 template <
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
549 template <
typename LogDeliveryConfigurationsT = LogDeliveryConfiguration>
551 m_logDeliveryConfigurationsHasBeenSet =
true;
552 m_logDeliveryConfigurations.emplace_back(std::forward<LogDeliveryConfigurationsT>(value));
563 template <
typename ReplicationGroupCreateTimeT = Aws::Utils::DateTime>
565 m_replicationGroupCreateTimeHasBeenSet =
true;
566 m_replicationGroupCreateTime = std::forward<ReplicationGroupCreateTimeT>(value);
568 template <
typename ReplicationGroupCreateTimeT = Aws::Utils::DateTime>
586 m_dataTieringHasBeenSet =
true;
587 m_dataTiering = value;
604 m_autoMinorVersionUpgradeHasBeenSet =
true;
605 m_autoMinorVersionUpgrade = value;
624 m_networkTypeHasBeenSet =
true;
625 m_networkType = value;
644 m_ipDiscoveryHasBeenSet =
true;
645 m_ipDiscovery = value;
661 m_transitEncryptionModeHasBeenSet =
true;
662 m_transitEncryptionMode = value;
682 m_clusterModeHasBeenSet =
true;
683 m_clusterMode = value;
698 template <
typename EngineT = Aws::String>
700 m_engineHasBeenSet =
true;
701 m_engine = std::forward<EngineT>(value);
703 template <
typename EngineT = Aws::String>
718 m_durabilityHasBeenSet =
true;
719 m_durability = value;
739 m_effectiveDurabilityHasBeenSet =
true;
740 m_effectiveDurability = value;
768 Endpoint m_configurationEndpoint;
770 int m_snapshotRetentionLimit{0};
774 bool m_clusterEnabled{
false};
778 bool m_authTokenEnabled{
false};
782 bool m_transitEncryptionEnabled{
false};
784 bool m_atRestEncryptionEnabled{
false};
802 bool m_autoMinorVersionUpgrade{
false};
817 bool m_replicationGroupIdHasBeenSet =
false;
818 bool m_descriptionHasBeenSet =
false;
819 bool m_globalReplicationGroupInfoHasBeenSet =
false;
820 bool m_statusHasBeenSet =
false;
821 bool m_pendingModifiedValuesHasBeenSet =
false;
822 bool m_memberClustersHasBeenSet =
false;
823 bool m_nodeGroupsHasBeenSet =
false;
824 bool m_snapshottingClusterIdHasBeenSet =
false;
825 bool m_automaticFailoverHasBeenSet =
false;
826 bool m_multiAZHasBeenSet =
false;
827 bool m_configurationEndpointHasBeenSet =
false;
828 bool m_snapshotRetentionLimitHasBeenSet =
false;
829 bool m_snapshotWindowHasBeenSet =
false;
830 bool m_clusterEnabledHasBeenSet =
false;
831 bool m_cacheNodeTypeHasBeenSet =
false;
832 bool m_authTokenEnabledHasBeenSet =
false;
833 bool m_authTokenLastModifiedDateHasBeenSet =
false;
834 bool m_transitEncryptionEnabledHasBeenSet =
false;
835 bool m_atRestEncryptionEnabledHasBeenSet =
false;
836 bool m_memberClustersOutpostArnsHasBeenSet =
false;
837 bool m_kmsKeyIdHasBeenSet =
false;
838 bool m_storageEncryptionTypeHasBeenSet =
false;
839 bool m_aRNHasBeenSet =
false;
840 bool m_userGroupIdsHasBeenSet =
false;
841 bool m_logDeliveryConfigurationsHasBeenSet =
false;
842 bool m_replicationGroupCreateTimeHasBeenSet =
false;
843 bool m_dataTieringHasBeenSet =
false;
844 bool m_autoMinorVersionUpgradeHasBeenSet =
false;
845 bool m_networkTypeHasBeenSet =
false;
846 bool m_ipDiscoveryHasBeenSet =
false;
847 bool m_transitEncryptionModeHasBeenSet =
false;
848 bool m_clusterModeHasBeenSet =
false;
849 bool m_engineHasBeenSet =
false;
850 bool m_durabilityHasBeenSet =
false;
851 bool m_effectiveDurabilityHasBeenSet =
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)
void SetStorageEncryptionType(StorageEncryptionType value)
AWS_ELASTICACHE_API ReplicationGroup(const Aws::Utils::Xml::XmlNode &xmlNode)
bool StorageEncryptionTypeHasBeenSet() const
bool NetworkTypeHasBeenSet() const
ReplicationGroup & WithStorageEncryptionType(StorageEncryptionType value)
bool ARNHasBeenSet() const
ReplicationGroup & WithMultiAZ(MultiAZStatus value)
const Aws::String & GetStatus() const
void SetAtRestEncryptionEnabled(bool value)
ReplicationGroup & WithAuthTokenLastModifiedDate(AuthTokenLastModifiedDateT &&value)
void SetDurability(Durability 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)
StorageEncryptionType GetStorageEncryptionType() const
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)
void SetEffectiveDurability(EffectiveDurability 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
EffectiveDurability GetEffectiveDurability() 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
ReplicationGroup & WithDurability(Durability value)
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 EffectiveDurabilityHasBeenSet() const
bool GetAtRestEncryptionEnabled() const
NetworkType GetNetworkType() const
bool DurabilityHasBeenSet() const
void SetSnapshottingClusterId(SnapshottingClusterIdT &&value)
bool UserGroupIdsHasBeenSet() const
Durability GetDurability() 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 & WithEffectiveDurability(EffectiveDurability 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