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/redshift/Redshift_EXPORTS.h>
12#include <aws/redshift/model/AccountWithRestoreAccess.h>
13#include <aws/redshift/model/Tag.h>
46 template <
typename SnapshotIdentifierT = Aws::String>
48 m_snapshotIdentifierHasBeenSet =
true;
49 m_snapshotIdentifier = std::forward<SnapshotIdentifierT>(value);
51 template <
typename SnapshotIdentifierT = Aws::String>
64 template <
typename ClusterIdentifierT = Aws::String>
66 m_clusterIdentifierHasBeenSet =
true;
67 m_clusterIdentifier = std::forward<ClusterIdentifierT>(value);
69 template <
typename ClusterIdentifierT = Aws::String>
83 template <
typename SnapshotCreateTimeT = Aws::Utils::DateTime>
85 m_snapshotCreateTimeHasBeenSet =
true;
86 m_snapshotCreateTime = std::forward<SnapshotCreateTimeT>(value);
88 template <
typename SnapshotCreateTimeT = Aws::Utils::DateTime>
106 template <
typename StatusT = Aws::String>
108 m_statusHasBeenSet =
true;
109 m_status = std::forward<StatusT>(value);
111 template <
typename StatusT = Aws::String>
125 m_portHasBeenSet =
true;
140 template <
typename AvailabilityZoneT = Aws::String>
142 m_availabilityZoneHasBeenSet =
true;
143 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
145 template <
typename AvailabilityZoneT = Aws::String>
158 template <
typename ClusterCreateTimeT = Aws::Utils::DateTime>
160 m_clusterCreateTimeHasBeenSet =
true;
161 m_clusterCreateTime = std::forward<ClusterCreateTimeT>(value);
163 template <
typename ClusterCreateTimeT = Aws::Utils::DateTime>
176 template <
typename MasterUsernameT = Aws::String>
178 m_masterUsernameHasBeenSet =
true;
179 m_masterUsername = std::forward<MasterUsernameT>(value);
181 template <
typename MasterUsernameT = Aws::String>
195 template <
typename ClusterVersionT = Aws::String>
197 m_clusterVersionHasBeenSet =
true;
198 m_clusterVersion = std::forward<ClusterVersionT>(value);
200 template <
typename ClusterVersionT = Aws::String>
214 template <
typename EngineFullVersionT = Aws::String>
216 m_engineFullVersionHasBeenSet =
true;
217 m_engineFullVersion = std::forward<EngineFullVersionT>(value);
219 template <
typename EngineFullVersionT = Aws::String>
233 template <
typename SnapshotTypeT = Aws::String>
235 m_snapshotTypeHasBeenSet =
true;
236 m_snapshotType = std::forward<SnapshotTypeT>(value);
238 template <
typename SnapshotTypeT = Aws::String>
251 template <
typename NodeTypeT = Aws::String>
253 m_nodeTypeHasBeenSet =
true;
254 m_nodeType = std::forward<NodeTypeT>(value);
256 template <
typename NodeTypeT = Aws::String>
270 m_numberOfNodesHasBeenSet =
true;
271 m_numberOfNodes = value;
285 template <
typename DBNameT = Aws::String>
287 m_dBNameHasBeenSet =
true;
288 m_dBName = std::forward<DBNameT>(value);
290 template <
typename DBNameT = Aws::String>
304 template <
typename VpcIdT = Aws::String>
306 m_vpcIdHasBeenSet =
true;
307 m_vpcId = std::forward<VpcIdT>(value);
309 template <
typename VpcIdT = Aws::String>
311 SetVpcId(std::forward<VpcIdT>(value));
323 m_encryptedHasBeenSet =
true;
339 template <
typename KmsKeyIdT = Aws::String>
341 m_kmsKeyIdHasBeenSet =
true;
342 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
344 template <
typename KmsKeyIdT = Aws::String>
360 m_encryptedWithHSMHasBeenSet =
true;
361 m_encryptedWithHSM = value;
377 template <
typename AccountsWithRestoreAccessT = Aws::Vector<AccountWithRestoreAccess>>
379 m_accountsWithRestoreAccessHasBeenSet =
true;
380 m_accountsWithRestoreAccess = std::forward<AccountsWithRestoreAccessT>(value);
382 template <
typename AccountsWithRestoreAccessT = Aws::Vector<AccountWithRestoreAccess>>
387 template <
typename AccountsWithRestoreAccessT = AccountWithRestoreAccess>
389 m_accountsWithRestoreAccessHasBeenSet =
true;
390 m_accountsWithRestoreAccess.emplace_back(std::forward<AccountsWithRestoreAccessT>(value));
403 template <
typename OwnerAccountT = Aws::String>
405 m_ownerAccountHasBeenSet =
true;
406 m_ownerAccount = std::forward<OwnerAccountT>(value);
408 template <
typename OwnerAccountT = Aws::String>
423 m_totalBackupSizeInMegaBytesHasBeenSet =
true;
424 m_totalBackupSizeInMegaBytes = value;
439 m_actualIncrementalBackupSizeInMegaBytesHasBeenSet =
true;
440 m_actualIncrementalBackupSizeInMegaBytes = value;
456 m_backupProgressInMegaBytesHasBeenSet =
true;
457 m_backupProgressInMegaBytes = value;
473 m_currentBackupRateInMegaBytesPerSecondHasBeenSet =
true;
474 m_currentBackupRateInMegaBytesPerSecond = value;
490 m_estimatedSecondsToCompletionHasBeenSet =
true;
491 m_estimatedSecondsToCompletion = value;
507 m_elapsedTimeInSecondsHasBeenSet =
true;
508 m_elapsedTimeInSeconds = value;
522 template <
typename SourceRegionT = Aws::String>
524 m_sourceRegionHasBeenSet =
true;
525 m_sourceRegion = std::forward<SourceRegionT>(value);
527 template <
typename SourceRegionT = Aws::String>
540 template <
typename TagsT = Aws::Vector<Tag>>
542 m_tagsHasBeenSet =
true;
543 m_tags = std::forward<TagsT>(value);
545 template <
typename TagsT = Aws::Vector<Tag>>
547 SetTags(std::forward<TagsT>(value));
550 template <
typename TagsT = Tag>
552 m_tagsHasBeenSet =
true;
553 m_tags.emplace_back(std::forward<TagsT>(value));
565 template <
typename RestorableNodeTypesT = Aws::Vector<Aws::String>>
567 m_restorableNodeTypesHasBeenSet =
true;
568 m_restorableNodeTypes = std::forward<RestorableNodeTypesT>(value);
570 template <
typename RestorableNodeTypesT = Aws::Vector<Aws::String>>
575 template <
typename RestorableNodeTypesT = Aws::String>
577 m_restorableNodeTypesHasBeenSet =
true;
578 m_restorableNodeTypes.emplace_back(std::forward<RestorableNodeTypesT>(value));
596 m_enhancedVpcRoutingHasBeenSet =
true;
597 m_enhancedVpcRouting = value;
611 template <
typename Ma
intenanceTrackNameT = Aws::String>
613 m_maintenanceTrackNameHasBeenSet =
true;
614 m_maintenanceTrackName = std::forward<MaintenanceTrackNameT>(value);
616 template <
typename Ma
intenanceTrackNameT = Aws::String>
632 m_manualSnapshotRetentionPeriodHasBeenSet =
true;
633 m_manualSnapshotRetentionPeriod = value;
649 m_manualSnapshotRemainingDaysHasBeenSet =
true;
650 m_manualSnapshotRemainingDays = value;
665 template <
typename SnapshotRetentionStartTimeT = Aws::Utils::DateTime>
667 m_snapshotRetentionStartTimeHasBeenSet =
true;
668 m_snapshotRetentionStartTime = std::forward<SnapshotRetentionStartTimeT>(value);
670 template <
typename SnapshotRetentionStartTimeT = Aws::Utils::DateTime>
684 template <
typename MasterPasswordSecretArnT = Aws::String>
686 m_masterPasswordSecretArnHasBeenSet =
true;
687 m_masterPasswordSecretArn = std::forward<MasterPasswordSecretArnT>(value);
689 template <
typename MasterPasswordSecretArnT = Aws::String>
703 template <
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
705 m_masterPasswordSecretKmsKeyIdHasBeenSet =
true;
706 m_masterPasswordSecretKmsKeyId = std::forward<MasterPasswordSecretKmsKeyIdT>(value);
708 template <
typename MasterPasswordSecretKmsKeyIdT = Aws::String>
721 template <
typename SnapshotArnT = Aws::String>
723 m_snapshotArnHasBeenSet =
true;
724 m_snapshotArn = std::forward<SnapshotArnT>(value);
726 template <
typename SnapshotArnT = Aws::String>
757 int m_numberOfNodes{0};
763 bool m_encrypted{
false};
767 bool m_encryptedWithHSM{
false};
773 double m_totalBackupSizeInMegaBytes{0.0};
775 double m_actualIncrementalBackupSizeInMegaBytes{0.0};
777 double m_backupProgressInMegaBytes{0.0};
779 double m_currentBackupRateInMegaBytesPerSecond{0.0};
781 long long m_estimatedSecondsToCompletion{0};
783 long long m_elapsedTimeInSeconds{0};
791 bool m_enhancedVpcRouting{
false};
795 int m_manualSnapshotRetentionPeriod{0};
797 int m_manualSnapshotRemainingDays{0};
806 bool m_snapshotIdentifierHasBeenSet =
false;
807 bool m_clusterIdentifierHasBeenSet =
false;
808 bool m_snapshotCreateTimeHasBeenSet =
false;
809 bool m_statusHasBeenSet =
false;
810 bool m_portHasBeenSet =
false;
811 bool m_availabilityZoneHasBeenSet =
false;
812 bool m_clusterCreateTimeHasBeenSet =
false;
813 bool m_masterUsernameHasBeenSet =
false;
814 bool m_clusterVersionHasBeenSet =
false;
815 bool m_engineFullVersionHasBeenSet =
false;
816 bool m_snapshotTypeHasBeenSet =
false;
817 bool m_nodeTypeHasBeenSet =
false;
818 bool m_numberOfNodesHasBeenSet =
false;
819 bool m_dBNameHasBeenSet =
false;
820 bool m_vpcIdHasBeenSet =
false;
821 bool m_encryptedHasBeenSet =
false;
822 bool m_kmsKeyIdHasBeenSet =
false;
823 bool m_encryptedWithHSMHasBeenSet =
false;
824 bool m_accountsWithRestoreAccessHasBeenSet =
false;
825 bool m_ownerAccountHasBeenSet =
false;
826 bool m_totalBackupSizeInMegaBytesHasBeenSet =
false;
827 bool m_actualIncrementalBackupSizeInMegaBytesHasBeenSet =
false;
828 bool m_backupProgressInMegaBytesHasBeenSet =
false;
829 bool m_currentBackupRateInMegaBytesPerSecondHasBeenSet =
false;
830 bool m_estimatedSecondsToCompletionHasBeenSet =
false;
831 bool m_elapsedTimeInSecondsHasBeenSet =
false;
832 bool m_sourceRegionHasBeenSet =
false;
833 bool m_tagsHasBeenSet =
false;
834 bool m_restorableNodeTypesHasBeenSet =
false;
835 bool m_enhancedVpcRoutingHasBeenSet =
false;
836 bool m_maintenanceTrackNameHasBeenSet =
false;
837 bool m_manualSnapshotRetentionPeriodHasBeenSet =
false;
838 bool m_manualSnapshotRemainingDaysHasBeenSet =
false;
839 bool m_snapshotRetentionStartTimeHasBeenSet =
false;
840 bool m_masterPasswordSecretArnHasBeenSet =
false;
841 bool m_masterPasswordSecretKmsKeyIdHasBeenSet =
false;
842 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