/*
* 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 backup-2018-11-15.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.Backup.Model
{
///
/// Contains metadata about a backup vault.
///
public partial class BackupVaultListMember
{
private string _backupVaultArn;
private string _backupVaultName;
private DateTime? _creationDate;
private string _creatorRequestId;
private string _encryptionKeyArn;
private DateTime? _lockDate;
private bool? _locked;
private long? _maxRetentionDays;
private long? _minRetentionDays;
private long? _numberOfRecoveryPoints;
///
/// Gets and sets the property BackupVaultArn.
///
/// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,
/// arn:aws:backup:us-east-1:123456789012:vault:aBackupVault
.
///
///
public string BackupVaultArn
{
get { return this._backupVaultArn; }
set { this._backupVaultArn = value; }
}
// Check to see if BackupVaultArn property is set
internal bool IsSetBackupVaultArn()
{
return this._backupVaultArn != null;
}
///
/// Gets and sets the property BackupVaultName.
///
/// The name of a logical container where backups are stored. Backup vaults are identified
/// by names that are unique to the account used to create them and the Amazon Web Services
/// Region where they are created. They consist of lowercase letters, numbers, and hyphens.
///
///
public string BackupVaultName
{
get { return this._backupVaultName; }
set { this._backupVaultName = value; }
}
// Check to see if BackupVaultName property is set
internal bool IsSetBackupVaultName()
{
return this._backupVaultName != null;
}
///
/// Gets and sets the property CreationDate.
///
/// The date and time a resource backup is created, in Unix format and Coordinated Universal
/// Time (UTC). The value of CreationDate
is accurate to milliseconds. For
/// example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087
/// AM.
///
///
public DateTime CreationDate
{
get { return this._creationDate.GetValueOrDefault(); }
set { this._creationDate = value; }
}
// Check to see if CreationDate property is set
internal bool IsSetCreationDate()
{
return this._creationDate.HasValue;
}
///
/// Gets and sets the property CreatorRequestId.
///
/// A unique string that identifies the request and allows failed requests to be retried
/// without the risk of running the operation twice. This parameter is optional.
///
///
///
/// If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.
///
///
public string CreatorRequestId
{
get { return this._creatorRequestId; }
set { this._creatorRequestId = value; }
}
// Check to see if CreatorRequestId property is set
internal bool IsSetCreatorRequestId()
{
return this._creatorRequestId != null;
}
///
/// Gets and sets the property EncryptionKeyArn.
///
/// A server-side encryption key you can specify to encrypt your backups from services
/// that support full Backup management; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
/// If you specify a key, you must specify its ARN, not its alias. If you do not specify
/// a key, Backup creates a KMS key for you by default.
///
///
///
/// To learn which Backup services support full Backup management and how Backup handles
/// encryption for backups from services that do not yet support full Backup, see
/// Encryption for backups in Backup
///
///
public string EncryptionKeyArn
{
get { return this._encryptionKeyArn; }
set { this._encryptionKeyArn = value; }
}
// Check to see if EncryptionKeyArn property is set
internal bool IsSetEncryptionKeyArn()
{
return this._encryptionKeyArn != null;
}
///
/// Gets and sets the property LockDate.
///
/// The date and time when Backup Vault Lock configuration becomes immutable, meaning
/// it cannot be changed or deleted.
///
///
///
/// If you applied Vault Lock to your vault without specifying a lock date, you can change
/// your Vault Lock settings, or delete Vault Lock from the vault entirely, at any time.
///
///
///
/// This value is in Unix format, Coordinated Universal Time (UTC), and accurate to milliseconds.
/// For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087
/// AM.
///
///
public DateTime LockDate
{
get { return this._lockDate.GetValueOrDefault(); }
set { this._lockDate = value; }
}
// Check to see if LockDate property is set
internal bool IsSetLockDate()
{
return this._lockDate.HasValue;
}
///
/// Gets and sets the property Locked.
///
/// A Boolean value that indicates whether Backup Vault Lock applies to the selected backup
/// vault. If true
, Vault Lock prevents delete and update operations on the
/// recovery points in the selected vault.
///
///
public bool Locked
{
get { return this._locked.GetValueOrDefault(); }
set { this._locked = value; }
}
// Check to see if Locked property is set
internal bool IsSetLocked()
{
return this._locked.HasValue;
}
///
/// Gets and sets the property MaxRetentionDays.
///
/// The Backup Vault Lock setting that specifies the maximum retention period that the
/// vault retains its recovery points. If this parameter is not specified, Vault Lock
/// does not enforce a maximum retention period on the recovery points in the vault (allowing
/// indefinite storage).
///
///
///
/// If specified, any backup or copy job to the vault must have a lifecycle policy with
/// a retention period equal to or shorter than the maximum retention period. If the job's
/// retention period is longer than that maximum retention period, then the vault fails
/// the backup or copy job, and you should either modify your lifecycle settings or use
/// a different vault. Recovery points already stored in the vault prior to Vault Lock
/// are not affected.
///
///
public long MaxRetentionDays
{
get { return this._maxRetentionDays.GetValueOrDefault(); }
set { this._maxRetentionDays = value; }
}
// Check to see if MaxRetentionDays property is set
internal bool IsSetMaxRetentionDays()
{
return this._maxRetentionDays.HasValue;
}
///
/// Gets and sets the property MinRetentionDays.
///
/// The Backup Vault Lock setting that specifies the minimum retention period that the
/// vault retains its recovery points. If this parameter is not specified, Vault Lock
/// does not enforce a minimum retention period.
///
///
///
/// If specified, any backup or copy job to the vault must have a lifecycle policy with
/// a retention period equal to or longer than the minimum retention period. If the job's
/// retention period is shorter than that minimum retention period, then the vault fails
/// the backup or copy job, and you should either modify your lifecycle settings or use
/// a different vault. Recovery points already stored in the vault prior to Vault Lock
/// are not affected.
///
///
public long MinRetentionDays
{
get { return this._minRetentionDays.GetValueOrDefault(); }
set { this._minRetentionDays = value; }
}
// Check to see if MinRetentionDays property is set
internal bool IsSetMinRetentionDays()
{
return this._minRetentionDays.HasValue;
}
///
/// Gets and sets the property NumberOfRecoveryPoints.
///
/// The number of recovery points that are stored in a backup vault.
///
///
public long NumberOfRecoveryPoints
{
get { return this._numberOfRecoveryPoints.GetValueOrDefault(); }
set { this._numberOfRecoveryPoints = value; }
}
// Check to see if NumberOfRecoveryPoints property is set
internal bool IsSetNumberOfRecoveryPoints()
{
return this._numberOfRecoveryPoints.HasValue;
}
}
}