// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`RestoreSnapshotFromRecycleBin`](crate::operation::restore_snapshot_from_recycle_bin::builders::RestoreSnapshotFromRecycleBinFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`snapshot_id(impl Into<String>)`](crate::operation::restore_snapshot_from_recycle_bin::builders::RestoreSnapshotFromRecycleBinFluentBuilder::snapshot_id) / [`set_snapshot_id(Option<String>)`](crate::operation::restore_snapshot_from_recycle_bin::builders::RestoreSnapshotFromRecycleBinFluentBuilder::set_snapshot_id):<br>required: **true**<br><p>The ID of the snapshot to restore.</p><br>
/// - [`dry_run(bool)`](crate::operation::restore_snapshot_from_recycle_bin::builders::RestoreSnapshotFromRecycleBinFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::restore_snapshot_from_recycle_bin::builders::RestoreSnapshotFromRecycleBinFluentBuilder::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 [`RestoreSnapshotFromRecycleBinOutput`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput) with field(s):
/// - [`snapshot_id(Option<String>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::snapshot_id): <p>The ID of the snapshot.</p>
/// - [`outpost_arn(Option<String>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::outpost_arn): <p>The ARN of the Outpost on which the snapshot is stored. For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-outposts.html">Amazon EBS local snapshots on Outposts</a> in the <i>Amazon EBS User Guide</i>.</p>
/// - [`description(Option<String>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::description): <p>The description for the snapshot.</p>
/// - [`encrypted(Option<bool>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::encrypted): <p>Indicates whether the snapshot is encrypted.</p>
/// - [`owner_id(Option<String>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::owner_id): <p>The ID of the Amazon Web Services account that owns the EBS snapshot.</p>
/// - [`progress(Option<String>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::progress): <p>The progress of the snapshot, as a percentage.</p>
/// - [`start_time(Option<DateTime>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::start_time): <p>The time stamp when the snapshot was initiated.</p>
/// - [`state(Option<SnapshotState>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::state): <p>The state of the snapshot.</p>
/// - [`volume_id(Option<String>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::volume_id): <p>The ID of the volume that was used to create the snapshot.</p>
/// - [`volume_size(Option<i32>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::volume_size): <p>The size of the volume, in GiB.</p>
/// - [`sse_type(Option<SseType>)`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinOutput::sse_type): <p>Reserved for future use.</p>
/// - On failure, responds with [`SdkError<RestoreSnapshotFromRecycleBinError>`](crate::operation::restore_snapshot_from_recycle_bin::RestoreSnapshotFromRecycleBinError)
pub fn restore_snapshot_from_recycle_bin(
&self,
) -> crate::operation::restore_snapshot_from_recycle_bin::builders::RestoreSnapshotFromRecycleBinFluentBuilder {
crate::operation::restore_snapshot_from_recycle_bin::builders::RestoreSnapshotFromRecycleBinFluentBuilder::new(self.handle.clone())
}
}