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/CacheNode.h>
13#include <aws/elasticache/model/CacheParameterGroupStatus.h>
14#include <aws/elasticache/model/CacheSecurityGroupMembership.h>
15#include <aws/elasticache/model/Endpoint.h>
16#include <aws/elasticache/model/IpDiscovery.h>
17#include <aws/elasticache/model/LogDeliveryConfiguration.h>
18#include <aws/elasticache/model/NetworkType.h>
19#include <aws/elasticache/model/NotificationConfiguration.h>
20#include <aws/elasticache/model/PendingModifiedValues.h>
21#include <aws/elasticache/model/SecurityGroupMembership.h>
22#include <aws/elasticache/model/TransitEncryptionMode.h>
32namespace ElastiCache {
57 template <
typename CacheClusterIdT = Aws::String>
59 m_cacheClusterIdHasBeenSet =
true;
60 m_cacheClusterId = std::forward<CacheClusterIdT>(value);
62 template <
typename CacheClusterIdT = Aws::String>
78 template <
typename ConfigurationEndpo
intT = Endpo
int>
80 m_configurationEndpointHasBeenSet =
true;
81 m_configurationEndpoint = std::forward<ConfigurationEndpointT>(value);
83 template <
typename ConfigurationEndpo
intT = Endpo
int>
97 template <
typename ClientDownloadLandingPageT = Aws::String>
99 m_clientDownloadLandingPageHasBeenSet =
true;
100 m_clientDownloadLandingPage = std::forward<ClientDownloadLandingPageT>(value);
102 template <
typename ClientDownloadLandingPageT = Aws::String>
187 template <
typename CacheNodeTypeT = Aws::String>
189 m_cacheNodeTypeHasBeenSet =
true;
190 m_cacheNodeType = std::forward<CacheNodeTypeT>(value);
192 template <
typename CacheNodeTypeT = Aws::String>
206 template <
typename EngineT = Aws::String>
208 m_engineHasBeenSet =
true;
209 m_engine = std::forward<EngineT>(value);
211 template <
typename EngineT = Aws::String>
224 template <
typename EngineVersionT = Aws::String>
226 m_engineVersionHasBeenSet =
true;
227 m_engineVersion = std::forward<EngineVersionT>(value);
229 template <
typename EngineVersionT = Aws::String>
246 template <
typename CacheClusterStatusT = Aws::String>
248 m_cacheClusterStatusHasBeenSet =
true;
249 m_cacheClusterStatus = std::forward<CacheClusterStatusT>(value);
251 template <
typename CacheClusterStatusT = Aws::String>
267 m_numCacheNodesHasBeenSet =
true;
268 m_numCacheNodes = value;
283 template <
typename PreferredAvailabilityZoneT = Aws::String>
285 m_preferredAvailabilityZoneHasBeenSet =
true;
286 m_preferredAvailabilityZone = std::forward<PreferredAvailabilityZoneT>(value);
288 template <
typename PreferredAvailabilityZoneT = Aws::String>
301 template <
typename PreferredOutpostArnT = Aws::String>
303 m_preferredOutpostArnHasBeenSet =
true;
304 m_preferredOutpostArn = std::forward<PreferredOutpostArnT>(value);
306 template <
typename PreferredOutpostArnT = Aws::String>
319 template <
typename CacheClusterCreateTimeT = Aws::Utils::DateTime>
321 m_cacheClusterCreateTimeHasBeenSet =
true;
322 m_cacheClusterCreateTime = std::forward<CacheClusterCreateTimeT>(value);
324 template <
typename CacheClusterCreateTimeT = Aws::Utils::DateTime>
344 template <
typename PreferredMa
intenanceWindowT = Aws::String>
346 m_preferredMaintenanceWindowHasBeenSet =
true;
347 m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value);
349 template <
typename PreferredMa
intenanceWindowT = Aws::String>
360 template <
typename PendingModifiedValuesT = PendingModifiedValues>
362 m_pendingModifiedValuesHasBeenSet =
true;
363 m_pendingModifiedValues = std::forward<PendingModifiedValuesT>(value);
365 template <
typename PendingModifiedValuesT = PendingModifiedValues>
380 template <
typename NotificationConfigurationT = NotificationConfiguration>
382 m_notificationConfigurationHasBeenSet =
true;
383 m_notificationConfiguration = std::forward<NotificationConfigurationT>(value);
385 template <
typename NotificationConfigurationT = NotificationConfiguration>
399 template <
typename CacheSecurityGroupsT = Aws::Vector<CacheSecurityGroupMembership>>
401 m_cacheSecurityGroupsHasBeenSet =
true;
402 m_cacheSecurityGroups = std::forward<CacheSecurityGroupsT>(value);
404 template <
typename CacheSecurityGroupsT = Aws::Vector<CacheSecurityGroupMembership>>
409 template <
typename CacheSecurityGroupsT = CacheSecurityGroupMembership>
411 m_cacheSecurityGroupsHasBeenSet =
true;
412 m_cacheSecurityGroups.emplace_back(std::forward<CacheSecurityGroupsT>(value));
423 template <
typename CacheParameterGroupT = CacheParameterGroupStatus>
425 m_cacheParameterGroupHasBeenSet =
true;
426 m_cacheParameterGroup = std::forward<CacheParameterGroupT>(value);
428 template <
typename CacheParameterGroupT = CacheParameterGroupStatus>
441 template <
typename CacheSubnetGroupNameT = Aws::String>
443 m_cacheSubnetGroupNameHasBeenSet =
true;
444 m_cacheSubnetGroupName = std::forward<CacheSubnetGroupNameT>(value);
446 template <
typename CacheSubnetGroupNameT = Aws::String>
459 template <
typename CacheNodesT = Aws::Vector<CacheNode>>
461 m_cacheNodesHasBeenSet =
true;
462 m_cacheNodes = std::forward<CacheNodesT>(value);
464 template <
typename CacheNodesT = Aws::Vector<CacheNode>>
469 template <
typename CacheNodesT = CacheNode>
471 m_cacheNodesHasBeenSet =
true;
472 m_cacheNodes.emplace_back(std::forward<CacheNodesT>(value));
486 m_autoMinorVersionUpgradeHasBeenSet =
true;
487 m_autoMinorVersionUpgrade = value;
501 template <
typename SecurityGroupsT = Aws::Vector<SecurityGroupMembership>>
503 m_securityGroupsHasBeenSet =
true;
504 m_securityGroups = std::forward<SecurityGroupsT>(value);
506 template <
typename SecurityGroupsT = Aws::Vector<SecurityGroupMembership>>
511 template <
typename SecurityGroupsT = SecurityGroupMembership>
513 m_securityGroupsHasBeenSet =
true;
514 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
526 template <
typename ReplicationGroupIdT = Aws::String>
528 m_replicationGroupIdHasBeenSet =
true;
529 m_replicationGroupId = std::forward<ReplicationGroupIdT>(value);
531 template <
typename ReplicationGroupIdT = Aws::String>
550 m_snapshotRetentionLimitHasBeenSet =
true;
551 m_snapshotRetentionLimit = value;
566 template <
typename SnapshotWindowT = Aws::String>
568 m_snapshotWindowHasBeenSet =
true;
569 m_snapshotWindow = std::forward<SnapshotWindowT>(value);
571 template <
typename SnapshotWindowT = Aws::String>
586 m_authTokenEnabledHasBeenSet =
true;
587 m_authTokenEnabled = value;
601 template <
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
603 m_authTokenLastModifiedDateHasBeenSet =
true;
604 m_authTokenLastModifiedDate = std::forward<AuthTokenLastModifiedDateT>(value);
606 template <
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
623 m_transitEncryptionEnabledHasBeenSet =
true;
624 m_transitEncryptionEnabled = value;
645 m_atRestEncryptionEnabledHasBeenSet =
true;
646 m_atRestEncryptionEnabled = value;
660 template <
typename ARNT = Aws::String>
662 m_aRNHasBeenSet =
true;
663 m_aRN = std::forward<ARNT>(value);
665 template <
typename ARNT = Aws::String>
667 SetARN(std::forward<ARNT>(value));
680 m_replicationGroupLogDeliveryEnabledHasBeenSet =
true;
681 m_replicationGroupLogDeliveryEnabled = value;
695 template <
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
697 m_logDeliveryConfigurationsHasBeenSet =
true;
698 m_logDeliveryConfigurations = std::forward<LogDeliveryConfigurationsT>(value);
700 template <
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
705 template <
typename LogDeliveryConfigurationsT = LogDeliveryConfiguration>
707 m_logDeliveryConfigurationsHasBeenSet =
true;
708 m_logDeliveryConfigurations.emplace_back(std::forward<LogDeliveryConfigurationsT>(value));
724 m_networkTypeHasBeenSet =
true;
725 m_networkType = value;
744 m_ipDiscoveryHasBeenSet =
true;
745 m_ipDiscovery = value;
761 m_transitEncryptionModeHasBeenSet =
true;
762 m_transitEncryptionMode = value;
784 int m_numCacheNodes{0};
794 PendingModifiedValues m_pendingModifiedValues;
796 NotificationConfiguration m_notificationConfiguration;
800 CacheParameterGroupStatus m_cacheParameterGroup;
806 bool m_autoMinorVersionUpgrade{
false};
812 int m_snapshotRetentionLimit{0};
816 bool m_authTokenEnabled{
false};
820 bool m_transitEncryptionEnabled{
false};
822 bool m_atRestEncryptionEnabled{
false};
826 bool m_replicationGroupLogDeliveryEnabled{
false};
835 bool m_cacheClusterIdHasBeenSet =
false;
836 bool m_configurationEndpointHasBeenSet =
false;
837 bool m_clientDownloadLandingPageHasBeenSet =
false;
838 bool m_cacheNodeTypeHasBeenSet =
false;
839 bool m_engineHasBeenSet =
false;
840 bool m_engineVersionHasBeenSet =
false;
841 bool m_cacheClusterStatusHasBeenSet =
false;
842 bool m_numCacheNodesHasBeenSet =
false;
843 bool m_preferredAvailabilityZoneHasBeenSet =
false;
844 bool m_preferredOutpostArnHasBeenSet =
false;
845 bool m_cacheClusterCreateTimeHasBeenSet =
false;
846 bool m_preferredMaintenanceWindowHasBeenSet =
false;
847 bool m_pendingModifiedValuesHasBeenSet =
false;
848 bool m_notificationConfigurationHasBeenSet =
false;
849 bool m_cacheSecurityGroupsHasBeenSet =
false;
850 bool m_cacheParameterGroupHasBeenSet =
false;
851 bool m_cacheSubnetGroupNameHasBeenSet =
false;
852 bool m_cacheNodesHasBeenSet =
false;
853 bool m_autoMinorVersionUpgradeHasBeenSet =
false;
854 bool m_securityGroupsHasBeenSet =
false;
855 bool m_replicationGroupIdHasBeenSet =
false;
856 bool m_snapshotRetentionLimitHasBeenSet =
false;
857 bool m_snapshotWindowHasBeenSet =
false;
858 bool m_authTokenEnabledHasBeenSet =
false;
859 bool m_authTokenLastModifiedDateHasBeenSet =
false;
860 bool m_transitEncryptionEnabledHasBeenSet =
false;
861 bool m_atRestEncryptionEnabledHasBeenSet =
false;
862 bool m_aRNHasBeenSet =
false;
863 bool m_replicationGroupLogDeliveryEnabledHasBeenSet =
false;
864 bool m_logDeliveryConfigurationsHasBeenSet =
false;
865 bool m_networkTypeHasBeenSet =
false;
866 bool m_ipDiscoveryHasBeenSet =
false;
867 bool m_transitEncryptionModeHasBeenSet =
false;
void SetNumCacheNodes(int value)
void SetSnapshotRetentionLimit(int value)
const Aws::String & GetCacheNodeType() const
bool SnapshotWindowHasBeenSet() const
CacheCluster & WithAutoMinorVersionUpgrade(bool value)
void SetReplicationGroupId(ReplicationGroupIdT &&value)
IpDiscovery GetIpDiscovery() const
CacheCluster & WithCacheSecurityGroups(CacheSecurityGroupsT &&value)
void SetLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
bool SnapshotRetentionLimitHasBeenSet() const
bool PreferredOutpostArnHasBeenSet() const
CacheCluster & WithSnapshotRetentionLimit(int value)
bool EngineVersionHasBeenSet() const
void SetCacheParameterGroup(CacheParameterGroupT &&value)
void SetCacheSubnetGroupName(CacheSubnetGroupNameT &&value)
CacheCluster & WithPreferredAvailabilityZone(PreferredAvailabilityZoneT &&value)
const Aws::String & GetCacheSubnetGroupName() const
bool AuthTokenLastModifiedDateHasBeenSet() const
void SetARN(ARNT &&value)
bool ClientDownloadLandingPageHasBeenSet() const
void SetTransitEncryptionEnabled(bool value)
const Aws::String & GetClientDownloadLandingPage() const
bool IpDiscoveryHasBeenSet() const
bool LogDeliveryConfigurationsHasBeenSet() const
bool AutoMinorVersionUpgradeHasBeenSet() const
CacheCluster & WithIpDiscovery(IpDiscovery value)
void SetReplicationGroupLogDeliveryEnabled(bool value)
int GetNumCacheNodes() const
const Aws::String & GetCacheClusterId() const
const Aws::String & GetSnapshotWindow() const
const Aws::String & GetPreferredOutpostArn() const
bool ReplicationGroupIdHasBeenSet() const
bool GetReplicationGroupLogDeliveryEnabled() const
const CacheParameterGroupStatus & GetCacheParameterGroup() const
void SetAutoMinorVersionUpgrade(bool value)
TransitEncryptionMode GetTransitEncryptionMode() const
bool EngineHasBeenSet() const
CacheCluster & WithCacheClusterCreateTime(CacheClusterCreateTimeT &&value)
const Aws::Vector< CacheSecurityGroupMembership > & GetCacheSecurityGroups() const
void SetPendingModifiedValues(PendingModifiedValuesT &&value)
bool GetAutoMinorVersionUpgrade() const
bool ARNHasBeenSet() const
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &oStream, const char *location) const
CacheCluster & WithARN(ARNT &&value)
bool TransitEncryptionModeHasBeenSet() const
bool AtRestEncryptionEnabledHasBeenSet() const
const Endpoint & GetConfigurationEndpoint() const
const Aws::String & GetCacheClusterStatus() const
const Aws::String & GetPreferredMaintenanceWindow() const
bool NumCacheNodesHasBeenSet() const
CacheCluster & WithPendingModifiedValues(PendingModifiedValuesT &&value)
bool PreferredAvailabilityZoneHasBeenSet() const
void SetAtRestEncryptionEnabled(bool value)
void SetCacheSecurityGroups(CacheSecurityGroupsT &&value)
CacheCluster & WithSecurityGroups(SecurityGroupsT &&value)
int GetSnapshotRetentionLimit() const
CacheCluster & WithConfigurationEndpoint(ConfigurationEndpointT &&value)
CacheCluster & WithLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
CacheCluster & WithNetworkType(NetworkType value)
CacheCluster & WithCacheSubnetGroupName(CacheSubnetGroupNameT &&value)
bool NotificationConfigurationHasBeenSet() const
bool PendingModifiedValuesHasBeenSet() const
bool CacheClusterCreateTimeHasBeenSet() const
CacheCluster & WithCacheNodeType(CacheNodeTypeT &&value)
void SetCacheNodeType(CacheNodeTypeT &&value)
CacheCluster & WithTransitEncryptionMode(TransitEncryptionMode value)
void SetClientDownloadLandingPage(ClientDownloadLandingPageT &&value)
CacheCluster & WithCacheClusterId(CacheClusterIdT &&value)
void SetTransitEncryptionMode(TransitEncryptionMode value)
bool SecurityGroupsHasBeenSet() const
CacheCluster & WithCacheParameterGroup(CacheParameterGroupT &&value)
void SetSnapshotWindow(SnapshotWindowT &&value)
CacheCluster & WithTransitEncryptionEnabled(bool value)
const Aws::String & GetEngineVersion() const
NetworkType GetNetworkType() const
bool CacheSubnetGroupNameHasBeenSet() const
AWS_ELASTICACHE_API CacheCluster(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetEngine() const
void SetEngineVersion(EngineVersionT &&value)
CacheCluster & WithNumCacheNodes(int value)
CacheCluster & WithEngineVersion(EngineVersionT &&value)
const Aws::String & GetReplicationGroupId() const
bool CacheNodeTypeHasBeenSet() const
void SetPreferredOutpostArn(PreferredOutpostArnT &&value)
bool ConfigurationEndpointHasBeenSet() const
const Aws::Vector< CacheNode > & GetCacheNodes() const
CacheCluster & WithReplicationGroupLogDeliveryEnabled(bool value)
CacheCluster & WithNotificationConfiguration(NotificationConfigurationT &&value)
bool PreferredMaintenanceWindowHasBeenSet() const
CacheCluster & AddCacheSecurityGroups(CacheSecurityGroupsT &&value)
void SetSecurityGroups(SecurityGroupsT &&value)
bool GetAuthTokenEnabled() const
bool GetTransitEncryptionEnabled() const
const Aws::Utils::DateTime & GetCacheClusterCreateTime() const
void SetNotificationConfiguration(NotificationConfigurationT &&value)
bool CacheClusterIdHasBeenSet() const
AWS_ELASTICACHE_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Utils::DateTime & GetAuthTokenLastModifiedDate() const
void SetNetworkType(NetworkType value)
const Aws::Vector< LogDeliveryConfiguration > & GetLogDeliveryConfigurations() const
CacheCluster & WithAuthTokenEnabled(bool value)
CacheCluster & AddSecurityGroups(SecurityGroupsT &&value)
void SetEngine(EngineT &&value)
void SetCacheClusterId(CacheClusterIdT &&value)
bool CacheParameterGroupHasBeenSet() const
const NotificationConfiguration & GetNotificationConfiguration() const
bool GetAtRestEncryptionEnabled() const
AWS_ELASTICACHE_API CacheCluster()=default
bool CacheSecurityGroupsHasBeenSet() const
bool CacheNodesHasBeenSet() const
CacheCluster & WithCacheClusterStatus(CacheClusterStatusT &&value)
AWS_ELASTICACHE_API CacheCluster & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const PendingModifiedValues & GetPendingModifiedValues() const
CacheCluster & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
CacheCluster & WithClientDownloadLandingPage(ClientDownloadLandingPageT &&value)
void SetAuthTokenEnabled(bool value)
const Aws::String & GetARN() const
void SetConfigurationEndpoint(ConfigurationEndpointT &&value)
CacheCluster & WithReplicationGroupId(ReplicationGroupIdT &&value)
void SetCacheClusterCreateTime(CacheClusterCreateTimeT &&value)
bool CacheClusterStatusHasBeenSet() const
CacheCluster & WithAuthTokenLastModifiedDate(AuthTokenLastModifiedDateT &&value)
CacheCluster & AddLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
const Aws::Vector< SecurityGroupMembership > & GetSecurityGroups() const
bool AuthTokenEnabledHasBeenSet() const
CacheCluster & WithPreferredOutpostArn(PreferredOutpostArnT &&value)
CacheCluster & AddCacheNodes(CacheNodesT &&value)
void SetAuthTokenLastModifiedDate(AuthTokenLastModifiedDateT &&value)
void SetPreferredAvailabilityZone(PreferredAvailabilityZoneT &&value)
void SetCacheClusterStatus(CacheClusterStatusT &&value)
CacheCluster & WithSnapshotWindow(SnapshotWindowT &&value)
bool NetworkTypeHasBeenSet() const
CacheCluster & WithEngine(EngineT &&value)
CacheCluster & WithAtRestEncryptionEnabled(bool value)
CacheCluster & WithCacheNodes(CacheNodesT &&value)
bool ReplicationGroupLogDeliveryEnabledHasBeenSet() const
const Aws::String & GetPreferredAvailabilityZone() const
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
bool TransitEncryptionEnabledHasBeenSet() const
void SetCacheNodes(CacheNodesT &&value)
void SetIpDiscovery(IpDiscovery 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