#[non_exhaustive]
pub struct CreateLoadBalancerInput { pub name: Option<String>, pub subnets: Option<Vec<String>>, pub subnet_mappings: Option<Vec<SubnetMapping>>, pub security_groups: Option<Vec<String>>, pub scheme: Option<LoadBalancerSchemeEnum>, pub tags: Option<Vec<Tag>>, pub type: Option<LoadBalancerTypeEnum>, pub ip_address_type: Option<IpAddressType>, pub customer_owned_ipv4_pool: Option<String>, }

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.
§name: Option<String>

The name of the load balancer.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-".

§subnets: Option<Vec<String>>

The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.

\[Application Load Balancers\] You must specify subnets from at least two Availability Zones.

\[Application Load Balancers on Outposts\] You must specify one Outpost subnet.

\[Application Load Balancers on Local Zones\] You can specify subnets from one or more Local Zones.

\[Network Load Balancers\] You can specify subnets from one or more Availability Zones.

\[Gateway Load Balancers\] You can specify subnets from one or more Availability Zones.

§subnet_mappings: Option<Vec<SubnetMapping>>

The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.

\[Application Load Balancers\] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

\[Application Load Balancers on Outposts\] You must specify one Outpost subnet.

\[Application Load Balancers on Local Zones\] You can specify subnets from one or more Local Zones.

\[Network Load Balancers\] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.

\[Gateway Load Balancers\] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.

§security_groups: Option<Vec<String>>

\[Application Load Balancers and Network Load Balancers\] The IDs of the security groups for the load balancer.

§scheme: Option<LoadBalancerSchemeEnum>

The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.

The default is an Internet-facing load balancer.

You cannot specify a scheme for a Gateway Load Balancer.

§tags: Option<Vec<Tag>>

The tags to assign to the load balancer.

§type: Option<LoadBalancerTypeEnum>

The type of load balancer. The default is application.

§ip_address_type: Option<IpAddressType>

Note: Internal load balancers must use the ipv4 IP address type.

\[Application Load Balancers\] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

\[Network Load Balancers\] The IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

\[Gateway Load Balancers\] The IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

§customer_owned_ipv4_pool: Option<String>

\[Application Load Balancers on Outposts\] The ID of the customer-owned address pool (CoIP pool).

Implementations§

source§

impl CreateLoadBalancerInput

source

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

The name of the load balancer.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-".

source

pub fn subnets(&self) -> &[String]

The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.

\[Application Load Balancers\] You must specify subnets from at least two Availability Zones.

\[Application Load Balancers on Outposts\] You must specify one Outpost subnet.

\[Application Load Balancers on Local Zones\] You can specify subnets from one or more Local Zones.

\[Network Load Balancers\] You can specify subnets from one or more Availability Zones.

\[Gateway Load Balancers\] You can specify subnets from one or more Availability Zones.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .subnets.is_none().

source

pub fn subnet_mappings(&self) -> &[SubnetMapping]

The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.

\[Application Load Balancers\] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

\[Application Load Balancers on Outposts\] You must specify one Outpost subnet.

\[Application Load Balancers on Local Zones\] You can specify subnets from one or more Local Zones.

\[Network Load Balancers\] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.

\[Gateway Load Balancers\] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .subnet_mappings.is_none().

source

pub fn security_groups(&self) -> &[String]

\[Application Load Balancers and Network Load Balancers\] The IDs of the security groups for the load balancer.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .security_groups.is_none().

source

pub fn scheme(&self) -> Option<&LoadBalancerSchemeEnum>

The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.

The default is an Internet-facing load balancer.

You cannot specify a scheme for a Gateway Load Balancer.

source

pub fn tags(&self) -> &[Tag]

The tags to assign to the load balancer.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .tags.is_none().

source

pub fn type(&self) -> Option<&LoadBalancerTypeEnum>

The type of load balancer. The default is application.

source

pub fn ip_address_type(&self) -> Option<&IpAddressType>

Note: Internal load balancers must use the ipv4 IP address type.

\[Application Load Balancers\] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

\[Network Load Balancers\] The IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

\[Gateway Load Balancers\] The IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

source

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

\[Application Load Balancers on Outposts\] The ID of the customer-owned address pool (CoIP pool).

source§

impl CreateLoadBalancerInput

source

pub fn builder() -> CreateLoadBalancerInputBuilder

Creates a new builder-style object to manufacture CreateLoadBalancerInput.

Trait Implementations§

source§

impl Clone for CreateLoadBalancerInput

source§

fn clone(&self) -> CreateLoadBalancerInput

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 CreateLoadBalancerInput

source§

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

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

impl PartialEq for CreateLoadBalancerInput

source§

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

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

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

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

impl StructuralPartialEq for CreateLoadBalancerInput

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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 T
where 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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where 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 T
where 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 T
where 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