7#include <aws/redshift/Redshift_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/redshift/model/AccountWithRestoreAccess.h>
13#include <aws/redshift/model/Tag.h>
52 template<
typename SnapshotIdentifierT = Aws::String>
53 void SetSnapshotIdentifier(SnapshotIdentifierT&& value) { m_snapshotIdentifierHasBeenSet =
true; m_snapshotIdentifier = std::forward<SnapshotIdentifierT>(value); }
54 template<
typename SnapshotIdentifierT = Aws::String>
64 template<
typename ClusterIdentifierT = Aws::String>
65 void SetClusterIdentifier(ClusterIdentifierT&& value) { m_clusterIdentifierHasBeenSet =
true; m_clusterIdentifier = std::forward<ClusterIdentifierT>(value); }
66 template<
typename ClusterIdentifierT = Aws::String>
77 template<
typename SnapshotCreateTimeT = Aws::Utils::DateTime>
78 void SetSnapshotCreateTime(SnapshotCreateTimeT&& value) { m_snapshotCreateTimeHasBeenSet =
true; m_snapshotCreateTime = std::forward<SnapshotCreateTimeT>(value); }
79 template<
typename SnapshotCreateTimeT = Aws::Utils::DateTime>
94 template<
typename StatusT = Aws::String>
95 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
96 template<
typename StatusT = Aws::String>
106 inline void SetPort(
int value) { m_portHasBeenSet =
true; m_port = value; }
116 template<
typename AvailabilityZoneT = Aws::String>
117 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
118 template<
typename AvailabilityZoneT = Aws::String>
128 template<
typename ClusterCreateTimeT = Aws::Utils::DateTime>
129 void SetClusterCreateTime(ClusterCreateTimeT&& value) { m_clusterCreateTimeHasBeenSet =
true; m_clusterCreateTime = std::forward<ClusterCreateTimeT>(value); }
130 template<
typename ClusterCreateTimeT = Aws::Utils::DateTime>
140 template<
typename MasterUsernameT = Aws::String>
141 void SetMasterUsername(MasterUsernameT&& value) { m_masterUsernameHasBeenSet =
true; m_masterUsername = std::forward<MasterUsernameT>(value); }
142 template<
typename MasterUsernameT = Aws::String>
153 template<
typename ClusterVersionT = Aws::String>
154 void SetClusterVersion(ClusterVersionT&& value) { m_clusterVersionHasBeenSet =
true; m_clusterVersion = std::forward<ClusterVersionT>(value); }
155 template<
typename ClusterVersionT = Aws::String>
166 template<
typename EngineFullVersionT = Aws::String>
167 void SetEngineFullVersion(EngineFullVersionT&& value) { m_engineFullVersionHasBeenSet =
true; m_engineFullVersion = std::forward<EngineFullVersionT>(value); }
168 template<
typename EngineFullVersionT = Aws::String>
179 template<
typename SnapshotTypeT = Aws::String>
180 void SetSnapshotType(SnapshotTypeT&& value) { m_snapshotTypeHasBeenSet =
true; m_snapshotType = std::forward<SnapshotTypeT>(value); }
181 template<
typename SnapshotTypeT = Aws::String>
191 template<
typename NodeTypeT = Aws::String>
192 void SetNodeType(NodeTypeT&& value) { m_nodeTypeHasBeenSet =
true; m_nodeType = std::forward<NodeTypeT>(value); }
193 template<
typename NodeTypeT = Aws::String>
203 inline void SetNumberOfNodes(
int value) { m_numberOfNodesHasBeenSet =
true; m_numberOfNodes = value; }
213 template<
typename DBNameT = Aws::String>
214 void SetDBName(DBNameT&& value) { m_dBNameHasBeenSet =
true; m_dBName = std::forward<DBNameT>(value); }
215 template<
typename DBNameT = Aws::String>
226 template<
typename VpcIdT = Aws::String>
227 void SetVpcId(VpcIdT&& value) { m_vpcIdHasBeenSet =
true; m_vpcId = std::forward<VpcIdT>(value); }
228 template<
typename VpcIdT = Aws::String>
238 inline void SetEncrypted(
bool value) { m_encryptedHasBeenSet =
true; m_encrypted = value; }
249 template<
typename KmsKeyIdT = Aws::String>
250 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
251 template<
typename KmsKeyIdT = Aws::String>
263 inline void SetEncryptedWithHSM(
bool value) { m_encryptedWithHSMHasBeenSet =
true; m_encryptedWithHSM = value; }
275 template<
typename AccountsWithRestoreAccessT = Aws::Vector<AccountWithRestoreAccess>>
276 void SetAccountsWithRestoreAccess(AccountsWithRestoreAccessT&& value) { m_accountsWithRestoreAccessHasBeenSet =
true; m_accountsWithRestoreAccess = std::forward<AccountsWithRestoreAccessT>(value); }
277 template<
typename AccountsWithRestoreAccessT = Aws::Vector<AccountWithRestoreAccess>>
279 template<
typename AccountsWithRestoreAccessT = AccountWithRestoreAccess>
280 Snapshot&
AddAccountsWithRestoreAccess(AccountsWithRestoreAccessT&& value) { m_accountsWithRestoreAccessHasBeenSet =
true; m_accountsWithRestoreAccess.emplace_back(std::forward<AccountsWithRestoreAccessT>(value));
return *
this; }
291 template<
typename OwnerAccountT = Aws::String>
292 void SetOwnerAccount(OwnerAccountT&& value) { m_ownerAccountHasBeenSet =
true; m_ownerAccount = std::forward<OwnerAccountT>(value); }
293 template<
typename OwnerAccountT = Aws::String>
358 inline void SetElapsedTimeInSeconds(
long long value) { m_elapsedTimeInSecondsHasBeenSet =
true; m_elapsedTimeInSeconds = value; }
368 template<
typename SourceRegionT = Aws::String>
369 void SetSourceRegion(SourceRegionT&& value) { m_sourceRegionHasBeenSet =
true; m_sourceRegion = std::forward<SourceRegionT>(value); }
370 template<
typename SourceRegionT = Aws::String>
380 template<
typename TagsT = Aws::Vector<Tag>>
381 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
382 template<
typename TagsT = Aws::Vector<Tag>>
384 template<
typename TagsT = Tag>
385 Snapshot&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
395 template<
typename RestorableNodeTypesT = Aws::Vector<Aws::String>>
396 void SetRestorableNodeTypes(RestorableNodeTypesT&& value) { m_restorableNodeTypesHasBeenSet =
true; m_restorableNodeTypes = std::forward<RestorableNodeTypesT>(value); }
397 template<
typename RestorableNodeTypesT = Aws::Vector<Aws::String>>
399 template<
typename RestorableNodeTypesT = Aws::String>
400 Snapshot&
AddRestorableNodeTypes(RestorableNodeTypesT&& value) { m_restorableNodeTypesHasBeenSet =
true; m_restorableNodeTypes.emplace_back(std::forward<RestorableNodeTypesT>(value));
return *
this; }
415 inline void SetEnhancedVpcRouting(
bool value) { m_enhancedVpcRoutingHasBeenSet =
true; m_enhancedVpcRouting = value; }
425 template<
typename Ma
intenanceTrackNameT = Aws::String>
426 void SetMaintenanceTrackName(MaintenanceTrackNameT&& value) { m_maintenanceTrackNameHasBeenSet =
true; m_maintenanceTrackName = std::forward<MaintenanceTrackNameT>(value); }
427 template<
typename Ma
intenanceTrackNameT = Aws::String>
461 template<
typename SnapshotRetentionStartTimeT = Aws::Utils::DateTime>
462 void SetSnapshotRetentionStartTime(SnapshotRetentionStartTimeT&& value) { m_snapshotRetentionStartTimeHasBeenSet =
true; m_snapshotRetentionStartTime = std::forward<SnapshotRetentionStartTimeT>(value); }
463 template<
typename SnapshotRetentionStartTimeT = Aws::Utils::DateTime>
474 template<
typename MasterPasswordSecretArnT = Aws::String>
475 void SetMasterPasswordSecretArn(MasterPasswordSecretArnT&& value) { m_masterPasswordSecretArnHasBeenSet =
true; m_masterPasswordSecretArn = std::forward<MasterPasswordSecretArnT>(value); }
476 template<
typename MasterPasswordSecretArnT = Aws::String>
487 template<
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
488 void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT&& value) { m_masterPasswordSecretKmsKeyIdHasBeenSet =
true; m_masterPasswordSecretKmsKeyId = std::forward<MasterPasswordSecretKmsKeyIdT>(value); }
489 template<
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
499 template<
typename SnapshotArnT = Aws::String>
500 void SetSnapshotArn(SnapshotArnT&& value) { m_snapshotArnHasBeenSet =
true; m_snapshotArn = std::forward<SnapshotArnT>(value); }
501 template<
typename SnapshotArnT = Aws::String>
507 bool m_snapshotIdentifierHasBeenSet =
false;
510 bool m_clusterIdentifierHasBeenSet =
false;
513 bool m_snapshotCreateTimeHasBeenSet =
false;
516 bool m_statusHasBeenSet =
false;
519 bool m_portHasBeenSet =
false;
522 bool m_availabilityZoneHasBeenSet =
false;
525 bool m_clusterCreateTimeHasBeenSet =
false;
528 bool m_masterUsernameHasBeenSet =
false;
531 bool m_clusterVersionHasBeenSet =
false;
534 bool m_engineFullVersionHasBeenSet =
false;
537 bool m_snapshotTypeHasBeenSet =
false;
540 bool m_nodeTypeHasBeenSet =
false;
542 int m_numberOfNodes{0};
543 bool m_numberOfNodesHasBeenSet =
false;
546 bool m_dBNameHasBeenSet =
false;
549 bool m_vpcIdHasBeenSet =
false;
551 bool m_encrypted{
false};
552 bool m_encryptedHasBeenSet =
false;
555 bool m_kmsKeyIdHasBeenSet =
false;
557 bool m_encryptedWithHSM{
false};
558 bool m_encryptedWithHSMHasBeenSet =
false;
561 bool m_accountsWithRestoreAccessHasBeenSet =
false;
564 bool m_ownerAccountHasBeenSet =
false;
566 double m_totalBackupSizeInMegaBytes{0.0};
567 bool m_totalBackupSizeInMegaBytesHasBeenSet =
false;
569 double m_actualIncrementalBackupSizeInMegaBytes{0.0};
570 bool m_actualIncrementalBackupSizeInMegaBytesHasBeenSet =
false;
572 double m_backupProgressInMegaBytes{0.0};
573 bool m_backupProgressInMegaBytesHasBeenSet =
false;
575 double m_currentBackupRateInMegaBytesPerSecond{0.0};
576 bool m_currentBackupRateInMegaBytesPerSecondHasBeenSet =
false;
578 long long m_estimatedSecondsToCompletion{0};
579 bool m_estimatedSecondsToCompletionHasBeenSet =
false;
581 long long m_elapsedTimeInSeconds{0};
582 bool m_elapsedTimeInSecondsHasBeenSet =
false;
585 bool m_sourceRegionHasBeenSet =
false;
588 bool m_tagsHasBeenSet =
false;
591 bool m_restorableNodeTypesHasBeenSet =
false;
593 bool m_enhancedVpcRouting{
false};
594 bool m_enhancedVpcRoutingHasBeenSet =
false;
597 bool m_maintenanceTrackNameHasBeenSet =
false;
599 int m_manualSnapshotRetentionPeriod{0};
600 bool m_manualSnapshotRetentionPeriodHasBeenSet =
false;
602 int m_manualSnapshotRemainingDays{0};
603 bool m_manualSnapshotRemainingDaysHasBeenSet =
false;
606 bool m_snapshotRetentionStartTimeHasBeenSet =
false;
609 bool m_masterPasswordSecretArnHasBeenSet =
false;
612 bool m_masterPasswordSecretKmsKeyIdHasBeenSet =
false;
615 bool m_snapshotArnHasBeenSet =
false;
Snapshot & WithAvailabilityZone(AvailabilityZoneT &&value)
Snapshot & WithClusterCreateTime(ClusterCreateTimeT &&value)
void SetEstimatedSecondsToCompletion(long long value)
bool ElapsedTimeInSecondsHasBeenSet() const
const Aws::Utils::DateTime & GetClusterCreateTime() const
void SetAccountsWithRestoreAccess(AccountsWithRestoreAccessT &&value)
void SetEngineFullVersion(EngineFullVersionT &&value)
void SetManualSnapshotRetentionPeriod(int value)
const Aws::String & GetClusterIdentifier() const
Snapshot & WithDBName(DBNameT &&value)
bool SnapshotCreateTimeHasBeenSet() const
const Aws::String & GetMasterUsername() const
bool VpcIdHasBeenSet() const
void SetKmsKeyId(KmsKeyIdT &&value)
Snapshot & WithElapsedTimeInSeconds(long long value)
void SetNodeType(NodeTypeT &&value)
Snapshot & WithTotalBackupSizeInMegaBytes(double value)
bool SnapshotArnHasBeenSet() const
void SetActualIncrementalBackupSizeInMegaBytes(double value)
bool ActualIncrementalBackupSizeInMegaBytesHasBeenSet() const
void SetSnapshotRetentionStartTime(SnapshotRetentionStartTimeT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
AWS_REDSHIFT_API Snapshot & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Aws::String > & GetRestorableNodeTypes() const
const Aws::Vector< Tag > & GetTags() const
const Aws::String & GetVpcId() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
Snapshot & WithEncryptedWithHSM(bool value)
const Aws::String & GetMasterPasswordSecretKmsKeyId() const
void SetDBName(DBNameT &&value)
bool PortHasBeenSet() const
Snapshot & WithClusterIdentifier(ClusterIdentifierT &&value)
void SetEncrypted(bool value)
double GetActualIncrementalBackupSizeInMegaBytes() const
bool TotalBackupSizeInMegaBytesHasBeenSet() const
Snapshot & WithManualSnapshotRetentionPeriod(int value)
const Aws::String & GetMaintenanceTrackName() const
Snapshot & WithSnapshotCreateTime(SnapshotCreateTimeT &&value)
Snapshot & WithNumberOfNodes(int value)
Snapshot & WithEngineFullVersion(EngineFullVersionT &&value)
bool ManualSnapshotRemainingDaysHasBeenSet() const
int GetNumberOfNodes() const
bool AccountsWithRestoreAccessHasBeenSet() const
double GetCurrentBackupRateInMegaBytesPerSecond() const
Snapshot & WithOwnerAccount(OwnerAccountT &&value)
void SetSourceRegion(SourceRegionT &&value)
bool GetEncrypted() const
Snapshot & WithMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT &&value)
bool EncryptedWithHSMHasBeenSet() const
Snapshot & WithSnapshotArn(SnapshotArnT &&value)
Snapshot & WithManualSnapshotRemainingDays(int value)
Snapshot & WithEnhancedVpcRouting(bool value)
bool ClusterIdentifierHasBeenSet() const
const Aws::String & GetEngineFullVersion() const
void SetOwnerAccount(OwnerAccountT &&value)
const Aws::String & GetMasterPasswordSecretArn() const
double GetTotalBackupSizeInMegaBytes() const
const Aws::String & GetClusterVersion() const
const Aws::String & GetSourceRegion() const
bool MasterPasswordSecretArnHasBeenSet() const
bool OwnerAccountHasBeenSet() const
bool NodeTypeHasBeenSet() const
void SetManualSnapshotRemainingDays(int value)
Snapshot & WithEstimatedSecondsToCompletion(long long value)
Snapshot & AddRestorableNodeTypes(RestorableNodeTypesT &&value)
void SetVpcId(VpcIdT &&value)
bool MasterUsernameHasBeenSet() const
void SetMasterPasswordSecretArn(MasterPasswordSecretArnT &&value)
bool SnapshotTypeHasBeenSet() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetStatus(StatusT &&value)
const Aws::String & GetNodeType() const
bool BackupProgressInMegaBytesHasBeenSet() const
int GetManualSnapshotRemainingDays() const
const Aws::Vector< AccountWithRestoreAccess > & GetAccountsWithRestoreAccess() const
Snapshot & AddAccountsWithRestoreAccess(AccountsWithRestoreAccessT &&value)
const Aws::String & GetSnapshotType() const
bool MasterPasswordSecretKmsKeyIdHasBeenSet() const
Snapshot & WithCurrentBackupRateInMegaBytesPerSecond(double value)
bool CurrentBackupRateInMegaBytesPerSecondHasBeenSet() const
const Aws::String & GetSnapshotIdentifier() const
void SetTotalBackupSizeInMegaBytes(double value)
void SetBackupProgressInMegaBytes(double value)
bool EngineFullVersionHasBeenSet() const
bool SnapshotIdentifierHasBeenSet() const
void SetSnapshotIdentifier(SnapshotIdentifierT &&value)
Snapshot & AddTags(TagsT &&value)
void SetElapsedTimeInSeconds(long long value)
long long GetEstimatedSecondsToCompletion() const
bool GetEncryptedWithHSM() const
bool KmsKeyIdHasBeenSet() const
bool TagsHasBeenSet() const
const Aws::String & GetKmsKeyId() const
const Aws::String & GetOwnerAccount() const
Snapshot & WithStatus(StatusT &&value)
bool GetEnhancedVpcRouting() const
bool ManualSnapshotRetentionPeriodHasBeenSet() const
bool NumberOfNodesHasBeenSet() const
double GetBackupProgressInMegaBytes() const
void SetCurrentBackupRateInMegaBytesPerSecond(double value)
const Aws::Utils::DateTime & GetSnapshotCreateTime() const
Snapshot & WithActualIncrementalBackupSizeInMegaBytes(double value)
Snapshot & WithRestorableNodeTypes(RestorableNodeTypesT &&value)
bool ClusterCreateTimeHasBeenSet() const
bool StatusHasBeenSet() const
const Aws::String & GetDBName() const
void SetNumberOfNodes(int value)
void SetTags(TagsT &&value)
void SetMasterPasswordSecretKmsKeyId(MasterPasswordSecretKmsKeyIdT &&value)
void SetClusterVersion(ClusterVersionT &&value)
Snapshot & WithNodeType(NodeTypeT &&value)
bool DBNameHasBeenSet() const
bool SnapshotRetentionStartTimeHasBeenSet() const
void SetClusterCreateTime(ClusterCreateTimeT &&value)
void SetSnapshotCreateTime(SnapshotCreateTimeT &&value)
Snapshot & WithMaintenanceTrackName(MaintenanceTrackNameT &&value)
Snapshot & WithTags(TagsT &&value)
void SetSnapshotArn(SnapshotArnT &&value)
void SetMasterUsername(MasterUsernameT &&value)
Snapshot & WithKmsKeyId(KmsKeyIdT &&value)
Snapshot & WithBackupProgressInMegaBytes(double value)
Snapshot & WithSourceRegion(SourceRegionT &&value)
Snapshot & WithSnapshotRetentionStartTime(SnapshotRetentionStartTimeT &&value)
const Aws::Utils::DateTime & GetSnapshotRetentionStartTime() const
bool AvailabilityZoneHasBeenSet() const
const Aws::String & GetStatus() const
int GetManualSnapshotRetentionPeriod() const
bool EstimatedSecondsToCompletionHasBeenSet() const
AWS_REDSHIFT_API Snapshot()=default
Snapshot & WithAccountsWithRestoreAccess(AccountsWithRestoreAccessT &&value)
Snapshot & WithSnapshotType(SnapshotTypeT &&value)
Snapshot & WithMasterUsername(MasterUsernameT &&value)
void SetEncryptedWithHSM(bool value)
void SetEnhancedVpcRouting(bool value)
Snapshot & WithVpcId(VpcIdT &&value)
void SetMaintenanceTrackName(MaintenanceTrackNameT &&value)
const Aws::String & GetAvailabilityZone() const
bool EnhancedVpcRoutingHasBeenSet() const
Snapshot & WithMasterPasswordSecretArn(MasterPasswordSecretArnT &&value)
void SetSnapshotType(SnapshotTypeT &&value)
bool RestorableNodeTypesHasBeenSet() const
bool EncryptedHasBeenSet() const
Snapshot & WithPort(int value)
Snapshot & WithSnapshotIdentifier(SnapshotIdentifierT &&value)
AWS_REDSHIFT_API Snapshot(const Aws::Utils::Xml::XmlNode &xmlNode)
Snapshot & WithClusterVersion(ClusterVersionT &&value)
const Aws::String & GetSnapshotArn() const
void SetRestorableNodeTypes(RestorableNodeTypesT &&value)
bool MaintenanceTrackNameHasBeenSet() const
bool SourceRegionHasBeenSet() const
void SetClusterIdentifier(ClusterIdentifierT &&value)
Snapshot & WithEncrypted(bool value)
long long GetElapsedTimeInSeconds() const
bool ClusterVersionHasBeenSet() const
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