libZSservicesZSamazonka-ecsZSamazonka-ecs
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.ECS.Types.LoadBalancer

Description

 
Synopsis

Documentation

data LoadBalancer Source #

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.

See: newLoadBalancer smart constructor.

Constructors

LoadBalancer' 

Fields

  • loadBalancerName :: Maybe Text

    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.

  • containerName :: Maybe Text

    The name of the container (as it appears in a container definition) to associate with the load balancer.

  • targetGroupArn :: Maybe Text

    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 are using a Classic Load Balancer the target group ARN should be omitted.

    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 are 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 (which is required for the Fargate launch type), you must choose ip as the target type, not instance, 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.

  • containerPort :: Maybe Int

    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 are launched on must allow ingress traffic on the hostPort of the port mapping.

Instances

Instances details
Eq LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

Read LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

Show LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

Generic LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

Associated Types

type Rep LoadBalancer :: Type -> Type #

NFData LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

Methods

rnf :: LoadBalancer -> () #

Hashable LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

ToJSON LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

FromJSON LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

type Rep LoadBalancer Source # 
Instance details

Defined in Amazonka.ECS.Types.LoadBalancer

type Rep LoadBalancer = D1 ('MetaData "LoadBalancer" "Amazonka.ECS.Types.LoadBalancer" "libZSservicesZSamazonka-ecsZSamazonka-ecs" 'False) (C1 ('MetaCons "LoadBalancer'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "loadBalancerName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "containerName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "targetGroupArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "containerPort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)))))

newLoadBalancer :: LoadBalancer Source #

Create a value of LoadBalancer with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:loadBalancerName:LoadBalancer', loadBalancer_loadBalancerName - 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.

$sel:containerName:LoadBalancer', loadBalancer_containerName - The name of the container (as it appears in a container definition) to associate with the load balancer.

$sel:targetGroupArn:LoadBalancer', loadBalancer_targetGroupArn - 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 are using a Classic Load Balancer the target group ARN should be omitted.

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 are 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 (which is required for the Fargate launch type), you must choose ip as the target type, not instance, 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.

$sel:containerPort:LoadBalancer', loadBalancer_containerPort - 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 are launched on must allow ingress traffic on the hostPort of the port mapping.

loadBalancer_loadBalancerName :: Lens' LoadBalancer (Maybe Text) Source #

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.

loadBalancer_containerName :: Lens' LoadBalancer (Maybe Text) Source #

The name of the container (as it appears in a container definition) to associate with the load balancer.

loadBalancer_targetGroupArn :: Lens' LoadBalancer (Maybe Text) Source #

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 are using a Classic Load Balancer the target group ARN should be omitted.

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 are 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 (which is required for the Fargate launch type), you must choose ip as the target type, not instance, 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.

loadBalancer_containerPort :: Lens' LoadBalancer (Maybe Int) Source #

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 are launched on must allow ingress traffic on the hostPort of the port mapping.