1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`StartRestoreJob`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`recovery_point_arn(impl Into<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::recovery_point_arn) / [`set_recovery_point_arn(Option<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::set_recovery_point_arn):<br>required: **true**<br><p>An ARN that uniquely identifies a recovery point; for example, <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p><br>
    ///   - [`metadata(impl Into<String>, impl Into<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::metadata) / [`set_metadata(Option<HashMap::<String, String>>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::set_metadata):<br>required: **true**<br><p>A set of metadata key-value pairs. Contains information, such as a resource name, required to restore a recovery point.</p> <p>You can get configuration metadata about a resource at the time it was backed up by calling <code>GetRecoveryPointRestoreMetadata</code>. However, values in addition to those provided by <code>GetRecoveryPointRestoreMetadata</code> might be required to restore a resource. For example, you might need to provide a new resource name if the original already exists.</p> <p>You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS) instance:</p> <ul>  <li>   <p><code>file-system-id</code>: The ID of the Amazon EFS file system that is backed up by Backup. Returned in <code>GetRecoveryPointRestoreMetadata</code>.</p></li>  <li>   <p><code>Encrypted</code>: A Boolean value that, if true, specifies that the file system is encrypted. If <code>KmsKeyId</code> is specified, <code>Encrypted</code> must be set to <code>true</code>.</p></li>  <li>   <p><code>KmsKeyId</code>: 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.</p></li>  <li>   <p><code>PerformanceMode</code>: Specifies the throughput mode of the file system.</p></li>  <li>   <p><code>CreationToken</code>: A user-supplied value that ensures the uniqueness (idempotency) of the request.</p></li>  <li>   <p><code>newFileSystem</code>: A Boolean value that, if true, specifies that the recovery point is restored to a new Amazon EFS file system.</p></li>  <li>   <p><code>ItemsToRestore</code>: An array of one to five strings where each string is a file path. Use <code>ItemsToRestore</code> to restore specific files or directories rather than the entire file system. This parameter is optional. For example, <code>"itemsToRestore":"[\"/my.test\"]"</code>.</p></li> </ul><br>
    ///   - [`iam_role_arn(impl Into<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::set_iam_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the target resource; for example: <code>arn:aws:iam::123456789012:role/S3Access</code>.</p><br>
    ///   - [`idempotency_token(impl Into<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::idempotency_token) / [`set_idempotency_token(Option<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::set_idempotency_token):<br>required: **false**<br><p>A customer-chosen string that you can use to distinguish between otherwise identical calls to <code>StartRestoreJob</code>. Retrying a successful request with the same idempotency token results in a success message with no action taken.</p><br>
    ///   - [`resource_type(impl Into<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::resource_type) / [`set_resource_type(Option<String>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::set_resource_type):<br>required: **false**<br><p>Starts a job to restore a recovery point for one of the following resources:</p> <ul>  <li>   <p><code>Aurora</code> for Amazon Aurora</p></li>  <li>   <p><code>DocumentDB</code> for Amazon DocumentDB (with MongoDB compatibility)</p></li>  <li>   <p><code>CloudFormation</code> for CloudFormation</p></li>  <li>   <p><code>DynamoDB</code> for Amazon DynamoDB</p></li>  <li>   <p><code>EBS</code> for Amazon Elastic Block Store</p></li>  <li>   <p><code>EC2</code> for Amazon Elastic Compute Cloud</p></li>  <li>   <p><code>EFS</code> for Amazon Elastic File System</p></li>  <li>   <p><code>FSx</code> for Amazon FSx</p></li>  <li>   <p><code>Neptune</code> for Amazon Neptune</p></li>  <li>   <p><code>RDS</code> for Amazon Relational Database Service</p></li>  <li>   <p><code>Redshift</code> for Amazon Redshift</p></li>  <li>   <p><code>Storage Gateway</code> for Storage Gateway</p></li>  <li>   <p><code>S3</code> for Amazon S3</p></li>  <li>   <p><code>Timestream</code> for Amazon Timestream</p></li>  <li>   <p><code>VirtualMachine</code> for virtual machines</p></li> </ul><br>
    ///   - [`copy_source_tags_to_restored_resource(bool)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::copy_source_tags_to_restored_resource) / [`set_copy_source_tags_to_restored_resource(Option<bool>)`](crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::set_copy_source_tags_to_restored_resource):<br>required: **false**<br><p>This is an optional parameter. If this equals <code>True</code>, tags included in the backup will be copied to the restored resource.</p> <p>This can only be applied to backups created through Backup.</p><br>
    /// - On success, responds with [`StartRestoreJobOutput`](crate::operation::start_restore_job::StartRestoreJobOutput) with field(s):
    ///   - [`restore_job_id(Option<String>)`](crate::operation::start_restore_job::StartRestoreJobOutput::restore_job_id): <p>Uniquely identifies the job that restores a recovery point.</p>
    /// - On failure, responds with [`SdkError<StartRestoreJobError>`](crate::operation::start_restore_job::StartRestoreJobError)
    pub fn start_restore_job(&self) -> crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder {
        crate::operation::start_restore_job::builders::StartRestoreJobFluentBuilder::new(self.handle.clone())
    }
}