import { Value } from '../../../cloudformation/Value';
/**
  Specifies a listener for your Classic Load Balancer.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html">the AWS Docs</a>
*/
export interface ListenersProps {
    /** <code>InstancePort</code>  <a name="cfn-ec2-elb-listener-instanceport"></a>
  The port on which the instance is listening.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>65535</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    instancePort: Value<string>;
    /** <code>InstanceProtocol</code>  <a name="cfn-ec2-elb-listener-instanceprotocol"></a>
  The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or SSL.<br />
  If the front-end protocol is TCP or SSL, the back-end protocol must be TCP or SSL. If the front-end protocol is HTTP or HTTPS, the back-end protocol must be HTTP or HTTPS.<br />
  If there is another listener with the same <code>InstancePort</code> whose <code>InstanceProtocol</code> is secure, (HTTPS or SSL), the listener’s <code>InstanceProtocol</code> must also be secure.<br />
  If there is another listener with the same <code>InstancePort</code> whose <code>InstanceProtocol</code> is HTTP or TCP, the listener’s <code>InstanceProtocol</code> must be HTTP or TCP.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    instanceProtocol?: Value<string>;
    /** <code>LoadBalancerPort</code>  <a name="cfn-ec2-elb-listener-loadbalancerport"></a>
  The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    loadBalancerPort: Value<string>;
    /** <code>PolicyNames</code>  <a name="cfn-ec2-elb-listener-policynames"></a>
  The names of the policies to associate with the listener.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    policyNames?: Value<Value<string>[]>;
    /** <code>Protocol</code>  <a name="cfn-ec2-elb-listener-protocol"></a>
  The load balancer transport protocol to use for routing: HTTP, HTTPS, TCP, or SSL.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    protocol: Value<string>;
    /** <code>SSLCertificateId</code>  <a name="cfn-ec2-elb-listener-sslcertificateid"></a>
  The Amazon Resource Name (ARN) of the server certificate.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    sSLCertificateId?: Value<string>;
}
