// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`RestoreSnapshotTier`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`snapshot_id(impl Into<String>)`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::snapshot_id) / [`set_snapshot_id(Option<String>)`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::set_snapshot_id):<br>required: **true**<br><p>The ID of the snapshot to restore.</p><br>
/// - [`temporary_restore_days(i32)`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::temporary_restore_days) / [`set_temporary_restore_days(Option<i32>)`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::set_temporary_restore_days):<br>required: **false**<br><p>Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.</p> <p>To temporarily restore an archived snapshot, specify the number of days and omit the <b>PermanentRestore</b> parameter or set it to <code>false</code>.</p><br>
/// - [`permanent_restore(bool)`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::permanent_restore) / [`set_permanent_restore(Option<bool>)`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::set_permanent_restore):<br>required: **false**<br><p>Indicates whether to permanently restore an archived snapshot. To permanently restore an archived snapshot, specify <code>true</code> and omit the <b>RestoreSnapshotTierRequest$TemporaryRestoreDays</b> parameter.</p><br>
/// - [`dry_run(bool)`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::set_dry_run):<br>required: **false**<br><p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p><br>
/// - On success, responds with [`RestoreSnapshotTierOutput`](crate::operation::restore_snapshot_tier::RestoreSnapshotTierOutput) with field(s):
/// - [`snapshot_id(Option<String>)`](crate::operation::restore_snapshot_tier::RestoreSnapshotTierOutput::snapshot_id): <p>The ID of the snapshot.</p>
/// - [`restore_start_time(Option<DateTime>)`](crate::operation::restore_snapshot_tier::RestoreSnapshotTierOutput::restore_start_time): <p>The date and time when the snapshot restore process started.</p>
/// - [`restore_duration(Option<i32>)`](crate::operation::restore_snapshot_tier::RestoreSnapshotTierOutput::restore_duration): <p>For temporary restores only. The number of days for which the archived snapshot is temporarily restored.</p>
/// - [`is_permanent_restore(Option<bool>)`](crate::operation::restore_snapshot_tier::RestoreSnapshotTierOutput::is_permanent_restore): <p>Indicates whether the snapshot is permanently restored. <code>true</code> indicates a permanent restore. <code>false</code> indicates a temporary restore.</p>
/// - On failure, responds with [`SdkError<RestoreSnapshotTierError>`](crate::operation::restore_snapshot_tier::RestoreSnapshotTierError)
pub fn restore_snapshot_tier(&self) -> crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder {
crate::operation::restore_snapshot_tier::builders::RestoreSnapshotTierFluentBuilder::new(self.handle.clone())
}
}