1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateStorediSCSIVolume`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`gateway_arn(impl Into<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::gateway_arn) / [`set_gateway_arn(Option<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_gateway_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the gateway. Use the <code>ListGateways</code> operation to return a list of gateways for your account and Amazon Web Services Region.</p><br>
    ///   - [`disk_id(impl Into<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::disk_id) / [`set_disk_id(Option<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_disk_id):<br>required: **true**<br><p>The unique identifier for the gateway local disk that is configured as a stored volume. Use <a href="https://docs.aws.amazon.com/storagegateway/latest/userguide/API_ListLocalDisks.html">ListLocalDisks</a> to list disk IDs for a gateway.</p><br>
    ///   - [`snapshot_id(impl Into<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::snapshot_id) / [`set_snapshot_id(Option<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_snapshot_id):<br>required: **false**<br><p>The snapshot ID (e.g., "snap-1122aabb") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot; otherwise, do not include this field. To list snapshots for your account use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html">DescribeSnapshots</a> in the <i>Amazon Elastic Compute Cloud API Reference</i>.</p><br>
    ///   - [`preserve_existing_data(bool)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::preserve_existing_data) / [`set_preserve_existing_data(Option<bool>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_preserve_existing_data):<br>required: **true**<br><p>Set to <code>true</code> if you want to preserve the data on the local disk. Otherwise, set to <code>false</code> to create an empty volume.</p> <p>Valid Values: <code>true</code> | <code>false</code></p><br>
    ///   - [`target_name(impl Into<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::target_name) / [`set_target_name(Option<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_target_name):<br>required: **true**<br><p>The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying <code>TargetName</code> as <i>myvolume</i> results in the target ARN of <code>arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume</code>. The target name must be unique across all volumes on a gateway.</p> <p>If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.</p><br>
    ///   - [`network_interface_id(impl Into<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::network_interface_id) / [`set_network_interface_id(Option<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_network_interface_id):<br>required: **true**<br><p>The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use <code>DescribeGatewayInformation</code> to get a list of the network interfaces available on a gateway.</p> <p>Valid Values: A valid IP address.</p><br>
    ///   - [`kms_encrypted(bool)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::kms_encrypted) / [`set_kms_encrypted(Option<bool>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_kms_encrypted):<br>required: **false**<br><p>Set to <code>true</code> to use Amazon S3 server-side encryption with your own KMS key, or <code>false</code> to use a key managed by Amazon S3. Optional.</p> <p>Valid Values: <code>true</code> | <code>false</code></p><br>
    ///   - [`kms_key(impl Into<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::kms_key) / [`set_kms_key(Option<String>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_kms_key):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can only be set when <code>KMSEncrypted</code> is <code>true</code>. Optional.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::set_tags):<br>required: **false**<br><p>A list of up to 50 tags that can be assigned to a stored volume. 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 [`CreateStorediScsiVolumeOutput`](crate::operation::create_storedi_scsi_volume::CreateStorediScsiVolumeOutput) with field(s):
    ///   - [`volume_arn(Option<String>)`](crate::operation::create_storedi_scsi_volume::CreateStorediScsiVolumeOutput::volume_arn): <p>The Amazon Resource Name (ARN) of the configured volume.</p>
    ///   - [`volume_size_in_bytes(i64)`](crate::operation::create_storedi_scsi_volume::CreateStorediScsiVolumeOutput::volume_size_in_bytes): <p>The size of the volume in bytes.</p>
    ///   - [`target_arn(Option<String>)`](crate::operation::create_storedi_scsi_volume::CreateStorediScsiVolumeOutput::target_arn): <p>The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name that initiators can use to connect to the target.</p>
    /// - On failure, responds with [`SdkError<CreateStorediSCSIVolumeError>`](crate::operation::create_storedi_scsi_volume::CreateStorediSCSIVolumeError)
    pub fn create_storedi_scsi_volume(&self) -> crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder {
        crate::operation::create_storedi_scsi_volume::builders::CreateStorediSCSIVolumeFluentBuilder::new(self.handle.clone())
    }
}