/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the fsx-2018-03-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.FSx.Model
{
///
/// 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.
///
public partial class Backup
{
private string _backupId;
private DateTime? _creationTime;
private ActiveDirectoryBackupAttributes _directoryInformation;
private BackupFailureDetails _failureDetails;
private FileSystem _fileSystem;
private string _kmsKeyId;
private BackupLifecycle _lifecycle;
private string _ownerId;
private int? _progressPercent;
private string _resourceARN;
private ResourceType _resourceType;
private string _sourceBackupId;
private string _sourceBackupRegion;
private List _tags = new List();
private BackupType _type;
private Volume _volume;
///
/// Gets and sets the property BackupId.
///
/// The ID of the backup.
///
///
[AWSProperty(Required=true, Min=12, Max=128)]
public string BackupId
{
get { return this._backupId; }
set { this._backupId = value; }
}
// Check to see if BackupId property is set
internal bool IsSetBackupId()
{
return this._backupId != null;
}
///
/// Gets and sets the property CreationTime.
///
/// The time when a particular backup was created.
///
///
[AWSProperty(Required=true)]
public DateTime CreationTime
{
get { return this._creationTime.GetValueOrDefault(); }
set { this._creationTime = value; }
}
// Check to see if CreationTime property is set
internal bool IsSetCreationTime()
{
return this._creationTime.HasValue;
}
///
/// Gets and sets the property DirectoryInformation.
///
/// The configuration of the self-managed Microsoft Active Directory directory to which
/// the Windows File Server instance is joined.
///
///
public ActiveDirectoryBackupAttributes DirectoryInformation
{
get { return this._directoryInformation; }
set { this._directoryInformation = value; }
}
// Check to see if DirectoryInformation property is set
internal bool IsSetDirectoryInformation()
{
return this._directoryInformation != null;
}
///
/// Gets and sets the property FailureDetails.
///
/// Details explaining any failures that occurred when creating a backup.
///
///
public BackupFailureDetails FailureDetails
{
get { return this._failureDetails; }
set { this._failureDetails = value; }
}
// Check to see if FailureDetails property is set
internal bool IsSetFailureDetails()
{
return this._failureDetails != null;
}
///
/// Gets and sets the property FileSystem.
///
/// The metadata of the file system associated with the backup. This metadata is persisted
/// even if the file system is deleted.
///
///
[AWSProperty(Required=true)]
public FileSystem FileSystem
{
get { return this._fileSystem; }
set { this._fileSystem = value; }
}
// Check to see if FileSystem property is set
internal bool IsSetFileSystem()
{
return this._fileSystem != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1, Max=2048)]
public string KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
///
/// Gets and sets the property Lifecycle.
///
/// 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.
///
///
///
[AWSProperty(Required=true)]
public BackupLifecycle Lifecycle
{
get { return this._lifecycle; }
set { this._lifecycle = value; }
}
// Check to see if Lifecycle property is set
internal bool IsSetLifecycle()
{
return this._lifecycle != null;
}
///
/// Gets and sets the property OwnerId.
///
[AWSProperty(Min=12, Max=12)]
public string OwnerId
{
get { return this._ownerId; }
set { this._ownerId = value; }
}
// Check to see if OwnerId property is set
internal bool IsSetOwnerId()
{
return this._ownerId != null;
}
///
/// Gets and sets the property ProgressPercent.
///
[AWSProperty(Min=0, Max=100)]
public int ProgressPercent
{
get { return this._progressPercent.GetValueOrDefault(); }
set { this._progressPercent = value; }
}
// Check to see if ProgressPercent property is set
internal bool IsSetProgressPercent()
{
return this._progressPercent.HasValue;
}
///
/// Gets and sets the property ResourceARN.
///
/// The Amazon Resource Name (ARN) for the backup resource.
///
///
[AWSProperty(Min=8, Max=512)]
public string ResourceARN
{
get { return this._resourceARN; }
set { this._resourceARN = value; }
}
// Check to see if ResourceARN property is set
internal bool IsSetResourceARN()
{
return this._resourceARN != null;
}
///
/// Gets and sets the property ResourceType.
///
/// Specifies the resource type that's backed up.
///
///
public ResourceType ResourceType
{
get { return this._resourceType; }
set { this._resourceType = value; }
}
// Check to see if ResourceType property is set
internal bool IsSetResourceType()
{
return this._resourceType != null;
}
///
/// Gets and sets the property SourceBackupId.
///
[AWSProperty(Min=12, Max=128)]
public string SourceBackupId
{
get { return this._sourceBackupId; }
set { this._sourceBackupId = value; }
}
// Check to see if SourceBackupId property is set
internal bool IsSetSourceBackupId()
{
return this._sourceBackupId != null;
}
///
/// Gets and sets the property SourceBackupRegion.
///
/// The source Region of the backup. Specifies the Region from where this backup is copied.
///
///
[AWSProperty(Min=1, Max=20)]
public string SourceBackupRegion
{
get { return this._sourceBackupRegion; }
set { this._sourceBackupRegion = value; }
}
// Check to see if SourceBackupRegion property is set
internal bool IsSetSourceBackupRegion()
{
return this._sourceBackupRegion != null;
}
///
/// Gets and sets the property Tags.
///
/// The tags associated with a particular file system.
///
///
[AWSProperty(Min=1, Max=50)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property Type.
///
/// The type of the file-system backup.
///
///
[AWSProperty(Required=true)]
public BackupType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property Volume.
///
public Volume Volume
{
get { return this._volume; }
set { this._volume = value; }
}
// Check to see if Volume property is set
internal bool IsSetVolume()
{
return this._volume != null;
}
}
}