
create-load-balancer
********************


DESCRIPTION
===========

Creates a new LoadBalancer.

After the call has completed successfully, a new LoadBalancer is
created; however, it will not be usable until at least one instance
has been registered. When the LoadBalancer creation is completed, the
client can check whether or not it is usable by using the describe-
instance-health API. The LoadBalancer is usable as soon as any
registered instance is *InService* .

Note: Currently, the client's quota of LoadBalancers is limited to ten per
  Region.

Note: LoadBalancer DNS names vary depending on the Region they're created
  in. For LoadBalancers created in the United States, the DNS name
  ends with:

  * *us-east-1.elb.amazonaws.com* (for the US Standard Region)

  * *us-west-1.elb.amazonaws.com* (for the Northern California Region)

  For LoadBalancers created in the EU (Ireland) Region, the DNS name
  ends with:

  * *eu-west-1.elb.amazonaws.com*


SYNOPSIS
========

   aws elb create-load-balancer
     --listeners <value>
     --load-balancer-name <value>
     [--subnets <value>]
     [--scheme <value>]
     [--security-groups <value>]
     [--availability-zones <value>]


REQUIRED PARAMETERS
===================

"--listeners"  (list)
   A list of the following tuples: LoadBalancerPort, InstancePort, and
   Protocol.

      (structure)
         The Listener data type.

         "instance_port"  (integer)
            Specifies the TCP port on which the instance server is
            listening. This property cannot be modified for the life
            of the LoadBalancer.

         "ssl_certificate_id"  (string)
            The ARN string of the server certificate. To get the ARN
            of the server certificate, call the AWS Identity and
            Access Management UploadServerCertificate API.

         "load_balancer_port"  (integer)
            Specifies the external LoadBalancer port number. This
            property cannot be modified for the life of the
            LoadBalancer.

         "protocol"  (string)
            Specifies the LoadBalancer transport protocol to use for
            routing - HTTP, HTTPS, TCP or SSL. This property cannot be
            modified for the life of the LoadBalancer.

         "instance_protocol"  (string)
            Specifies the protocol to use for routing traffic to back-
            end instances - HTTP, HTTPS, TCP, or SSL. This property
            cannot be modified for the life of the LoadBalancer.

            Note: If the front-end protocol is HTTP or HTTPS,
              "InstanceProtocol" has to be at the same protocol layer,
              i.e., HTTP or HTTPS. Likewise, if the front-end protocol
              is TCP or SSL, InstanceProtocol has to be TCP or SSL.

            Note: If there is another listener with the same
              "InstancePort" whose "InstanceProtocol" is secure, i.e.,
              HTTPS or SSL, the listener's "InstanceProtocol" has to
              be secure, i.e., HTTPS or SSL. If there is another
              listener with the same "InstancePort" whose
              "InstanceProtocol" is HTTP or TCP, the listener's
              "InstanceProtocol" must be either HTTP or TCP.

   *Parameter Syntax*

      [
        {
          "instance_port": integer,
          "ssl_certificate_id": "string",
          "load_balancer_port": integer,
          "protocol": "string",
          "instance_protocol": "string"
        }
        ...
      ]

"--load-balancer-name"  (string)
   The name associated with the LoadBalancer. The name must be unique
   within your set of LoadBalancers.


OPTIONAL PARAMETERS
===================

"--subnets"  (list of string)
   A list of subnet IDs in your VPC to attach to your LoadBalancer.

   *Parameter Syntax*

      ["string", ...]

"--scheme"  (string)
   The type of a LoadBalancer. This option is only available for
   LoadBalancers attached to a Amazon VPC. By default, Elastic Load
   Balancer creates an internet-facing load balancer with publicly
   resolvable DNS name that resolves to public IP addresses. Specify
   the value *internal* for this option to create an internal load
   balancer with a DNS name that resolves to private IP addresses.

"--security-groups"  (list of string)
   The security groups assigned to your LoadBalancer within your VPC.

   *Parameter Syntax*

      ["string", ...]

"--availability-zones"  (list of string)
   A list of Availability Zones.

   At least one Availability Zone must be specified. Specified
   Availability Zones must be in the same EC2 Region as the
   LoadBalancer. Traffic will be equally distributed across all zones.

   This list can be modified after the creation of the LoadBalancer.

   *Parameter Syntax*

      ["string", ...]
