7#include <aws/elasticache/ElastiCache_EXPORTS.h>
8#include <aws/elasticache/ElastiCacheRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/elasticache/model/AZMode.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/elasticache/model/OutpostMode.h>
13#include <aws/elasticache/model/NetworkType.h>
14#include <aws/elasticache/model/IpDiscovery.h>
15#include <aws/elasticache/model/Tag.h>
16#include <aws/elasticache/model/LogDeliveryConfigurationRequest.h>
60 template<
typename CacheClusterIdT = Aws::String>
61 void SetCacheClusterId(CacheClusterIdT&& value) { m_cacheClusterIdHasBeenSet =
true; m_cacheClusterId = std::forward<CacheClusterIdT>(value); }
62 template<
typename CacheClusterIdT = Aws::String>
79 template<
typename ReplicationGroupIdT = Aws::String>
80 void SetReplicationGroupId(ReplicationGroupIdT&& value) { m_replicationGroupIdHasBeenSet =
true; m_replicationGroupId = std::forward<ReplicationGroupIdT>(value); }
81 template<
typename ReplicationGroupIdT = Aws::String>
95 inline void SetAZMode(
AZMode value) { m_aZModeHasBeenSet =
true; m_aZMode = value; }
109 template<
typename PreferredAvailabilityZoneT = Aws::String>
110 void SetPreferredAvailabilityZone(PreferredAvailabilityZoneT&& value) { m_preferredAvailabilityZoneHasBeenSet =
true; m_preferredAvailabilityZone = std::forward<PreferredAvailabilityZoneT>(value); }
111 template<
typename PreferredAvailabilityZoneT = Aws::String>
130 template<
typename PreferredAvailabilityZonesT = Aws::Vector<Aws::String>>
131 void SetPreferredAvailabilityZones(PreferredAvailabilityZonesT&& value) { m_preferredAvailabilityZonesHasBeenSet =
true; m_preferredAvailabilityZones = std::forward<PreferredAvailabilityZonesT>(value); }
132 template<
typename PreferredAvailabilityZonesT = Aws::Vector<Aws::String>>
134 template<
typename PreferredAvailabilityZonesT = Aws::String>
149 inline void SetNumCacheNodes(
int value) { m_numCacheNodesHasBeenSet =
true; m_numCacheNodes = value; }
231 template<
typename CacheNodeTypeT = Aws::String>
232 void SetCacheNodeType(CacheNodeTypeT&& value) { m_cacheNodeTypeHasBeenSet =
true; m_cacheNodeType = std::forward<CacheNodeTypeT>(value); }
233 template<
typename CacheNodeTypeT = Aws::String>
244 template<
typename EngineT = Aws::String>
245 void SetEngine(EngineT&& value) { m_engineHasBeenSet =
true; m_engine = std::forward<EngineT>(value); }
246 template<
typename EngineT = Aws::String>
264 template<
typename EngineVersionT = Aws::String>
265 void SetEngineVersion(EngineVersionT&& value) { m_engineVersionHasBeenSet =
true; m_engineVersion = std::forward<EngineVersionT>(value); }
266 template<
typename EngineVersionT = Aws::String>
279 template<
typename CacheParameterGroupNameT = Aws::String>
280 void SetCacheParameterGroupName(CacheParameterGroupNameT&& value) { m_cacheParameterGroupNameHasBeenSet =
true; m_cacheParameterGroupName = std::forward<CacheParameterGroupNameT>(value); }
281 template<
typename CacheParameterGroupNameT = Aws::String>
297 template<
typename CacheSubnetGroupNameT = Aws::String>
298 void SetCacheSubnetGroupName(CacheSubnetGroupNameT&& value) { m_cacheSubnetGroupNameHasBeenSet =
true; m_cacheSubnetGroupName = std::forward<CacheSubnetGroupNameT>(value); }
299 template<
typename CacheSubnetGroupNameT = Aws::String>
311 template<
typename CacheSecurityGroupNamesT = Aws::Vector<Aws::String>>
312 void SetCacheSecurityGroupNames(CacheSecurityGroupNamesT&& value) { m_cacheSecurityGroupNamesHasBeenSet =
true; m_cacheSecurityGroupNames = std::forward<CacheSecurityGroupNamesT>(value); }
313 template<
typename CacheSecurityGroupNamesT = Aws::Vector<Aws::String>>
315 template<
typename CacheSecurityGroupNamesT = Aws::String>
327 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
328 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
329 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
331 template<
typename SecurityGroupIdsT = Aws::String>
341 template<
typename TagsT = Aws::Vector<Tag>>
342 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
343 template<
typename TagsT = Aws::Vector<Tag>>
345 template<
typename TagsT = Tag>
361 template<
typename SnapshotArnsT = Aws::Vector<Aws::String>>
362 void SetSnapshotArns(SnapshotArnsT&& value) { m_snapshotArnsHasBeenSet =
true; m_snapshotArns = std::forward<SnapshotArnsT>(value); }
363 template<
typename SnapshotArnsT = Aws::Vector<Aws::String>>
365 template<
typename SnapshotArnsT = Aws::String>
379 template<
typename SnapshotNameT = Aws::String>
380 void SetSnapshotName(SnapshotNameT&& value) { m_snapshotNameHasBeenSet =
true; m_snapshotName = std::forward<SnapshotNameT>(value); }
381 template<
typename SnapshotNameT = Aws::String>
393 template<
typename PreferredMa
intenanceWindowT = Aws::String>
394 void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT&& value) { m_preferredMaintenanceWindowHasBeenSet =
true; m_preferredMaintenanceWindow = std::forward<PreferredMaintenanceWindowT>(value); }
395 template<
typename PreferredMa
intenanceWindowT = Aws::String>
405 inline void SetPort(
int value) { m_portHasBeenSet =
true; m_port = value; }
417 template<
typename NotificationTopicArnT = Aws::String>
418 void SetNotificationTopicArn(NotificationTopicArnT&& value) { m_notificationTopicArnHasBeenSet =
true; m_notificationTopicArn = std::forward<NotificationTopicArnT>(value); }
419 template<
typename NotificationTopicArnT = Aws::String>
460 template<
typename SnapshotWindowT = Aws::String>
461 void SetSnapshotWindow(SnapshotWindowT&& value) { m_snapshotWindowHasBeenSet =
true; m_snapshotWindow = std::forward<SnapshotWindowT>(value); }
462 template<
typename SnapshotWindowT = Aws::String>
479 template<
typename AuthTokenT = Aws::String>
480 void SetAuthToken(AuthTokenT&& value) { m_authTokenHasBeenSet =
true; m_authToken = std::forward<AuthTokenT>(value); }
481 template<
typename AuthTokenT = Aws::String>
502 template<
typename PreferredOutpostArnT = Aws::String>
503 void SetPreferredOutpostArn(PreferredOutpostArnT&& value) { m_preferredOutpostArnHasBeenSet =
true; m_preferredOutpostArn = std::forward<PreferredOutpostArnT>(value); }
504 template<
typename PreferredOutpostArnT = Aws::String>
514 template<
typename PreferredOutpostArnsT = Aws::Vector<Aws::String>>
515 void SetPreferredOutpostArns(PreferredOutpostArnsT&& value) { m_preferredOutpostArnsHasBeenSet =
true; m_preferredOutpostArns = std::forward<PreferredOutpostArnsT>(value); }
516 template<
typename PreferredOutpostArnsT = Aws::Vector<Aws::String>>
518 template<
typename PreferredOutpostArnsT = Aws::String>
528 template<
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfigurationRequest>>
529 void SetLogDeliveryConfigurations(LogDeliveryConfigurationsT&& value) { m_logDeliveryConfigurationsHasBeenSet =
true; m_logDeliveryConfigurations = std::forward<LogDeliveryConfigurationsT>(value); }
530 template<
typename LogDeliveryConfigurationsT = Aws::Vector<LogDeliveryConfigurationRequest>>
532 template<
typename LogDeliveryConfigurationsT = LogDeliveryConfigurationRequest>
576 bool m_cacheClusterIdHasBeenSet =
false;
579 bool m_replicationGroupIdHasBeenSet =
false;
582 bool m_aZModeHasBeenSet =
false;
585 bool m_preferredAvailabilityZoneHasBeenSet =
false;
588 bool m_preferredAvailabilityZonesHasBeenSet =
false;
590 int m_numCacheNodes{0};
591 bool m_numCacheNodesHasBeenSet =
false;
594 bool m_cacheNodeTypeHasBeenSet =
false;
597 bool m_engineHasBeenSet =
false;
600 bool m_engineVersionHasBeenSet =
false;
603 bool m_cacheParameterGroupNameHasBeenSet =
false;
606 bool m_cacheSubnetGroupNameHasBeenSet =
false;
609 bool m_cacheSecurityGroupNamesHasBeenSet =
false;
612 bool m_securityGroupIdsHasBeenSet =
false;
615 bool m_tagsHasBeenSet =
false;
618 bool m_snapshotArnsHasBeenSet =
false;
621 bool m_snapshotNameHasBeenSet =
false;
624 bool m_preferredMaintenanceWindowHasBeenSet =
false;
627 bool m_portHasBeenSet =
false;
630 bool m_notificationTopicArnHasBeenSet =
false;
632 bool m_autoMinorVersionUpgrade{
false};
633 bool m_autoMinorVersionUpgradeHasBeenSet =
false;
635 int m_snapshotRetentionLimit{0};
636 bool m_snapshotRetentionLimitHasBeenSet =
false;
639 bool m_snapshotWindowHasBeenSet =
false;
642 bool m_authTokenHasBeenSet =
false;
645 bool m_outpostModeHasBeenSet =
false;
648 bool m_preferredOutpostArnHasBeenSet =
false;
651 bool m_preferredOutpostArnsHasBeenSet =
false;
654 bool m_logDeliveryConfigurationsHasBeenSet =
false;
656 bool m_transitEncryptionEnabled{
false};
657 bool m_transitEncryptionEnabledHasBeenSet =
false;
660 bool m_networkTypeHasBeenSet =
false;
663 bool m_ipDiscoveryHasBeenSet =
false;
bool TransitEncryptionEnabledHasBeenSet() const
const Aws::String & GetCacheClusterId() const
bool CacheNodeTypeHasBeenSet() const
CreateCacheClusterRequest & WithPreferredOutpostArns(PreferredOutpostArnsT &&value)
const Aws::Vector< Aws::String > & GetSnapshotArns() const
bool AuthTokenHasBeenSet() const
virtual const char * GetServiceRequestName() const override
CreateCacheClusterRequest & WithPreferredOutpostArn(PreferredOutpostArnT &&value)
const Aws::String & GetCacheParameterGroupName() const
CreateCacheClusterRequest & WithNotificationTopicArn(NotificationTopicArnT &&value)
bool CacheSecurityGroupNamesHasBeenSet() const
CreateCacheClusterRequest & WithNumCacheNodes(int value)
CreateCacheClusterRequest & AddTags(TagsT &&value)
int GetNumCacheNodes() const
bool PreferredAvailabilityZonesHasBeenSet() const
const Aws::String & GetAuthToken() const
CreateCacheClusterRequest & AddSnapshotArns(SnapshotArnsT &&value)
void SetSnapshotName(SnapshotNameT &&value)
bool EngineHasBeenSet() const
void SetCacheSubnetGroupName(CacheSubnetGroupNameT &&value)
void SetPreferredAvailabilityZone(PreferredAvailabilityZoneT &&value)
CreateCacheClusterRequest & WithOutpostMode(OutpostMode value)
CreateCacheClusterRequest & AddPreferredOutpostArns(PreferredOutpostArnsT &&value)
IpDiscovery GetIpDiscovery() const
CreateCacheClusterRequest & WithTransitEncryptionEnabled(bool value)
AWS_ELASTICACHE_API CreateCacheClusterRequest()=default
bool EngineVersionHasBeenSet() const
CreateCacheClusterRequest & WithSnapshotWindow(SnapshotWindowT &&value)
void SetAuthToken(AuthTokenT &&value)
CreateCacheClusterRequest & WithPreferredAvailabilityZone(PreferredAvailabilityZoneT &&value)
const Aws::Vector< Aws::String > & GetCacheSecurityGroupNames() const
bool AZModeHasBeenSet() const
bool GetTransitEncryptionEnabled() const
void SetAZMode(AZMode value)
bool PreferredOutpostArnsHasBeenSet() const
void SetPreferredOutpostArns(PreferredOutpostArnsT &&value)
void SetReplicationGroupId(ReplicationGroupIdT &&value)
const Aws::Vector< Aws::String > & GetPreferredAvailabilityZones() const
CreateCacheClusterRequest & WithReplicationGroupId(ReplicationGroupIdT &&value)
AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
const Aws::String & GetEngine() const
void SetSnapshotWindow(SnapshotWindowT &&value)
void SetCacheNodeType(CacheNodeTypeT &&value)
CreateCacheClusterRequest & WithCacheNodeType(CacheNodeTypeT &&value)
bool TagsHasBeenSet() const
OutpostMode GetOutpostMode() const
void SetIpDiscovery(IpDiscovery value)
const Aws::String & GetPreferredOutpostArn() const
bool PreferredMaintenanceWindowHasBeenSet() const
CreateCacheClusterRequest & WithCacheSecurityGroupNames(CacheSecurityGroupNamesT &&value)
const Aws::String & GetReplicationGroupId() const
CreateCacheClusterRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::Vector< Tag > & GetTags() const
AWS_ELASTICACHE_API Aws::String SerializePayload() const override
CreateCacheClusterRequest & WithCacheSubnetGroupName(CacheSubnetGroupNameT &&value)
bool GetAutoMinorVersionUpgrade() const
bool AutoMinorVersionUpgradeHasBeenSet() const
CreateCacheClusterRequest & AddCacheSecurityGroupNames(CacheSecurityGroupNamesT &&value)
bool NotificationTopicArnHasBeenSet() const
void SetSnapshotArns(SnapshotArnsT &&value)
void SetLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
bool NumCacheNodesHasBeenSet() const
void SetNetworkType(NetworkType value)
CreateCacheClusterRequest & WithAuthToken(AuthTokenT &&value)
CreateCacheClusterRequest & WithEngineVersion(EngineVersionT &&value)
bool ReplicationGroupIdHasBeenSet() const
void SetPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
const Aws::Vector< LogDeliveryConfigurationRequest > & GetLogDeliveryConfigurations() const
const Aws::Vector< Aws::String > & GetPreferredOutpostArns() const
const Aws::String & GetCacheSubnetGroupName() const
CreateCacheClusterRequest & WithPort(int value)
CreateCacheClusterRequest & WithSnapshotName(SnapshotNameT &&value)
CreateCacheClusterRequest & WithNetworkType(NetworkType value)
bool SecurityGroupIdsHasBeenSet() const
bool SnapshotRetentionLimitHasBeenSet() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
bool OutpostModeHasBeenSet() const
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
void SetCacheClusterId(CacheClusterIdT &&value)
CreateCacheClusterRequest & AddLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
CreateCacheClusterRequest & WithTags(TagsT &&value)
const Aws::String & GetPreferredMaintenanceWindow() const
bool CacheParameterGroupNameHasBeenSet() const
CreateCacheClusterRequest & WithSnapshotArns(SnapshotArnsT &&value)
bool CacheSubnetGroupNameHasBeenSet() const
bool IpDiscoveryHasBeenSet() const
void SetTransitEncryptionEnabled(bool value)
CreateCacheClusterRequest & WithCacheClusterId(CacheClusterIdT &&value)
bool LogDeliveryConfigurationsHasBeenSet() const
const Aws::String & GetNotificationTopicArn() const
CreateCacheClusterRequest & WithPreferredMaintenanceWindow(PreferredMaintenanceWindowT &&value)
const Aws::String & GetEngineVersion() const
bool PortHasBeenSet() const
CreateCacheClusterRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetPreferredAvailabilityZones(PreferredAvailabilityZonesT &&value)
CreateCacheClusterRequest & WithCacheParameterGroupName(CacheParameterGroupNameT &&value)
void SetTags(TagsT &&value)
bool PreferredAvailabilityZoneHasBeenSet() const
bool SnapshotWindowHasBeenSet() const
CreateCacheClusterRequest & AddPreferredAvailabilityZones(PreferredAvailabilityZonesT &&value)
int GetSnapshotRetentionLimit() const
CreateCacheClusterRequest & WithSnapshotRetentionLimit(int value)
const Aws::String & GetPreferredAvailabilityZone() const
bool SnapshotArnsHasBeenSet() const
CreateCacheClusterRequest & WithLogDeliveryConfigurations(LogDeliveryConfigurationsT &&value)
bool NetworkTypeHasBeenSet() const
bool PreferredOutpostArnHasBeenSet() const
void SetEngine(EngineT &&value)
CreateCacheClusterRequest & WithPreferredAvailabilityZones(PreferredAvailabilityZonesT &&value)
CreateCacheClusterRequest & WithIpDiscovery(IpDiscovery value)
void SetNumCacheNodes(int value)
void SetPreferredOutpostArn(PreferredOutpostArnT &&value)
CreateCacheClusterRequest & WithEngine(EngineT &&value)
bool CacheClusterIdHasBeenSet() const
void SetNotificationTopicArn(NotificationTopicArnT &&value)
const Aws::String & GetSnapshotName() const
bool SnapshotNameHasBeenSet() const
const Aws::String & GetSnapshotWindow() const
CreateCacheClusterRequest & WithAutoMinorVersionUpgrade(bool value)
void SetEngineVersion(EngineVersionT &&value)
CreateCacheClusterRequest & WithAZMode(AZMode value)
void SetOutpostMode(OutpostMode value)
NetworkType GetNetworkType() const
void SetCacheParameterGroupName(CacheParameterGroupNameT &&value)
const Aws::String & GetCacheNodeType() const
void SetCacheSecurityGroupNames(CacheSecurityGroupNamesT &&value)
void SetSnapshotRetentionLimit(int value)
void SetAutoMinorVersionUpgrade(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector