#[non_exhaustive]
pub struct InstanceNetworkInterfaceSpecification {
Show 19 fields pub associate_public_ip_address: Option<bool>, pub delete_on_termination: Option<bool>, pub description: Option<String>, pub device_index: Option<i32>, pub groups: Option<Vec<String>>, pub ipv6_address_count: Option<i32>, pub ipv6_addresses: Option<Vec<InstanceIpv6Address>>, pub network_interface_id: Option<String>, pub private_ip_address: Option<String>, pub private_ip_addresses: Option<Vec<PrivateIpAddressSpecification>>, pub secondary_private_ip_address_count: Option<i32>, pub subnet_id: Option<String>, pub associate_carrier_ip_address: Option<bool>, pub interface_type: Option<String>, pub network_card_index: Option<i32>, pub ipv4_prefixes: Option<Vec<Ipv4PrefixSpecificationRequest>>, pub ipv4_prefix_count: Option<i32>, pub ipv6_prefixes: Option<Vec<Ipv6PrefixSpecificationRequest>>, pub ipv6_prefix_count: Option<i32>,
}
Expand description

Describes a network interface.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§associate_public_ip_address: Option<bool>

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

§delete_on_termination: Option<bool>

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

§description: Option<String>

The description of the network interface. Applies only if creating a network interface when launching an instance.

§device_index: Option<i32>

The position of the network interface in the attachment order. A primary network interface has a device index of 0.

If you specify a network interface when launching an instance, you must specify the device index.

§groups: Option<Vec<String>>

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

§ipv6_address_count: Option<i32>

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

§ipv6_addresses: Option<Vec<InstanceIpv6Address>>

The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

§network_interface_id: Option<String>

The ID of the network interface.

If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

§private_ip_address: Option<String>

The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching more than one instance in a RunInstances request.

§private_ip_addresses: Option<Vec<PrivateIpAddressSpecification>>

The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a RunInstances request.

§secondary_private_ip_address_count: Option<i32>

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a RunInstances request.

§subnet_id: Option<String>

The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

§associate_carrier_ip_address: Option<bool>

Indicates whether to assign a carrier IP address to the network interface.

You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer Guide.

§interface_type: Option<String>

The type of network interface.

Valid values: interface | efa

§network_card_index: Option<i32>

The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.

If you are using RequestSpotInstances to create Spot Instances, omit this parameter because you can’t specify the network card index when using this API. To specify the network card index, use RunInstances.

§ipv4_prefixes: Option<Vec<Ipv4PrefixSpecificationRequest>>

The IPv4 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

§ipv4_prefix_count: Option<i32>

The number of IPv4 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv4Prefix option.

§ipv6_prefixes: Option<Vec<Ipv6PrefixSpecificationRequest>>

The IPv6 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

§ipv6_prefix_count: Option<i32>

The number of IPv6 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv6Prefix option.

Implementations§

source§

impl InstanceNetworkInterfaceSpecification

source

pub fn associate_public_ip_address(&self) -> Option<bool>

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

source

pub fn delete_on_termination(&self) -> Option<bool>

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

source

pub fn description(&self) -> Option<&str>

The description of the network interface. Applies only if creating a network interface when launching an instance.

source

pub fn device_index(&self) -> Option<i32>

The position of the network interface in the attachment order. A primary network interface has a device index of 0.

If you specify a network interface when launching an instance, you must specify the device index.

source

pub fn groups(&self) -> Option<&[String]>

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

source

pub fn ipv6_address_count(&self) -> Option<i32>

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

source

pub fn ipv6_addresses(&self) -> Option<&[InstanceIpv6Address]>

The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

source

pub fn network_interface_id(&self) -> Option<&str>

The ID of the network interface.

If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

source

pub fn private_ip_address(&self) -> Option<&str>

The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching more than one instance in a RunInstances request.

source

pub fn private_ip_addresses(&self) -> Option<&[PrivateIpAddressSpecification]>

The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a RunInstances request.

source

pub fn secondary_private_ip_address_count(&self) -> Option<i32>

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a RunInstances request.

source

pub fn subnet_id(&self) -> Option<&str>

The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

source

pub fn associate_carrier_ip_address(&self) -> Option<bool>

Indicates whether to assign a carrier IP address to the network interface.

You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer Guide.

source

pub fn interface_type(&self) -> Option<&str>

The type of network interface.

Valid values: interface | efa

source

pub fn network_card_index(&self) -> Option<i32>

The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.

If you are using RequestSpotInstances to create Spot Instances, omit this parameter because you can’t specify the network card index when using this API. To specify the network card index, use RunInstances.

source

pub fn ipv4_prefixes(&self) -> Option<&[Ipv4PrefixSpecificationRequest]>

The IPv4 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

source

pub fn ipv4_prefix_count(&self) -> Option<i32>

The number of IPv4 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv4Prefix option.

source

pub fn ipv6_prefixes(&self) -> Option<&[Ipv6PrefixSpecificationRequest]>

The IPv6 delegated prefixes to be assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

source

pub fn ipv6_prefix_count(&self) -> Option<i32>

The number of IPv6 delegated prefixes to be automatically assigned to the network interface. You cannot use this option if you use the Ipv6Prefix option.

source§

impl InstanceNetworkInterfaceSpecification

source

pub fn builder() -> InstanceNetworkInterfaceSpecificationBuilder

Creates a new builder-style object to manufacture InstanceNetworkInterfaceSpecification.

Trait Implementations§

source§

impl Clone for InstanceNetworkInterfaceSpecification

source§

fn clone(&self) -> InstanceNetworkInterfaceSpecification

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for InstanceNetworkInterfaceSpecification

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq<InstanceNetworkInterfaceSpecification> for InstanceNetworkInterfaceSpecification

source§

fn eq(&self, other: &InstanceNetworkInterfaceSpecification) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for InstanceNetworkInterfaceSpecification

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more