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/Endpoint.h>
16#include <aws/elasticache/model/GlobalReplicationGroupInfo.h>
17#include <aws/elasticache/model/IpDiscovery.h>
18#include <aws/elasticache/model/LogDeliveryConfiguration.h>
19#include <aws/elasticache/model/MultiAZStatus.h>
20#include <aws/elasticache/model/NetworkType.h>
21#include <aws/elasticache/model/NodeGroup.h>
22#include <aws/elasticache/model/ReplicationGroupPendingModifiedValues.h>
23#include <aws/elasticache/model/TransitEncryptionMode.h>
33namespace ElastiCache {
57 template <
typename ReplicationGroupIdT = Aws::String>
59 m_replicationGroupIdHasBeenSet =
true;
60 m_replicationGroupId = std::forward<ReplicationGroupIdT>(value);
62 template <
typename ReplicationGroupIdT = Aws::String>
75 template <
typename DescriptionT = Aws::String>
77 m_descriptionHasBeenSet =
true;
78 m_description = std::forward<DescriptionT>(value);
80 template <
typename DescriptionT = Aws::String>
94 template <
typename GlobalReplicationGroupInfoT = GlobalReplicationGroupInfo>
96 m_globalReplicationGroupInfoHasBeenSet =
true;
97 m_globalReplicationGroupInfo = std::forward<GlobalReplicationGroupInfoT>(value);
99 template <
typename GlobalReplicationGroupInfoT = GlobalReplicationGroupInfo>
114 template <
typename StatusT = Aws::String>
116 m_statusHasBeenSet =
true;
117 m_status = std::forward<StatusT>(value);
119 template <
typename StatusT = Aws::String>
133 template <
typename PendingModifiedValuesT = ReplicationGroupPendingModifiedValues>
135 m_pendingModifiedValuesHasBeenSet =
true;
136 m_pendingModifiedValues = std::forward<PendingModifiedValuesT>(value);
138 template <
typename PendingModifiedValuesT = ReplicationGroupPendingModifiedValues>
152 template <
typename MemberClustersT = Aws::Vector<Aws::String>>
154 m_memberClustersHasBeenSet =
true;
155 m_memberClusters = std::forward<MemberClustersT>(value);
157 template <
typename MemberClustersT = Aws::Vector<Aws::String>>
162 template <
typename MemberClustersT = Aws::String>
164 m_memberClustersHasBeenSet =
true;
165 m_memberClusters.emplace_back(std::forward<MemberClustersT>(value));
179 template <
typename NodeGroupsT = Aws::Vector<NodeGroup>>
181 m_nodeGroupsHasBeenSet =
true;
182 m_nodeGroups = std::forward<NodeGroupsT>(value);
184 template <
typename NodeGroupsT = Aws::Vector<NodeGroup>>
189 template <
typename NodeGroupsT = NodeGroup>
191 m_nodeGroupsHasBeenSet =
true;
192 m_nodeGroups.emplace_back(std::forward<NodeGroupsT>(value));
204 template <
typename SnapshottingClusterIdT = Aws::String>
206 m_snapshottingClusterIdHasBeenSet =
true;
207 m_snapshottingClusterId = std::forward<SnapshottingClusterIdT>(value);
209 template <
typename SnapshottingClusterIdT = Aws::String>
224 m_automaticFailoverHasBeenSet =
true;
225 m_automaticFailover = value;
243 m_multiAZHasBeenSet =
true;
259 template <
typename ConfigurationEndpo
intT = Endpo
int>
261 m_configurationEndpointHasBeenSet =
true;
262 m_configurationEndpoint = std::forward<ConfigurationEndpointT>(value);
264 template <
typename ConfigurationEndpo
intT = Endpo
int>
283 m_snapshotRetentionLimitHasBeenSet =
true;
284 m_snapshotRetentionLimit = value;
302 template <
typename SnapshotWindowT = Aws::String>
304 m_snapshotWindowHasBeenSet =
true;
305 m_snapshotWindow = std::forward<SnapshotWindowT>(value);
307 template <
typename SnapshotWindowT = Aws::String>
323 m_clusterEnabledHasBeenSet =
true;
324 m_clusterEnabled = value;
339 template <
typename CacheNodeTypeT = Aws::String>
341 m_cacheNodeTypeHasBeenSet =
true;
342 m_cacheNodeType = std::forward<CacheNodeTypeT>(value);
344 template <
typename CacheNodeTypeT = Aws::String>
359 m_authTokenEnabledHasBeenSet =
true;
360 m_authTokenEnabled = value;
374 template <
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
376 m_authTokenLastModifiedDateHasBeenSet =
true;
377 m_authTokenLastModifiedDate = std::forward<AuthTokenLastModifiedDateT>(value);
379 template <
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
396 m_transitEncryptionEnabledHasBeenSet =
true;
397 m_transitEncryptionEnabled = value;
418 m_atRestEncryptionEnabledHasBeenSet =
true;
419 m_atRestEncryptionEnabled = value;
433 template <
typename MemberClustersOutpostArnsT = Aws::Vector<Aws::String>>
435 m_memberClustersOutpostArnsHasBeenSet =
true;
436 m_memberClustersOutpostArns = std::forward<MemberClustersOutpostArnsT>(value);
438 template <
typename MemberClustersOutpostArnsT = Aws::Vector<Aws::String>>
443 template <
typename MemberClustersOutpostArnsT = Aws::String>
445 m_memberClustersOutpostArnsHasBeenSet =
true;
446 m_memberClustersOutpostArns.emplace_back(std::forward<MemberClustersOutpostArnsT>(value));
457 template <
typename KmsKeyIdT = Aws::String>
459 m_kmsKeyIdHasBeenSet =
true;
460 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
462 template <
typename KmsKeyIdT = Aws::String>
475 template <
typename ARNT = Aws::String>
477 m_aRNHasBeenSet =
true;
478 m_aRN = std::forward<ARNT>(value);
480 template <
typename ARNT = Aws::String>
482 SetARN(std::forward<ARNT>(value));
493 template <
typename UserGroupIdsT = Aws::Vector<Aws::String>>
495 m_userGroupIdsHasBeenSet =
true;
496 m_userGroupIds = std::forward<UserGroupIdsT>(value);
498 template <
typename UserGroupIdsT = Aws::Vector<Aws::String>>
503 template <
typename UserGroupIdsT = Aws::String>
505 m_userGroupIdsHasBeenSet =
true;
506 m_userGroupIds.emplace_back(std::forward<UserGroupIdsT>(value));
517 template <
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
519 m_logDeliveryConfigurationsHasBeenSet =
true;
520 m_logDeliveryConfigurations = std::forward<LogDeliveryConfigurationsT>(value);
522 template <
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
527 template <
typename LogDeliveryConfigurationsT = LogDeliveryConfiguration>
529 m_logDeliveryConfigurationsHasBeenSet =
true;
530 m_logDeliveryConfigurations.emplace_back(std::forward<LogDeliveryConfigurationsT>(value));
541 template <
typename ReplicationGroupCreateTimeT = Aws::Utils::DateTime>
543 m_replicationGroupCreateTimeHasBeenSet =
true;
544 m_replicationGroupCreateTime = std::forward<ReplicationGroupCreateTimeT>(value);
546 template <
typename ReplicationGroupCreateTimeT = Aws::Utils::DateTime>
564 m_dataTieringHasBeenSet =
true;
565 m_dataTiering = value;
582 m_autoMinorVersionUpgradeHasBeenSet =
true;
583 m_autoMinorVersionUpgrade = value;
602 m_networkTypeHasBeenSet =
true;
603 m_networkType = value;
622 m_ipDiscoveryHasBeenSet =
true;
623 m_ipDiscovery = value;
639 m_transitEncryptionModeHasBeenSet =
true;
640 m_transitEncryptionMode = value;
660 m_clusterModeHasBeenSet =
true;
661 m_clusterMode = value;
676 template <
typename EngineT = Aws::String>
678 m_engineHasBeenSet =
true;
679 m_engine = std::forward<EngineT>(value);
681 template <
typename EngineT = Aws::String>
708 Endpoint m_configurationEndpoint;
710 int m_snapshotRetentionLimit{0};
714 bool m_clusterEnabled{
false};
718 bool m_authTokenEnabled{
false};
722 bool m_transitEncryptionEnabled{
false};
724 bool m_atRestEncryptionEnabled{
false};
740 bool m_autoMinorVersionUpgrade{
false};
751 bool m_replicationGroupIdHasBeenSet =
false;
752 bool m_descriptionHasBeenSet =
false;
753 bool m_globalReplicationGroupInfoHasBeenSet =
false;
754 bool m_statusHasBeenSet =
false;
755 bool m_pendingModifiedValuesHasBeenSet =
false;
756 bool m_memberClustersHasBeenSet =
false;
757 bool m_nodeGroupsHasBeenSet =
false;
758 bool m_snapshottingClusterIdHasBeenSet =
false;
759 bool m_automaticFailoverHasBeenSet =
false;
760 bool m_multiAZHasBeenSet =
false;
761 bool m_configurationEndpointHasBeenSet =
false;
762 bool m_snapshotRetentionLimitHasBeenSet =
false;
763 bool m_snapshotWindowHasBeenSet =
false;
764 bool m_clusterEnabledHasBeenSet =
false;
765 bool m_cacheNodeTypeHasBeenSet =
false;
766 bool m_authTokenEnabledHasBeenSet =
false;
767 bool m_authTokenLastModifiedDateHasBeenSet =
false;
768 bool m_transitEncryptionEnabledHasBeenSet =
false;
769 bool m_atRestEncryptionEnabledHasBeenSet =
false;
770 bool m_memberClustersOutpostArnsHasBeenSet =
false;
771 bool m_kmsKeyIdHasBeenSet =
false;
772 bool m_aRNHasBeenSet =
false;
773 bool m_userGroupIdsHasBeenSet =
false;
774 bool m_logDeliveryConfigurationsHasBeenSet =
false;
775 bool m_replicationGroupCreateTimeHasBeenSet =
false;
776 bool m_dataTieringHasBeenSet =
false;
777 bool m_autoMinorVersionUpgradeHasBeenSet =
false;
778 bool m_networkTypeHasBeenSet =
false;
779 bool m_ipDiscoveryHasBeenSet =
false;
780 bool m_transitEncryptionModeHasBeenSet =
false;
781 bool m_clusterModeHasBeenSet =
false;
782 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