aws-sdk-s3files 1.5.0

AWS SDK for Amazon S3 Files
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateMountTarget`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`file_system_id(impl Into<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::file_system_id) / [`set_file_system_id(Option<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::set_file_system_id):<br>required: **true**<br><p>The ID or Amazon Resource Name (ARN) of the S3 File System to create the mount target for.</p><br>
    ///   - [`subnet_id(impl Into<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::subnet_id) / [`set_subnet_id(Option<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::set_subnet_id):<br>required: **true**<br><p>The ID of the subnet where the mount target will be created. The subnet must be in the same Amazon Web Services Region as the file system. For file systems with regional availability, you can create mount targets in any subnet within the Region. The subnet determines the Availability Zone where the mount target will be located.</p><br>
    ///   - [`ipv4_address(impl Into<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::ipv4_address) / [`set_ipv4_address(Option<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::set_ipv4_address):<br>required: **false**<br><p>A specific IPv4 address to assign to the mount target. If not specified and the IP address type supports IPv4, an address is automatically assigned from the subnet's available IPv4 address range. The address must be within the subnet's CIDR block and not already in use.</p><br>
    ///   - [`ipv6_address(impl Into<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::ipv6_address) / [`set_ipv6_address(Option<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::set_ipv6_address):<br>required: **false**<br><p>A specific IPv6 address to assign to the mount target. If not specified and the IP address type supports IPv6, an address is automatically assigned from the subnet's available IPv6 address range. The address must be within the subnet's IPv6 CIDR block and not already in use.</p><br>
    ///   - [`ip_address_type(IpAddressType)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::ip_address_type) / [`set_ip_address_type(Option<IpAddressType>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::set_ip_address_type):<br>required: **false**<br><p>The IP address type for the mount target. If not specified, <code>IPV4_ONLY</code> is used. The IP address type must match the IP configuration of the specified subnet.</p><br>
    ///   - [`security_groups(impl Into<String>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::security_groups) / [`set_security_groups(Option<Vec::<String>>)`](crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::set_security_groups):<br>required: **false**<br><p>An array of VPC security group IDs to associate with the mount target's network interface. These security groups control network access to the mount target. If not specified, the default security group for the subnet's VPC is used. All security groups must belong to the same VPC as the subnet.</p><br>
    /// - On success, responds with [`CreateMountTargetOutput`](crate::operation::create_mount_target::CreateMountTargetOutput) with field(s):
    ///   - [`availability_zone_id(Option<String>)`](crate::operation::create_mount_target::CreateMountTargetOutput::availability_zone_id): <p>The unique and consistent identifier of the Availability Zone where the mount target is located. For example, <code>use1-az1</code> is an Availability Zone ID for the <code>us-east-1</code> Amazon Web Services Region, and it has the same location in every Amazon Web Services account.</p>
    ///   - [`owner_id(String)`](crate::operation::create_mount_target::CreateMountTargetOutput::owner_id): <p>The Amazon Web Services account ID of the mount target owner.</p>
    ///   - [`mount_target_id(String)`](crate::operation::create_mount_target::CreateMountTargetOutput::mount_target_id): <p>The ID of the mount target, assigned by S3 Files. This ID is used to reference the mount target in subsequent API calls.</p>
    ///   - [`file_system_id(Option<String>)`](crate::operation::create_mount_target::CreateMountTargetOutput::file_system_id): <p>The ID of the S3 File System associated with the mount target.</p>
    ///   - [`subnet_id(String)`](crate::operation::create_mount_target::CreateMountTargetOutput::subnet_id): <p>The ID of the subnet where the mount target is located.</p>
    ///   - [`ipv4_address(Option<String>)`](crate::operation::create_mount_target::CreateMountTargetOutput::ipv4_address): <p>The IPv4 address assigned to the mount target.</p>
    ///   - [`ipv6_address(Option<String>)`](crate::operation::create_mount_target::CreateMountTargetOutput::ipv6_address): <p>The IPv6 address assigned to the mount target.</p>
    ///   - [`network_interface_id(Option<String>)`](crate::operation::create_mount_target::CreateMountTargetOutput::network_interface_id): <p>The ID of the network interface that S3 Files created when it created the mount target. This network interface is managed by the service.</p>
    ///   - [`vpc_id(Option<String>)`](crate::operation::create_mount_target::CreateMountTargetOutput::vpc_id): <p>The ID of the VPC where the mount target is located.</p>
    ///   - [`security_groups(Option<Vec::<String>>)`](crate::operation::create_mount_target::CreateMountTargetOutput::security_groups): <p>The security groups associated with the mount target's network interface.</p>
    ///   - [`status(Option<LifeCycleState>)`](crate::operation::create_mount_target::CreateMountTargetOutput::status): <p>The lifecycle state of the mount target. Valid values are: <code>AVAILABLE</code> (the mount target is available for use), <code>CREATING</code> (the mount target is being created), <code>DELETING</code> (the mount target is being deleted), <code>DELETED</code> (the mount target has been deleted), or <code>ERROR</code> (the mount target is in an error state), or <code>UPDATING</code> (the mount target is being updated).</p>
    ///   - [`status_message(Option<String>)`](crate::operation::create_mount_target::CreateMountTargetOutput::status_message): <p>Additional information about the mount target status. This field provides more details when the status is <code>ERROR</code>, or during state transitions.</p>
    /// - On failure, responds with [`SdkError<CreateMountTargetError>`](crate::operation::create_mount_target::CreateMountTargetError)
    pub fn create_mount_target(&self) -> crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder {
        crate::operation::create_mount_target::builders::CreateMountTargetFluentBuilder::new(self.handle.clone())
    }
}