import { Value } from '../../../cloudformation/Value';
/**
  The <code>LoadBalancer</code> property specifies details on a load balancer that is used with a service.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html">the AWS Docs</a>
*/
export interface LoadBalancerProps {
    /** <code>TargetGroupArn</code>  <a name="cfn-ecs-service-loadbalancer-targetgrouparn"></a>
  The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.<br />
  A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.<br />
  For services using the <code>ECS</code> deployment controller, you can specify one or multiple target groups. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html">Registering multiple target groups with a service</a> in the
  Amazon Elastic Container Service Developer Guide: br />
  If your service’s task definition uses the <code>awsvpc</code> network mode, you must choose <code>ip</code> as the target type, not <code>instance</code>. Do this when creating your target groups because tasks that use the <code>awsvpc</code> network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    targetGroupArn?: Value<string>;
    /** <code>LoadBalancerName</code>  <a name="cfn-ecs-service-loadbalancer-loadbalancername"></a>
  The name of the load balancer to associate with the Amazon ECS service or task set.<br />
  If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    loadBalancerName?: Value<string>;
    /** <code>ContainerName</code>  <a name="cfn-ecs-service-loadbalancer-containername"></a>
  The name of the container (as it appears in a container definition) to associate with the load balancer.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    containerName?: Value<string>;
    /** <code>ContainerPort</code>  <a name="cfn-ecs-service-loadbalancer-containerport"></a>
  The port on the container to associate with the load balancer. This port must correspond to a <code>containerPort</code> 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 <code>hostPort</code> of the port mapping.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    containerPort?: Value<number>;
}
