7#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/redshift-serverless/model/SnapshotStatus.h>
24namespace RedshiftServerless
37 AWS_REDSHIFTSERVERLESS_API
Snapshot() =
default;
50 template<
typename AccountsWithProvisionedRestoreAccessT = Aws::Vector<Aws::String>>
51 void SetAccountsWithProvisionedRestoreAccess(AccountsWithProvisionedRestoreAccessT&& value) { m_accountsWithProvisionedRestoreAccessHasBeenSet =
true; m_accountsWithProvisionedRestoreAccess = std::forward<AccountsWithProvisionedRestoreAccessT>(value); }
52 template<
typename AccountsWithProvisionedRestoreAccessT = Aws::Vector<Aws::String>>
54 template<
typename AccountsWithProvisionedRestoreAccessT = Aws::String>
55 Snapshot&
AddAccountsWithProvisionedRestoreAccess(AccountsWithProvisionedRestoreAccessT&& value) { m_accountsWithProvisionedRestoreAccessHasBeenSet =
true; m_accountsWithProvisionedRestoreAccess.emplace_back(std::forward<AccountsWithProvisionedRestoreAccessT>(value));
return *
this; }
65 template<
typename AccountsWithRestoreAccessT = Aws::Vector<Aws::String>>
66 void SetAccountsWithRestoreAccess(AccountsWithRestoreAccessT&& value) { m_accountsWithRestoreAccessHasBeenSet =
true; m_accountsWithRestoreAccess = std::forward<AccountsWithRestoreAccessT>(value); }
67 template<
typename AccountsWithRestoreAccessT = Aws::Vector<Aws::String>>
69 template<
typename AccountsWithRestoreAccessT = Aws::String>
70 Snapshot&
AddAccountsWithRestoreAccess(AccountsWithRestoreAccessT&& value) { m_accountsWithRestoreAccessHasBeenSet =
true; m_accountsWithRestoreAccess.emplace_back(std::forward<AccountsWithRestoreAccessT>(value));
return *
this; }
90 template<
typename AdminPasswordSecretArnT = Aws::String>
91 void SetAdminPasswordSecretArn(AdminPasswordSecretArnT&& value) { m_adminPasswordSecretArnHasBeenSet =
true; m_adminPasswordSecretArn = std::forward<AdminPasswordSecretArnT>(value); }
92 template<
typename AdminPasswordSecretArnT = Aws::String>
103 template<
typename AdminPasswordSecretKmsKeyIdT = Aws::String>
104 void SetAdminPasswordSecretKmsKeyId(AdminPasswordSecretKmsKeyIdT&& value) { m_adminPasswordSecretKmsKeyIdHasBeenSet =
true; m_adminPasswordSecretKmsKeyId = std::forward<AdminPasswordSecretKmsKeyIdT>(value); }
105 template<
typename AdminPasswordSecretKmsKeyIdT = Aws::String>
115 template<
typename AdminUsernameT = Aws::String>
116 void SetAdminUsername(AdminUsernameT&& value) { m_adminUsernameHasBeenSet =
true; m_adminUsername = std::forward<AdminUsernameT>(value); }
117 template<
typename AdminUsernameT = Aws::String>
148 inline void SetElapsedTimeInSeconds(
long long value) { m_elapsedTimeInSecondsHasBeenSet =
true; m_elapsedTimeInSeconds = value; }
168 template<
typename KmsKeyIdT = Aws::String>
169 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet =
true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
170 template<
typename KmsKeyIdT = Aws::String>
181 template<
typename NamespaceArnT = Aws::String>
182 void SetNamespaceArn(NamespaceArnT&& value) { m_namespaceArnHasBeenSet =
true; m_namespaceArn = std::forward<NamespaceArnT>(value); }
183 template<
typename NamespaceArnT = Aws::String>
193 template<
typename NamespaceNameT = Aws::String>
194 void SetNamespaceName(NamespaceNameT&& value) { m_namespaceNameHasBeenSet =
true; m_namespaceName = std::forward<NamespaceNameT>(value); }
195 template<
typename NamespaceNameT = Aws::String>
205 template<
typename OwnerAccountT = Aws::String>
206 void SetOwnerAccount(OwnerAccountT&& value) { m_ownerAccountHasBeenSet =
true; m_ownerAccount = std::forward<OwnerAccountT>(value); }
207 template<
typename OwnerAccountT = Aws::String>
217 template<
typename SnapshotArnT = Aws::String>
218 void SetSnapshotArn(SnapshotArnT&& value) { m_snapshotArnHasBeenSet =
true; m_snapshotArn = std::forward<SnapshotArnT>(value); }
219 template<
typename SnapshotArnT = Aws::String>
229 template<
typename SnapshotCreateTimeT = Aws::Utils::DateTime>
230 void SetSnapshotCreateTime(SnapshotCreateTimeT&& value) { m_snapshotCreateTimeHasBeenSet =
true; m_snapshotCreateTime = std::forward<SnapshotCreateTimeT>(value); }
231 template<
typename SnapshotCreateTimeT = Aws::Utils::DateTime>
241 template<
typename SnapshotNameT = Aws::String>
242 void SetSnapshotName(SnapshotNameT&& value) { m_snapshotNameHasBeenSet =
true; m_snapshotName = std::forward<SnapshotNameT>(value); }
243 template<
typename SnapshotNameT = Aws::String>
273 template<
typename SnapshotRetentionStartTimeT = Aws::Utils::DateTime>
274 void SetSnapshotRetentionStartTime(SnapshotRetentionStartTimeT&& value) { m_snapshotRetentionStartTimeHasBeenSet =
true; m_snapshotRetentionStartTime = std::forward<SnapshotRetentionStartTimeT>(value); }
275 template<
typename SnapshotRetentionStartTimeT = Aws::Utils::DateTime>
301 bool m_accountsWithProvisionedRestoreAccessHasBeenSet =
false;
304 bool m_accountsWithRestoreAccessHasBeenSet =
false;
306 double m_actualIncrementalBackupSizeInMegaBytes{0.0};
307 bool m_actualIncrementalBackupSizeInMegaBytesHasBeenSet =
false;
310 bool m_adminPasswordSecretArnHasBeenSet =
false;
313 bool m_adminPasswordSecretKmsKeyIdHasBeenSet =
false;
316 bool m_adminUsernameHasBeenSet =
false;
318 double m_backupProgressInMegaBytes{0.0};
319 bool m_backupProgressInMegaBytesHasBeenSet =
false;
321 double m_currentBackupRateInMegaBytesPerSecond{0.0};
322 bool m_currentBackupRateInMegaBytesPerSecondHasBeenSet =
false;
324 long long m_elapsedTimeInSeconds{0};
325 bool m_elapsedTimeInSecondsHasBeenSet =
false;
327 long long m_estimatedSecondsToCompletion{0};
328 bool m_estimatedSecondsToCompletionHasBeenSet =
false;
331 bool m_kmsKeyIdHasBeenSet =
false;
334 bool m_namespaceArnHasBeenSet =
false;
337 bool m_namespaceNameHasBeenSet =
false;
340 bool m_ownerAccountHasBeenSet =
false;
343 bool m_snapshotArnHasBeenSet =
false;
346 bool m_snapshotCreateTimeHasBeenSet =
false;
349 bool m_snapshotNameHasBeenSet =
false;
351 int m_snapshotRemainingDays{0};
352 bool m_snapshotRemainingDaysHasBeenSet =
false;
354 int m_snapshotRetentionPeriod{0};
355 bool m_snapshotRetentionPeriodHasBeenSet =
false;
358 bool m_snapshotRetentionStartTimeHasBeenSet =
false;
361 bool m_statusHasBeenSet =
false;
363 double m_totalBackupSizeInMegaBytes{0.0};
364 bool m_totalBackupSizeInMegaBytesHasBeenSet =
false;
Snapshot & WithAdminPasswordSecretArn(AdminPasswordSecretArnT &&value)
void SetAdminPasswordSecretArn(AdminPasswordSecretArnT &&value)
Snapshot & WithEstimatedSecondsToCompletion(long long value)
long long GetEstimatedSecondsToCompletion() const
Snapshot & AddAccountsWithRestoreAccess(AccountsWithRestoreAccessT &&value)
bool SnapshotNameHasBeenSet() const
void SetSnapshotName(SnapshotNameT &&value)
AWS_REDSHIFTSERVERLESS_API Snapshot(Aws::Utils::Json::JsonView jsonValue)
Snapshot & WithTotalBackupSizeInMegaBytes(double value)
Snapshot & WithKmsKeyId(KmsKeyIdT &&value)
Snapshot & WithAdminUsername(AdminUsernameT &&value)
bool SnapshotRetentionPeriodHasBeenSet() const
bool NamespaceNameHasBeenSet() const
const Aws::String & GetNamespaceArn() const
bool SnapshotRetentionStartTimeHasBeenSet() const
double GetBackupProgressInMegaBytes() const
void SetSnapshotRetentionPeriod(int value)
int GetSnapshotRemainingDays() const
void SetSnapshotCreateTime(SnapshotCreateTimeT &&value)
void SetCurrentBackupRateInMegaBytesPerSecond(double value)
double GetActualIncrementalBackupSizeInMegaBytes() const
bool CurrentBackupRateInMegaBytesPerSecondHasBeenSet() const
double GetTotalBackupSizeInMegaBytes() const
void SetSnapshotRetentionStartTime(SnapshotRetentionStartTimeT &&value)
void SetKmsKeyId(KmsKeyIdT &&value)
bool AdminPasswordSecretArnHasBeenSet() const
Snapshot & WithSnapshotCreateTime(SnapshotCreateTimeT &&value)
bool SnapshotCreateTimeHasBeenSet() const
const Aws::Utils::DateTime & GetSnapshotRetentionStartTime() const
bool AccountsWithRestoreAccessHasBeenSet() const
const Aws::String & GetNamespaceName() const
Snapshot & WithCurrentBackupRateInMegaBytesPerSecond(double value)
Snapshot & WithActualIncrementalBackupSizeInMegaBytes(double value)
AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const
Snapshot & WithStatus(SnapshotStatus value)
const Aws::String & GetSnapshotArn() const
void SetTotalBackupSizeInMegaBytes(double value)
bool TotalBackupSizeInMegaBytesHasBeenSet() const
void SetActualIncrementalBackupSizeInMegaBytes(double value)
void SetOwnerAccount(OwnerAccountT &&value)
Snapshot & WithAdminPasswordSecretKmsKeyId(AdminPasswordSecretKmsKeyIdT &&value)
bool StatusHasBeenSet() const
bool BackupProgressInMegaBytesHasBeenSet() const
bool KmsKeyIdHasBeenSet() const
Snapshot & WithAccountsWithRestoreAccess(AccountsWithRestoreAccessT &&value)
void SetAdminPasswordSecretKmsKeyId(AdminPasswordSecretKmsKeyIdT &&value)
void SetStatus(SnapshotStatus value)
double GetCurrentBackupRateInMegaBytesPerSecond() const
void SetElapsedTimeInSeconds(long long value)
bool OwnerAccountHasBeenSet() const
const Aws::Utils::DateTime & GetSnapshotCreateTime() const
const Aws::Vector< Aws::String > & GetAccountsWithRestoreAccess() const
Snapshot & WithAccountsWithProvisionedRestoreAccess(AccountsWithProvisionedRestoreAccessT &&value)
const Aws::String & GetKmsKeyId() const
void SetEstimatedSecondsToCompletion(long long value)
Snapshot & WithSnapshotRetentionStartTime(SnapshotRetentionStartTimeT &&value)
void SetBackupProgressInMegaBytes(double value)
void SetNamespaceName(NamespaceNameT &&value)
void SetAccountsWithProvisionedRestoreAccess(AccountsWithProvisionedRestoreAccessT &&value)
Snapshot & WithOwnerAccount(OwnerAccountT &&value)
const Aws::String & GetAdminPasswordSecretArn() const
const Aws::String & GetSnapshotName() const
SnapshotStatus GetStatus() const
void SetSnapshotArn(SnapshotArnT &&value)
AWS_REDSHIFTSERVERLESS_API Snapshot & operator=(Aws::Utils::Json::JsonView jsonValue)
Snapshot & WithSnapshotRemainingDays(int value)
long long GetElapsedTimeInSeconds() const
Snapshot & WithSnapshotName(SnapshotNameT &&value)
const Aws::String & GetAdminUsername() const
int GetSnapshotRetentionPeriod() const
bool AdminPasswordSecretKmsKeyIdHasBeenSet() const
bool AccountsWithProvisionedRestoreAccessHasBeenSet() const
Snapshot & WithNamespaceArn(NamespaceArnT &&value)
bool SnapshotRemainingDaysHasBeenSet() const
void SetNamespaceArn(NamespaceArnT &&value)
Snapshot & WithNamespaceName(NamespaceNameT &&value)
void SetSnapshotRemainingDays(int value)
bool EstimatedSecondsToCompletionHasBeenSet() const
Snapshot & WithElapsedTimeInSeconds(long long value)
const Aws::String & GetAdminPasswordSecretKmsKeyId() const
Snapshot & WithSnapshotRetentionPeriod(int value)
bool ElapsedTimeInSecondsHasBeenSet() const
Snapshot & WithBackupProgressInMegaBytes(double value)
AWS_REDSHIFTSERVERLESS_API Snapshot()=default
bool AdminUsernameHasBeenSet() const
void SetAccountsWithRestoreAccess(AccountsWithRestoreAccessT &&value)
Snapshot & WithSnapshotArn(SnapshotArnT &&value)
bool SnapshotArnHasBeenSet() const
bool ActualIncrementalBackupSizeInMegaBytesHasBeenSet() const
const Aws::Vector< Aws::String > & GetAccountsWithProvisionedRestoreAccess() const
void SetAdminUsername(AdminUsernameT &&value)
Snapshot & AddAccountsWithProvisionedRestoreAccess(AccountsWithProvisionedRestoreAccessT &&value)
const Aws::String & GetOwnerAccount() const
bool NamespaceArnHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue