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/Endpoint.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/elasticache/model/PendingModifiedValues.h>
13#include <aws/elasticache/model/NotificationConfiguration.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/elasticache/model/CacheParameterGroupStatus.h>
16#include <aws/elasticache/model/NetworkType.h>
17#include <aws/elasticache/model/IpDiscovery.h>
18#include <aws/elasticache/model/TransitEncryptionMode.h>
19#include <aws/elasticache/model/CacheSecurityGroupMembership.h>
20#include <aws/elasticache/model/CacheNode.h>
21#include <aws/elasticache/model/SecurityGroupMembership.h>
22#include <aws/elasticache/model/LogDeliveryConfiguration.h>
63 template<
typename CacheClusterIdT = Aws::String>
64 void SetCacheClusterId(CacheClusterIdT&& value) { m_cacheClusterIdHasBeenSet =
true; m_cacheClusterId = std::forward<CacheClusterIdT>(value); }
65 template<
typename CacheClusterIdT = Aws::String>
78 template<
typename ConfigurationEndpo
intT = Endpo
int>
79 void SetConfigurationEndpoint(ConfigurationEndpointT&& value) { m_configurationEndpointHasBeenSet =
true; m_configurationEndpoint = std::forward<ConfigurationEndpointT>(value); }
80 template<
typename ConfigurationEndpo
intT = Endpo
int>
91 template<
typename ClientDownloadLandingPageT = Aws::String>
92 void SetClientDownloadLandingPage(ClientDownloadLandingPageT&& value) { m_clientDownloadLandingPageHasBeenSet =
true; m_clientDownloadLandingPage = std::forward<ClientDownloadLandingPageT>(value); }
93 template<
typename ClientDownloadLandingPageT = Aws::String>
175 template<
typename CacheNodeTypeT = Aws::String>
176 void SetCacheNodeType(CacheNodeTypeT&& value) { m_cacheNodeTypeHasBeenSet =
true; m_cacheNodeType = std::forward<CacheNodeTypeT>(value); }
177 template<
typename CacheNodeTypeT = Aws::String>
188 template<
typename EngineT = Aws::String>
189 void SetEngine(EngineT&& value) { m_engineHasBeenSet =
true; m_engine = std::forward<EngineT>(value); }
190 template<
typename EngineT = Aws::String>
200 template<
typename EngineVersionT = Aws::String>
201 void SetEngineVersion(EngineVersionT&& value) { m_engineVersionHasBeenSet =
true; m_engineVersion = std::forward<EngineVersionT>(value); }
202 template<
typename EngineVersionT = Aws::String>
216 template<
typename CacheClusterStatusT = Aws::String>
217 void SetCacheClusterStatus(CacheClusterStatusT&& value) { m_cacheClusterStatusHasBeenSet =
true; m_cacheClusterStatus = std::forward<CacheClusterStatusT>(value); }
218 template<
typename CacheClusterStatusT = Aws::String>
230 inline void SetNumCacheNodes(
int value) { m_numCacheNodesHasBeenSet =
true; m_numCacheNodes = value; }
241 template<
typename PreferredAvailabilityZoneT = Aws::String>
242 void SetPreferredAvailabilityZone(PreferredAvailabilityZoneT&& value) { m_preferredAvailabilityZoneHasBeenSet =
true; m_preferredAvailabilityZone = std::forward<PreferredAvailabilityZoneT>(value); }
243 template<
typename PreferredAvailabilityZoneT = Aws::String>
253 template<
typename PreferredOutpostArnT = Aws::String>
254 void SetPreferredOutpostArn(PreferredOutpostArnT&& value) { m_preferredOutpostArnHasBeenSet =
true; m_preferredOutpostArn = std::forward<PreferredOutpostArnT>(value); }
255 template<
typename PreferredOutpostArnT = Aws::String>
265 template<
typename CacheClusterCreateTimeT = Aws::Utils::DateTime>
266 void SetCacheClusterCreateTime(CacheClusterCreateTimeT&& value) { m_cacheClusterCreateTimeHasBeenSet =
true; m_cacheClusterCreateTime = std::forward<CacheClusterCreateTimeT>(value); }
267 template<
typename CacheClusterCreateTimeT = Aws::Utils::DateTime>
284 template<
typename PreferredMa
intenanceWindowT = Aws::String>
285 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) { m_preferredMaintenanceWindowHasBeenSet =
true; m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value); }
286 template<
typename PreferredMa
intenanceWindowT = Aws::String>
294 template<
typename PendingModifiedValuesT = PendingModifiedValues>
295 void SetPendingModifiedValues(PendingModifiedValuesT&& value) { m_pendingModifiedValuesHasBeenSet =
true; m_pendingModifiedValues = std::forward<PendingModifiedValuesT>(value); }
296 template<
typename PendingModifiedValuesT = PendingModifiedValues>
308 template<
typename NotificationConfigurationT = NotificationConfiguration>
309 void SetNotificationConfiguration(NotificationConfigurationT&& value) { m_notificationConfigurationHasBeenSet =
true; m_notificationConfiguration = std::forward<NotificationConfigurationT>(value); }
310 template<
typename NotificationConfigurationT = NotificationConfiguration>
321 template<
typename CacheSecurityGroupsT = Aws::Vector<CacheSecurityGroupMembership>>
322 void SetCacheSecurityGroups(CacheSecurityGroupsT&& value) { m_cacheSecurityGroupsHasBeenSet =
true; m_cacheSecurityGroups = std::forward<CacheSecurityGroupsT>(value); }
323 template<
typename CacheSecurityGroupsT = Aws::Vector<CacheSecurityGroupMembership>>
325 template<
typename CacheSecurityGroupsT = CacheSecurityGroupMembership>
326 CacheCluster&
AddCacheSecurityGroups(CacheSecurityGroupsT&& value) { m_cacheSecurityGroupsHasBeenSet =
true; m_cacheSecurityGroups.emplace_back(std::forward<CacheSecurityGroupsT>(value));
return *
this; }
335 template<
typename CacheParameterGroupT = CacheParameterGroupStatus>
336 void SetCacheParameterGroup(CacheParameterGroupT&& value) { m_cacheParameterGroupHasBeenSet =
true; m_cacheParameterGroup = std::forward<CacheParameterGroupT>(value); }
337 template<
typename CacheParameterGroupT = CacheParameterGroupStatus>
347 template<
typename CacheSubnetGroupNameT = Aws::String>
348 void SetCacheSubnetGroupName(CacheSubnetGroupNameT&& value) { m_cacheSubnetGroupNameHasBeenSet =
true; m_cacheSubnetGroupName = std::forward<CacheSubnetGroupNameT>(value); }
349 template<
typename CacheSubnetGroupNameT = Aws::String>
359 template<
typename CacheNodesT = Aws::Vector<CacheNode>>
360 void SetCacheNodes(CacheNodesT&& value) { m_cacheNodesHasBeenSet =
true; m_cacheNodes = std::forward<CacheNodesT>(value); }
361 template<
typename CacheNodesT = Aws::Vector<CacheNode>>
363 template<
typename CacheNodesT = CacheNode>
364 CacheCluster&
AddCacheNodes(CacheNodesT&& value) { m_cacheNodesHasBeenSet =
true; m_cacheNodes.emplace_back(std::forward<CacheNodesT>(value));
return *
this; }
385 template<
typename SecurityGroupsT = Aws::Vector<SecurityGroupMembership>>
386 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet =
true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
387 template<
typename SecurityGroupsT = Aws::Vector<SecurityGroupMembership>>
389 template<
typename SecurityGroupsT = SecurityGroupMembership>
390 CacheCluster&
AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet =
true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
return *
this; }
400 template<
typename ReplicationGroupIdT = Aws::String>
401 void SetReplicationGroupId(ReplicationGroupIdT&& value) { m_replicationGroupIdHasBeenSet =
true; m_replicationGroupId = std::forward<ReplicationGroupIdT>(value); }
402 template<
typename ReplicationGroupIdT = Aws::String>
428 template<
typename SnapshotWindowT = Aws::String>
429 void SetSnapshotWindow(SnapshotWindowT&& value) { m_snapshotWindowHasBeenSet =
true; m_snapshotWindow = std::forward<SnapshotWindowT>(value); }
430 template<
typename SnapshotWindowT = Aws::String>
441 inline void SetAuthTokenEnabled(
bool value) { m_authTokenEnabledHasBeenSet =
true; m_authTokenEnabled = value; }
451 template<
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
452 void SetAuthTokenLastModifiedDate(AuthTokenLastModifiedDateT&& value) { m_authTokenLastModifiedDateHasBeenSet =
true; m_authTokenLastModifiedDate = std::forward<AuthTokenLastModifiedDateT>(value); }
453 template<
typename AuthTokenLastModifiedDateT = Aws::Utils::DateTime>
492 template<
typename ARNT = Aws::String>
493 void SetARN(ARNT&& value) { m_aRNHasBeenSet =
true; m_aRN = std::forward<ARNT>(value); }
494 template<
typename ARNT = Aws::String>
515 template<
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
516 void SetLogDeliveryConfigurations(LogDeliveryConfigurationsT&& value) { m_logDeliveryConfigurationsHasBeenSet =
true; m_logDeliveryConfigurations = std::forward<LogDeliveryConfigurationsT>(value); }
517 template<
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfiguration>>
519 template<
typename LogDeliveryConfigurationsT = LogDeliveryConfiguration>
520 CacheCluster&
AddLogDeliveryConfigurations(LogDeliveryConfigurationsT&& value) { m_logDeliveryConfigurationsHasBeenSet =
true; m_logDeliveryConfigurations.emplace_back(std::forward<LogDeliveryConfigurationsT>(value));
return *
this; }
564 bool m_cacheClusterIdHasBeenSet =
false;
567 bool m_configurationEndpointHasBeenSet =
false;
570 bool m_clientDownloadLandingPageHasBeenSet =
false;
573 bool m_cacheNodeTypeHasBeenSet =
false;
576 bool m_engineHasBeenSet =
false;
579 bool m_engineVersionHasBeenSet =
false;
582 bool m_cacheClusterStatusHasBeenSet =
false;
584 int m_numCacheNodes{0};
585 bool m_numCacheNodesHasBeenSet =
false;
588 bool m_preferredAvailabilityZoneHasBeenSet =
false;
591 bool m_preferredOutpostArnHasBeenSet =
false;
594 bool m_cacheClusterCreateTimeHasBeenSet =
false;
597 bool m_preferredMaintenanceWindowHasBeenSet =
false;
599 PendingModifiedValues m_pendingModifiedValues;
600 bool m_pendingModifiedValuesHasBeenSet =
false;
602 NotificationConfiguration m_notificationConfiguration;
603 bool m_notificationConfigurationHasBeenSet =
false;
606 bool m_cacheSecurityGroupsHasBeenSet =
false;
608 CacheParameterGroupStatus m_cacheParameterGroup;
609 bool m_cacheParameterGroupHasBeenSet =
false;
612 bool m_cacheSubnetGroupNameHasBeenSet =
false;
615 bool m_cacheNodesHasBeenSet =
false;
617 bool m_autoMinorVersionUpgrade{
false};
618 bool m_autoMinorVersionUpgradeHasBeenSet =
false;
621 bool m_securityGroupsHasBeenSet =
false;
624 bool m_replicationGroupIdHasBeenSet =
false;
626 int m_snapshotRetentionLimit{0};
627 bool m_snapshotRetentionLimitHasBeenSet =
false;
630 bool m_snapshotWindowHasBeenSet =
false;
632 bool m_authTokenEnabled{
false};
633 bool m_authTokenEnabledHasBeenSet =
false;
636 bool m_authTokenLastModifiedDateHasBeenSet =
false;
638 bool m_transitEncryptionEnabled{
false};
639 bool m_transitEncryptionEnabledHasBeenSet =
false;
641 bool m_atRestEncryptionEnabled{
false};
642 bool m_atRestEncryptionEnabledHasBeenSet =
false;
645 bool m_aRNHasBeenSet =
false;
647 bool m_replicationGroupLogDeliveryEnabled{
false};
648 bool m_replicationGroupLogDeliveryEnabledHasBeenSet =
false;
651 bool m_logDeliveryConfigurationsHasBeenSet =
false;
654 bool m_networkTypeHasBeenSet =
false;
657 bool m_ipDiscoveryHasBeenSet =
false;
660 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