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 [`CreateCachediSCSIVolume`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`gateway_arn(impl Into<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::gateway_arn) / [`set_gateway_arn(Option<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::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>
    ///   - [`volume_size_in_bytes(i64)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::volume_size_in_bytes) / [`set_volume_size_in_bytes(Option<i64>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::set_volume_size_in_bytes):<br>required: **true**<br><p>The size of the volume in bytes.</p><br>
    ///   - [`snapshot_id(impl Into<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::snapshot_id) / [`set_snapshot_id(Option<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::set_snapshot_id):<br>required: **false**<br><p>The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the new cached 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>
    ///   - [`target_name(impl Into<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::target_name) / [`set_target_name(Option<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::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>
    ///   - [`source_volume_arn(impl Into<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::source_volume_arn) / [`set_source_volume_arn(Option<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::set_source_volume_arn):<br>required: **false**<br><p>The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The <code>VolumeSizeInBytes</code> value for this new volume must be equal to or larger than the size of the existing volume, in bytes.</p><br>
    ///   - [`network_interface_id(impl Into<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::network_interface_id) / [`set_network_interface_id(Option<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::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>
    ///   - [`client_token(impl Into<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::set_client_token):<br>required: **true**<br><p>A unique identifier that you use to retry a request. If you retry a request, use the same <code>ClientToken</code> you specified in the initial request.</p><br>
    ///   - [`kms_encrypted(bool)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::kms_encrypted) / [`set_kms_encrypted(Option<bool>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::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_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::kms_key) / [`set_kms_key(Option<String>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::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_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::set_tags):<br>required: **false**<br><p>A list of up to 50 tags that you can assign to a cached volume. Each tag is a key-value pair.</p><note>  <p>Valid characters for key and value are letters, spaces, and numbers that you can represent 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 characters.</p> </note><br>
    /// - On success, responds with [`CreateCachediScsiVolumeOutput`](crate::operation::create_cachedi_scsi_volume::CreateCachediScsiVolumeOutput) with field(s):
    ///   - [`volume_arn(Option<String>)`](crate::operation::create_cachedi_scsi_volume::CreateCachediScsiVolumeOutput::volume_arn): <p>The Amazon Resource Name (ARN) of the configured volume.</p>
    ///   - [`target_arn(Option<String>)`](crate::operation::create_cachedi_scsi_volume::CreateCachediScsiVolumeOutput::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<CreateCachediSCSIVolumeError>`](crate::operation::create_cachedi_scsi_volume::CreateCachediSCSIVolumeError)
    pub fn create_cachedi_scsi_volume(&self) -> crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder {
        crate::operation::create_cachedi_scsi_volume::builders::CreateCachediSCSIVolumeFluentBuilder::new(self.handle.clone())
    }
}