/* * 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 { /// /// Container for the parameters to the StartRestoreJob operation. /// Recovers the saved resource identified by an Amazon Resource Name (ARN). /// public partial class StartRestoreJobRequest : AmazonBackupRequest { private bool? _copySourceTagsToRestoredResource; private string _iamRoleArn; private string _idempotencyToken; private Dictionary _metadata = new Dictionary(); private string _recoveryPointArn; private string _resourceType; /// /// Gets and sets the property CopySourceTagsToRestoredResource. /// /// This is an optional parameter. If this equals True, tags included in /// the backup will be copied to the restored resource. /// /// /// /// This can only be applied to backups created through Backup. /// /// public bool CopySourceTagsToRestoredResource { get { return this._copySourceTagsToRestoredResource.GetValueOrDefault(); } set { this._copySourceTagsToRestoredResource = value; } } // Check to see if CopySourceTagsToRestoredResource property is set internal bool IsSetCopySourceTagsToRestoredResource() { return this._copySourceTagsToRestoredResource.HasValue; } /// /// Gets and sets the property IamRoleArn. /// /// The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the target /// resource; 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 IdempotencyToken. /// /// A customer-chosen string that you can use to distinguish between otherwise identical /// calls to StartRestoreJob. Retrying a successful request with the same /// idempotency token results in a success message with no action taken. /// /// public string IdempotencyToken { get { return this._idempotencyToken; } set { this._idempotencyToken = value; } } // Check to see if IdempotencyToken property is set internal bool IsSetIdempotencyToken() { return this._idempotencyToken != null; } /// /// Gets and sets the property Metadata. /// /// A set of metadata key-value pairs. Contains information, such as a resource name, /// required to restore a recovery point. /// /// /// /// You can get configuration metadata about a resource at the time it was backed up /// by calling GetRecoveryPointRestoreMetadata. However, values in addition /// to those provided by GetRecoveryPointRestoreMetadata might be required /// to restore a resource. For example, you might need to provide a new resource name /// if the original already exists. /// /// /// /// You need to specify specific metadata to restore an Amazon Elastic File System (Amazon /// EFS) instance: /// ///
  • /// /// file-system-id: The ID of the Amazon EFS file system that is backed /// up by Backup. Returned in GetRecoveryPointRestoreMetadata. /// ///
  • /// /// Encrypted: A Boolean value that, if true, specifies that the file system /// is encrypted. If KmsKeyId is specified, Encrypted must be /// set to true. /// ///
  • /// /// KmsKeyId: Specifies the Amazon Web Services KMS key that is used to /// encrypt the restored file system. You can specify a key from another Amazon Web Services /// account provided that key it is properly shared with your account via Amazon Web Services /// KMS. /// ///
  • /// /// PerformanceMode: Specifies the throughput mode of the file system. /// ///
  • /// /// CreationToken: A user-supplied value that ensures the uniqueness (idempotency) /// of the request. /// ///
  • /// /// newFileSystem: A Boolean value that, if true, specifies that the recovery /// point is restored to a new Amazon EFS file system. /// ///
  • /// /// ItemsToRestore: An array of one to five strings where each string is /// a file path. Use ItemsToRestore to restore specific files or directories /// rather than the entire file system. This parameter is optional. For example, "itemsToRestore":"[\"/my.test\"]". /// ///
///
[AWSProperty(Required=true, Sensitive=true)] public Dictionary Metadata { get { return this._metadata; } set { this._metadata = value; } } // Check to see if Metadata property is set internal bool IsSetMetadata() { return this._metadata != null && this._metadata.Count > 0; } /// /// 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. /// /// [AWSProperty(Required=true)] 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 ResourceType. /// /// Starts a job to restore a recovery point for one of the following resources: /// ///
  • /// /// Aurora for Amazon Aurora /// ///
  • /// /// DocumentDB for Amazon DocumentDB (with MongoDB compatibility) /// ///
  • /// /// CloudFormation for CloudFormation /// ///
  • /// /// DynamoDB for Amazon DynamoDB /// ///
  • /// /// EBS for Amazon Elastic Block Store /// ///
  • /// /// EC2 for Amazon Elastic Compute Cloud /// ///
  • /// /// EFS for Amazon Elastic File System /// ///
  • /// /// FSx for Amazon FSx /// ///
  • /// /// Neptune for Amazon Neptune /// ///
  • /// /// RDS for Amazon Relational Database Service /// ///
  • /// /// Redshift for Amazon Redshift /// ///
  • /// /// Storage Gateway for Storage Gateway /// ///
  • /// /// S3 for Amazon S3 /// ///
  • /// /// Timestream for Amazon Timestream /// ///
  • /// /// VirtualMachine for virtual machines /// ///
///
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; } } }