Struct aws_sdk_ecs::model::LoadBalancer
source · [−]#[non_exhaustive]pub struct LoadBalancer {
pub target_group_arn: Option<String>,
pub load_balancer_name: Option<String>,
pub container_name: Option<String>,
pub container_port: Option<i32>,
}
Expand description
The load balancer configuration to use with a service or task set.
For specific notes and restrictions regarding the use of load balancers with services and task sets, see the CreateService and CreateTaskSet actions.
When you add, update, or remove a load balancer configuration, Amazon ECS starts a new deployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and deregister from load balancers.
We recommend that you verify this on a test environment before you update the Elastic Load Balancing configuration.
A service-linked role is required for services that use multiple target groups. For more information, see Service-linked roles in the Amazon Elastic Container Service Developer Guide.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.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 Network Load Balancer. If you're using a Classic Load Balancer, omit the target group ARN.
For services using the ECS
deployment controller, you can specify one or multiple target groups. For more information, see Registering Multiple Target Groups with a Service in the Amazon Elastic Container Service Developer Guide.
For services using the CODE_DEPLOY
deployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/Green Deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide.
If your service's task definition uses the awsvpc
network mode, you must choose ip
as the target type, not instance
. Do this when creating your target groups because tasks that use the awsvpc
network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
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 the load balancer name parameter should be omitted.
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<i32>
The port on the container to associate with the load balancer. This port must correspond to a containerPort
in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the hostPort
of the port mapping.
Implementations
sourceimpl LoadBalancer
impl LoadBalancer
sourcepub fn target_group_arn(&self) -> Option<&str>
pub fn target_group_arn(&self) -> Option<&str>
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 Network Load Balancer. If you're using a Classic Load Balancer, omit the target group ARN.
For services using the ECS
deployment controller, you can specify one or multiple target groups. For more information, see Registering Multiple Target Groups with a Service in the Amazon Elastic Container Service Developer Guide.
For services using the CODE_DEPLOY
deployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/Green Deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide.
If your service's task definition uses the awsvpc
network mode, you must choose ip
as the target type, not instance
. Do this when creating your target groups because tasks that use the awsvpc
network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
sourcepub fn load_balancer_name(&self) -> Option<&str>
pub fn load_balancer_name(&self) -> Option<&str>
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 the load balancer name parameter should be omitted.
sourcepub fn container_name(&self) -> Option<&str>
pub fn container_name(&self) -> Option<&str>
The name of the container (as it appears in a container definition) to associate with the load balancer.
sourcepub fn container_port(&self) -> Option<i32>
pub fn container_port(&self) -> Option<i32>
The port on the container to associate with the load balancer. This port must correspond to a containerPort
in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the hostPort
of the port mapping.
sourceimpl LoadBalancer
impl LoadBalancer
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture LoadBalancer
Trait Implementations
sourceimpl Clone for LoadBalancer
impl Clone for LoadBalancer
sourcefn clone(&self) -> LoadBalancer
fn clone(&self) -> LoadBalancer
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for LoadBalancer
impl Debug for LoadBalancer
sourceimpl PartialEq<LoadBalancer> for LoadBalancer
impl PartialEq<LoadBalancer> for LoadBalancer
sourcefn eq(&self, other: &LoadBalancer) -> bool
fn eq(&self, other: &LoadBalancer) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &LoadBalancer) -> bool
fn ne(&self, other: &LoadBalancer) -> bool
This method tests for !=
.
impl StructuralPartialEq for LoadBalancer
Auto Trait Implementations
impl RefUnwindSafe for LoadBalancer
impl Send for LoadBalancer
impl Sync for LoadBalancer
impl Unpin for LoadBalancer
impl UnwindSafe for LoadBalancer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more