/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A backup of an Amazon FSx for Windows File Server, Amazon FSx for Lustre file
* system, Amazon FSx for NetApp ONTAP volume, or Amazon FSx for OpenZFS file
* system.See Also:
AWS API
* Reference
The ID of the backup.
*/ inline const Aws::String& GetBackupId() const{ return m_backupId; } /** *The ID of the backup.
*/ inline bool BackupIdHasBeenSet() const { return m_backupIdHasBeenSet; } /** *The ID of the backup.
*/ inline void SetBackupId(const Aws::String& value) { m_backupIdHasBeenSet = true; m_backupId = value; } /** *The ID of the backup.
*/ inline void SetBackupId(Aws::String&& value) { m_backupIdHasBeenSet = true; m_backupId = std::move(value); } /** *The ID of the backup.
*/ inline void SetBackupId(const char* value) { m_backupIdHasBeenSet = true; m_backupId.assign(value); } /** *The ID of the backup.
*/ inline Backup& WithBackupId(const Aws::String& value) { SetBackupId(value); return *this;} /** *The ID of the backup.
*/ inline Backup& WithBackupId(Aws::String&& value) { SetBackupId(std::move(value)); return *this;} /** *The ID of the backup.
*/ inline Backup& WithBackupId(const char* value) { SetBackupId(value); return *this;} /** *The lifecycle status of the backup.
AVAILABLE
* - The backup is fully available.
PENDING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx hasn't started
* creating the backup.
CREATING
- Amazon FSx is
* creating the backup.
TRANSFERRING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx is transferring
* the backup to Amazon S3.
COPYING
- Amazon FSx is
* copying the backup.
DELETED
- Amazon FSx deleted
* the backup and it's no longer available.
FAILED
* - Amazon FSx couldn't finish the backup.
The lifecycle status of the backup.
AVAILABLE
* - The backup is fully available.
PENDING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx hasn't started
* creating the backup.
CREATING
- Amazon FSx is
* creating the backup.
TRANSFERRING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx is transferring
* the backup to Amazon S3.
COPYING
- Amazon FSx is
* copying the backup.
DELETED
- Amazon FSx deleted
* the backup and it's no longer available.
FAILED
* - Amazon FSx couldn't finish the backup.
The lifecycle status of the backup.
AVAILABLE
* - The backup is fully available.
PENDING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx hasn't started
* creating the backup.
CREATING
- Amazon FSx is
* creating the backup.
TRANSFERRING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx is transferring
* the backup to Amazon S3.
COPYING
- Amazon FSx is
* copying the backup.
DELETED
- Amazon FSx deleted
* the backup and it's no longer available.
FAILED
* - Amazon FSx couldn't finish the backup.
The lifecycle status of the backup.
AVAILABLE
* - The backup is fully available.
PENDING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx hasn't started
* creating the backup.
CREATING
- Amazon FSx is
* creating the backup.
TRANSFERRING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx is transferring
* the backup to Amazon S3.
COPYING
- Amazon FSx is
* copying the backup.
DELETED
- Amazon FSx deleted
* the backup and it's no longer available.
FAILED
* - Amazon FSx couldn't finish the backup.
The lifecycle status of the backup.
AVAILABLE
* - The backup is fully available.
PENDING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx hasn't started
* creating the backup.
CREATING
- Amazon FSx is
* creating the backup.
TRANSFERRING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx is transferring
* the backup to Amazon S3.
COPYING
- Amazon FSx is
* copying the backup.
DELETED
- Amazon FSx deleted
* the backup and it's no longer available.
FAILED
* - Amazon FSx couldn't finish the backup.
The lifecycle status of the backup.
AVAILABLE
* - The backup is fully available.
PENDING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx hasn't started
* creating the backup.
CREATING
- Amazon FSx is
* creating the backup.
TRANSFERRING
- For
* user-initiated backups on Lustre file systems only; Amazon FSx is transferring
* the backup to Amazon S3.
COPYING
- Amazon FSx is
* copying the backup.
DELETED
- Amazon FSx deleted
* the backup and it's no longer available.
FAILED
* - Amazon FSx couldn't finish the backup.
Details explaining any failures that occurred when creating a backup.
*/ inline const BackupFailureDetails& GetFailureDetails() const{ return m_failureDetails; } /** *Details explaining any failures that occurred when creating a backup.
*/ inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; } /** *Details explaining any failures that occurred when creating a backup.
*/ inline void SetFailureDetails(const BackupFailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; } /** *Details explaining any failures that occurred when creating a backup.
*/ inline void SetFailureDetails(BackupFailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); } /** *Details explaining any failures that occurred when creating a backup.
*/ inline Backup& WithFailureDetails(const BackupFailureDetails& value) { SetFailureDetails(value); return *this;} /** *Details explaining any failures that occurred when creating a backup.
*/ inline Backup& WithFailureDetails(BackupFailureDetails&& value) { SetFailureDetails(std::move(value)); return *this;} /** *The type of the file-system backup.
*/ inline const BackupType& GetType() const{ return m_type; } /** *The type of the file-system backup.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The type of the file-system backup.
*/ inline void SetType(const BackupType& value) { m_typeHasBeenSet = true; m_type = value; } /** *The type of the file-system backup.
*/ inline void SetType(BackupType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The type of the file-system backup.
*/ inline Backup& WithType(const BackupType& value) { SetType(value); return *this;} /** *The type of the file-system backup.
*/ inline Backup& WithType(BackupType&& value) { SetType(std::move(value)); return *this;} inline int GetProgressPercent() const{ return m_progressPercent; } inline bool ProgressPercentHasBeenSet() const { return m_progressPercentHasBeenSet; } inline void SetProgressPercent(int value) { m_progressPercentHasBeenSet = true; m_progressPercent = value; } inline Backup& WithProgressPercent(int value) { SetProgressPercent(value); return *this;} /** *The time when a particular backup was created.
*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *The time when a particular backup was created.
*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *The time when a particular backup was created.
*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *The time when a particular backup was created.
*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *The time when a particular backup was created.
*/ inline Backup& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *The time when a particular backup was created.
*/ inline Backup& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *The ID of the Key Management Service (KMS) key used to encrypt the backup of * the Amazon FSx file system's data at rest.
*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *The ID of the Key Management Service (KMS) key used to encrypt the backup of * the Amazon FSx file system's data at rest.
*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *The ID of the Key Management Service (KMS) key used to encrypt the backup of * the Amazon FSx file system's data at rest.
*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *The ID of the Key Management Service (KMS) key used to encrypt the backup of * the Amazon FSx file system's data at rest.
*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *The ID of the Key Management Service (KMS) key used to encrypt the backup of * the Amazon FSx file system's data at rest.
*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *The ID of the Key Management Service (KMS) key used to encrypt the backup of * the Amazon FSx file system's data at rest.
*/ inline Backup& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *The ID of the Key Management Service (KMS) key used to encrypt the backup of * the Amazon FSx file system's data at rest.
*/ inline Backup& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *The ID of the Key Management Service (KMS) key used to encrypt the backup of * the Amazon FSx file system's data at rest.
*/ inline Backup& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *The Amazon Resource Name (ARN) for the backup resource.
*/ inline const Aws::String& GetResourceARN() const{ return m_resourceARN; } /** *The Amazon Resource Name (ARN) for the backup resource.
*/ inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; } /** *The Amazon Resource Name (ARN) for the backup resource.
*/ inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; } /** *The Amazon Resource Name (ARN) for the backup resource.
*/ inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); } /** *The Amazon Resource Name (ARN) for the backup resource.
*/ inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); } /** *The Amazon Resource Name (ARN) for the backup resource.
*/ inline Backup& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;} /** *The Amazon Resource Name (ARN) for the backup resource.
*/ inline Backup& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) for the backup resource.
*/ inline Backup& WithResourceARN(const char* value) { SetResourceARN(value); return *this;} /** *The tags associated with a particular file system.
*/ inline const Aws::VectorThe tags associated with a particular file system.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tags associated with a particular file system.
*/ inline void SetTags(const Aws::VectorThe tags associated with a particular file system.
*/ inline void SetTags(Aws::VectorThe tags associated with a particular file system.
*/ inline Backup& WithTags(const Aws::VectorThe tags associated with a particular file system.
*/ inline Backup& WithTags(Aws::VectorThe tags associated with a particular file system.
*/ inline Backup& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *The tags associated with a particular file system.
*/ inline Backup& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *The metadata of the file system associated with the backup. This metadata is * persisted even if the file system is deleted.
*/ inline const FileSystem& GetFileSystem() const{ return m_fileSystem; } /** *The metadata of the file system associated with the backup. This metadata is * persisted even if the file system is deleted.
*/ inline bool FileSystemHasBeenSet() const { return m_fileSystemHasBeenSet; } /** *The metadata of the file system associated with the backup. This metadata is * persisted even if the file system is deleted.
*/ inline void SetFileSystem(const FileSystem& value) { m_fileSystemHasBeenSet = true; m_fileSystem = value; } /** *The metadata of the file system associated with the backup. This metadata is * persisted even if the file system is deleted.
*/ inline void SetFileSystem(FileSystem&& value) { m_fileSystemHasBeenSet = true; m_fileSystem = std::move(value); } /** *The metadata of the file system associated with the backup. This metadata is * persisted even if the file system is deleted.
*/ inline Backup& WithFileSystem(const FileSystem& value) { SetFileSystem(value); return *this;} /** *The metadata of the file system associated with the backup. This metadata is * persisted even if the file system is deleted.
*/ inline Backup& WithFileSystem(FileSystem&& value) { SetFileSystem(std::move(value)); return *this;} /** *The configuration of the self-managed Microsoft Active Directory directory to * which the Windows File Server instance is joined.
*/ inline const ActiveDirectoryBackupAttributes& GetDirectoryInformation() const{ return m_directoryInformation; } /** *The configuration of the self-managed Microsoft Active Directory directory to * which the Windows File Server instance is joined.
*/ inline bool DirectoryInformationHasBeenSet() const { return m_directoryInformationHasBeenSet; } /** *The configuration of the self-managed Microsoft Active Directory directory to * which the Windows File Server instance is joined.
*/ inline void SetDirectoryInformation(const ActiveDirectoryBackupAttributes& value) { m_directoryInformationHasBeenSet = true; m_directoryInformation = value; } /** *The configuration of the self-managed Microsoft Active Directory directory to * which the Windows File Server instance is joined.
*/ inline void SetDirectoryInformation(ActiveDirectoryBackupAttributes&& value) { m_directoryInformationHasBeenSet = true; m_directoryInformation = std::move(value); } /** *The configuration of the self-managed Microsoft Active Directory directory to * which the Windows File Server instance is joined.
*/ inline Backup& WithDirectoryInformation(const ActiveDirectoryBackupAttributes& value) { SetDirectoryInformation(value); return *this;} /** *The configuration of the self-managed Microsoft Active Directory directory to * which the Windows File Server instance is joined.
*/ inline Backup& WithDirectoryInformation(ActiveDirectoryBackupAttributes&& value) { SetDirectoryInformation(std::move(value)); return *this;} inline const Aws::String& GetOwnerId() const{ return m_ownerId; } inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } inline Backup& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} inline Backup& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} inline Backup& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} inline const Aws::String& GetSourceBackupId() const{ return m_sourceBackupId; } inline bool SourceBackupIdHasBeenSet() const { return m_sourceBackupIdHasBeenSet; } inline void SetSourceBackupId(const Aws::String& value) { m_sourceBackupIdHasBeenSet = true; m_sourceBackupId = value; } inline void SetSourceBackupId(Aws::String&& value) { m_sourceBackupIdHasBeenSet = true; m_sourceBackupId = std::move(value); } inline void SetSourceBackupId(const char* value) { m_sourceBackupIdHasBeenSet = true; m_sourceBackupId.assign(value); } inline Backup& WithSourceBackupId(const Aws::String& value) { SetSourceBackupId(value); return *this;} inline Backup& WithSourceBackupId(Aws::String&& value) { SetSourceBackupId(std::move(value)); return *this;} inline Backup& WithSourceBackupId(const char* value) { SetSourceBackupId(value); return *this;} /** *The source Region of the backup. Specifies the Region from where this backup * is copied.
*/ inline const Aws::String& GetSourceBackupRegion() const{ return m_sourceBackupRegion; } /** *The source Region of the backup. Specifies the Region from where this backup * is copied.
*/ inline bool SourceBackupRegionHasBeenSet() const { return m_sourceBackupRegionHasBeenSet; } /** *The source Region of the backup. Specifies the Region from where this backup * is copied.
*/ inline void SetSourceBackupRegion(const Aws::String& value) { m_sourceBackupRegionHasBeenSet = true; m_sourceBackupRegion = value; } /** *The source Region of the backup. Specifies the Region from where this backup * is copied.
*/ inline void SetSourceBackupRegion(Aws::String&& value) { m_sourceBackupRegionHasBeenSet = true; m_sourceBackupRegion = std::move(value); } /** *The source Region of the backup. Specifies the Region from where this backup * is copied.
*/ inline void SetSourceBackupRegion(const char* value) { m_sourceBackupRegionHasBeenSet = true; m_sourceBackupRegion.assign(value); } /** *The source Region of the backup. Specifies the Region from where this backup * is copied.
*/ inline Backup& WithSourceBackupRegion(const Aws::String& value) { SetSourceBackupRegion(value); return *this;} /** *The source Region of the backup. Specifies the Region from where this backup * is copied.
*/ inline Backup& WithSourceBackupRegion(Aws::String&& value) { SetSourceBackupRegion(std::move(value)); return *this;} /** *The source Region of the backup. Specifies the Region from where this backup * is copied.
*/ inline Backup& WithSourceBackupRegion(const char* value) { SetSourceBackupRegion(value); return *this;} /** *Specifies the resource type that's backed up.
*/ inline const ResourceType& GetResourceType() const{ return m_resourceType; } /** *Specifies the resource type that's backed up.
*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *Specifies the resource type that's backed up.
*/ inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *Specifies the resource type that's backed up.
*/ inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *Specifies the resource type that's backed up.
*/ inline Backup& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *Specifies the resource type that's backed up.
*/ inline Backup& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} inline const Volume& GetVolume() const{ return m_volume; } inline bool VolumeHasBeenSet() const { return m_volumeHasBeenSet; } inline void SetVolume(const Volume& value) { m_volumeHasBeenSet = true; m_volume = value; } inline void SetVolume(Volume&& value) { m_volumeHasBeenSet = true; m_volume = std::move(value); } inline Backup& WithVolume(const Volume& value) { SetVolume(value); return *this;} inline Backup& WithVolume(Volume&& value) { SetVolume(std::move(value)); return *this;} private: Aws::String m_backupId; bool m_backupIdHasBeenSet = false; BackupLifecycle m_lifecycle; bool m_lifecycleHasBeenSet = false; BackupFailureDetails m_failureDetails; bool m_failureDetailsHasBeenSet = false; BackupType m_type; bool m_typeHasBeenSet = false; int m_progressPercent; bool m_progressPercentHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_resourceARN; bool m_resourceARNHasBeenSet = false; Aws::Vector