[−][src]Struct rusoto_ecs::LoadBalancer
Details on a load balancer to be used with a service or task set.
If the service is using the ECS
deployment controller, you are limited to one load balancer or target group.
If the service is using the CODE_DEPLOY
deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When you are creating an AWS CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair
). Each target group binds to a separate task set in the deployment. The load balancer can also have up to two listeners, a required listener for production traffic and an optional listener that allows you to test new revisions of the service before routing production traffic to it.
Services with tasks that use the awsvpc
network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ip
as the target type, not instance
. Tasks that use the awsvpc
network mode are associated with an elastic network interface, not an Amazon EC2 instance.
Fields
container_name: Option<String>
The name of the container (as it appears in a container definition) to associate with the load balancer.
container_port: Option<i64>
The port on the container to associate with the load balancer. This port must correspond to a containerPort
in the service's task definition. Your container instances must allow ingress traffic on the hostPort
of the port mapping.
load_balancer_name: Option<String>
The name of the load balancer to associate with the Amazon ECS service or task set.
A load balancer name is only specified when using a classic load balancer. If you are using an application load balancer or a network load balancer this should be omitted.
target_group_arn: Option<String>
The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.
A target group ARN is only specified when using an application load balancer or a network load balancer. If you are using a classic load balancer this should be omitted.
For services using the ECS
deployment controller, you are limited to one target group. For services using the CODE_DEPLOY
deployment controller, you are required to define two target groups for the load balancer.
If your service's task definition uses the awsvpc
network mode (which is required for the Fargate launch type), you must choose ip
as the target type, not instance
, because tasks that use the awsvpc
network mode are associated with an elastic network interface, not an Amazon EC2 instance.
Trait Implementations
impl PartialEq<LoadBalancer> for LoadBalancer
[src]
fn eq(&self, other: &LoadBalancer) -> bool
[src]
fn ne(&self, other: &LoadBalancer) -> bool
[src]
impl Default for LoadBalancer
[src]
fn default() -> LoadBalancer
[src]
impl Clone for LoadBalancer
[src]
fn clone(&self) -> LoadBalancer
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for LoadBalancer
[src]
impl Serialize for LoadBalancer
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de> Deserialize<'de> for LoadBalancer
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl Send for LoadBalancer
impl Sync for LoadBalancer
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> Erased for T
impl<T> Same for T
type Output = T
Should always be Self