/*
* 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
{
///
/// This is the response object from the DescribeRecoveryPoint operation.
///
public partial class DescribeRecoveryPointResponse : AmazonWebServiceResponse
{
private long? _backupSizeInBytes;
private string _backupVaultArn;
private string _backupVaultName;
private CalculatedLifecycle _calculatedLifecycle;
private DateTime? _completionDate;
private string _compositeMemberIdentifier;
private RecoveryPointCreator _createdBy;
private DateTime? _creationDate;
private string _encryptionKeyArn;
private string _iamRoleArn;
private bool? _isEncrypted;
private bool? _isParent;
private DateTime? _lastRestoreTime;
private Lifecycle _lifecycle;
private string _parentRecoveryPointArn;
private string _recoveryPointArn;
private string _resourceArn;
private string _resourceName;
private string _resourceType;
private string _sourceBackupVaultArn;
private RecoveryPointStatus _status;
private string _statusMessage;
private StorageClass _storageClass;
///
/// Gets and sets the property BackupSizeInBytes.
///
/// The size, in bytes, of a backup.
///
///
public long BackupSizeInBytes
{
get { return this._backupSizeInBytes.GetValueOrDefault(); }
set { this._backupSizeInBytes = value; }
}
// Check to see if BackupSizeInBytes property is set
internal bool IsSetBackupSizeInBytes()
{
return this._backupSizeInBytes.HasValue;
}
///
/// Gets and sets the property BackupVaultArn.
///
/// An 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 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 CalculatedLifecycle.
///
/// A CalculatedLifecycle
object containing DeleteAt
and MoveToColdStorageAt
/// timestamps.
///
///
public CalculatedLifecycle CalculatedLifecycle
{
get { return this._calculatedLifecycle; }
set { this._calculatedLifecycle = value; }
}
// Check to see if CalculatedLifecycle property is set
internal bool IsSetCalculatedLifecycle()
{
return this._calculatedLifecycle != null;
}
///
/// Gets and sets the property CompletionDate.
///
/// The date and time that a job to create a recovery point is completed, in Unix format
/// and Coordinated Universal Time (UTC). The value of CompletionDate
is
/// accurate to milliseconds. For example, the value 1516925490.087 represents Friday,
/// January 26, 2018 12:11:30.087 AM.
///
///
public DateTime CompletionDate
{
get { return this._completionDate.GetValueOrDefault(); }
set { this._completionDate = value; }
}
// Check to see if CompletionDate property is set
internal bool IsSetCompletionDate()
{
return this._completionDate.HasValue;
}
///
/// Gets and sets the property CompositeMemberIdentifier.
///
/// This is the identifier of a resource within a composite group, such as nested (child)
/// recovery point belonging to a composite (parent) stack. The ID is transferred from
/// the
/// logical ID within a stack.
///
///
public string CompositeMemberIdentifier
{
get { return this._compositeMemberIdentifier; }
set { this._compositeMemberIdentifier = value; }
}
// Check to see if CompositeMemberIdentifier property is set
internal bool IsSetCompositeMemberIdentifier()
{
return this._compositeMemberIdentifier != null;
}
///
/// Gets and sets the property CreatedBy.
///
/// Contains identifying information about the creation of a recovery point, including
/// the BackupPlanArn
, BackupPlanId
, BackupPlanVersion
,
/// and BackupRuleId
of the backup plan used to create it.
///
///
public RecoveryPointCreator CreatedBy
{
get { return this._createdBy; }
set { this._createdBy = value; }
}
// Check to see if CreatedBy property is set
internal bool IsSetCreatedBy()
{
return this._createdBy != null;
}
///
/// Gets and sets the property CreationDate.
///
/// The date and time that a recovery point 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 EncryptionKeyArn.
///
/// The server-side encryption key used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
///
///
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 IamRoleArn.
///
/// Specifies the IAM role ARN used to create the target recovery point; for example,
/// arn:aws:iam::123456789012:role/S3Access
.
///
///
public string IamRoleArn
{
get { return this._iamRoleArn; }
set { this._iamRoleArn = value; }
}
// Check to see if IamRoleArn property is set
internal bool IsSetIamRoleArn()
{
return this._iamRoleArn != null;
}
///
/// Gets and sets the property IsEncrypted.
///
/// A Boolean value that is returned as TRUE
if the specified recovery point
/// is encrypted, or FALSE
if the recovery point is not encrypted.
///
///
public bool IsEncrypted
{
get { return this._isEncrypted.GetValueOrDefault(); }
set { this._isEncrypted = value; }
}
// Check to see if IsEncrypted property is set
internal bool IsSetIsEncrypted()
{
return this._isEncrypted.HasValue;
}
///
/// Gets and sets the property IsParent.
///
/// This returns the boolean value that a recovery point is a parent (composite) job.
///
///
public bool IsParent
{
get { return this._isParent.GetValueOrDefault(); }
set { this._isParent = value; }
}
// Check to see if IsParent property is set
internal bool IsSetIsParent()
{
return this._isParent.HasValue;
}
///
/// Gets and sets the property LastRestoreTime.
///
/// The date and time that a recovery point was last restored, in Unix format and Coordinated
/// Universal Time (UTC). The value of LastRestoreTime
is accurate to milliseconds.
/// For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087
/// AM.
///
///
public DateTime LastRestoreTime
{
get { return this._lastRestoreTime.GetValueOrDefault(); }
set { this._lastRestoreTime = value; }
}
// Check to see if LastRestoreTime property is set
internal bool IsSetLastRestoreTime()
{
return this._lastRestoreTime.HasValue;
}
///
/// Gets and sets the property Lifecycle.
///
/// The lifecycle defines when a protected resource is transitioned to cold storage and
/// when it expires. Backup transitions and expires backups automatically according to
/// the lifecycle that you define.
///
///
///
/// Backups that are transitioned to cold storage must be stored in cold storage for a
/// minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than
/// the “transition to cold after days” setting. The “transition to cold after days” setting
/// cannot be changed after a backup has been transitioned to cold.
///
///
///
/// Resource types that are able to be transitioned to cold storage are listed in the
/// "Lifecycle to cold storage" section of the
/// Feature availability by resource table. Backup ignores this expression for other
/// resource types.
///
///
public Lifecycle 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 ParentRecoveryPointArn.
///
/// This is an ARN that uniquely identifies a parent (composite) recovery point; for example,
/// arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45
.
///
///
public string ParentRecoveryPointArn
{
get { return this._parentRecoveryPointArn; }
set { this._parentRecoveryPointArn = value; }
}
// Check to see if ParentRecoveryPointArn property is set
internal bool IsSetParentRecoveryPointArn()
{
return this._parentRecoveryPointArn != null;
}
///
/// Gets and sets the property RecoveryPointArn.
///
/// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45
.
///
///
public string RecoveryPointArn
{
get { return this._recoveryPointArn; }
set { this._recoveryPointArn = value; }
}
// Check to see if RecoveryPointArn property is set
internal bool IsSetRecoveryPointArn()
{
return this._recoveryPointArn != null;
}
///
/// Gets and sets the property ResourceArn.
///
/// An ARN that uniquely identifies a saved resource. The format of the ARN depends on
/// the resource type.
///
///
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 ResourceName.
///
/// This is the non-unique name of the resource that belongs to the specified backup.
///
///
public string ResourceName
{
get { return this._resourceName; }
set { this._resourceName = value; }
}
// Check to see if ResourceName property is set
internal bool IsSetResourceName()
{
return this._resourceName != null;
}
///
/// Gets and sets the property ResourceType.
///
/// The type of Amazon Web Services resource to save as a recovery point; for example,
/// an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database
/// Service (Amazon RDS) database.
///
///
public string 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 SourceBackupVaultArn.
///
/// An Amazon Resource Name (ARN) that uniquely identifies the source vault where the
/// resource was originally backed up in; for example, arn:aws:backup:us-east-1:123456789012:vault:BackupVault
.
/// If the recovery is restored to the same Amazon Web Services account or Region, this
/// value will be null
.
///
///
public string SourceBackupVaultArn
{
get { return this._sourceBackupVaultArn; }
set { this._sourceBackupVaultArn = value; }
}
// Check to see if SourceBackupVaultArn property is set
internal bool IsSetSourceBackupVaultArn()
{
return this._sourceBackupVaultArn != null;
}
///
/// Gets and sets the property Status.
///
/// A status code specifying the state of the recovery point.
///
///
///
/// PARTIAL
status indicates Backup could not create the recovery point
/// before the backup window closed. To increase your backup plan window using the API,
/// see UpdateBackupPlan.
/// You can also increase your backup plan window using the Console by choosing and editing
/// your backup plan.
///
///
///
/// EXPIRED
status indicates that the recovery point has exceeded its retention
/// period, but Backup lacks permission or is otherwise unable to delete it. To manually
/// delete these recovery points, see
/// Step 3: Delete the recovery points in the Clean up resources section of
/// Getting started.
///
///
///
/// STOPPED
status occurs on a continuous backup where a user has taken
/// some action that causes the continuous backup to be disabled. This can be caused by
/// the removal of permissions, turning off versioning, turning off events being sent
/// to EventBridge, or disabling the EventBridge rules that are put in place by Backup.
///
///
///
/// To resolve STOPPED
status, ensure that all requested permissions are
/// in place and that versioning is enabled on the S3 bucket. Once these conditions are
/// met, the next instance of a backup rule running will result in a new continuous recovery
/// point being created. The recovery points with STOPPED status do not need to be deleted.
///
///
///
/// For SAP HANA on Amazon EC2 STOPPED
status occurs due to user action,
/// application misconfiguration, or backup failure. To ensure that future continuous
/// backups succeed, refer to the recovery point status and check SAP HANA for details.
///
///
public RecoveryPointStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property StatusMessage.
///
/// A status message explaining the status of the recovery point.
///
///
public string StatusMessage
{
get { return this._statusMessage; }
set { this._statusMessage = value; }
}
// Check to see if StatusMessage property is set
internal bool IsSetStatusMessage()
{
return this._statusMessage != null;
}
///
/// Gets and sets the property StorageClass.
///
/// Specifies the storage class of the recovery point. Valid values are WARM
/// or COLD
.
///
///
public StorageClass StorageClass
{
get { return this._storageClass; }
set { this._storageClass = value; }
}
// Check to see if StorageClass property is set
internal bool IsSetStorageClass()
{
return this._storageClass != null;
}
}
}