1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateSnapshot`](crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`volume_arn(impl Into<String>)`](crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder::volume_arn) / [`set_volume_arn(Option<String>)`](crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder::set_volume_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the volume. Use the <code>ListVolumes</code> operation to return a list of gateway volumes.</p><br>
    ///   - [`snapshot_description(impl Into<String>)`](crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder::snapshot_description) / [`set_snapshot_description(Option<String>)`](crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder::set_snapshot_description):<br>required: **true**<br><p>Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the <b>Description</b> field, and in the Storage Gateway snapshot <b>Details</b> pane, <b>Description</b> field.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder::set_tags):<br>required: **false**<br><p>A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair.</p><note>  <p>Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.</p> </note><br>
    /// - On success, responds with [`CreateSnapshotOutput`](crate::operation::create_snapshot::CreateSnapshotOutput) with field(s):
    ///   - [`volume_arn(Option<String>)`](crate::operation::create_snapshot::CreateSnapshotOutput::volume_arn): <p>The Amazon Resource Name (ARN) of the volume of which the snapshot was taken.</p>
    ///   - [`snapshot_id(Option<String>)`](crate::operation::create_snapshot::CreateSnapshotOutput::snapshot_id): <p>The snapshot ID that is used to refer to the snapshot in future operations such as describing snapshots (Amazon Elastic Compute Cloud API <code>DescribeSnapshots</code>) or creating a volume from a snapshot (<code>CreateStorediSCSIVolume</code>).</p>
    /// - On failure, responds with [`SdkError<CreateSnapshotError>`](crate::operation::create_snapshot::CreateSnapshotError)
    pub fn create_snapshot(&self) -> crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder {
        crate::operation::create_snapshot::builders::CreateSnapshotFluentBuilder::new(self.handle.clone())
    }
}