import { Value } from '../../../cloudformation/Value';
/**
  Adds the specified egress rules to a security group for use with a VPC.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html">the AWS Docs</a>
*/
export interface IngressProps {
    /** <code>CidrIp</code>  <a name="cfn-ec2-security-group-rule-cidrip"></a>
  The IPv4 address range, in CIDR format.<br />
  You must specify a destination security group (<code>DestinationPrefixListId</code> or <code>DestinationSecurityGroupId</code>) or a CIDR range (<code>CidrIp</code> or <code>CidrIpv6</code>).<br />
  For examples of rules that you can add to security groups for specific access scenarios, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html">Security group rules for different use cases</a> in the
  Amazon EC2 User Guide: 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> */
    cidrIp?: Value<string>;
    /** <code>CidrIpv6</code>  <a name="cfn-ec2-security-group-rule-cidripv6"></a>
  The IPv6 address range, in CIDR format.<br />
  You must specify a destination security group (<code>DestinationPrefixListId</code> or <code>DestinationSecurityGroupId</code>) or a CIDR range (<code>CidrIp</code> or <code>CidrIpv6</code>).<br />
  For examples of rules that you can add to security groups for specific access scenarios, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html">Security group rules for different use cases</a> in the
  Amazon EC2 User Guide: 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> */
    cidrIpv6?: Value<string>;
    /** <code>Description</code>  <a name="cfn-ec2-security-group-rule-description"></a>
  A description for the security group rule.<br />
  Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*<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> */
    description?: Value<string>;
    /** <code>FromPort</code>  <a name="cfn-ec2-security-group-rule-fromport"></a>
  If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.<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> */
    fromPort?: Value<number>;
    /** <code>IpProtocol</code>  <a name="cfn-ec2-security-group-rule-ipprotocol"></a>
  The IP protocol name (<code>tcp</code>, <code>udp</code>, <code>icmp</code>, <code>icmpv6</code>) or number (see <a href="http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml">Protocol Numbers</a>).<br />
  Use <code>-1</code> to specify all protocols. When authorizing security group rules, specifying <code>-1</code> or a protocol number other than <code>tcp</code>, <code>udp</code>, <code>icmp</code>, or <code>icmpv6</code> allows traffic on all ports, regardless of any port range you specify. For <code>tcp</code>, <code>udp</code>, and <code>icmp</code>, you must specify a port range. For <code>icmpv6</code>, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.<br />
  
  Required: Yes<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> */
    ipProtocol: Value<string>;
    /**  */
    sourcePrefixListId?: Value<string>;
    /**  */
    sourceSecurityGroupId?: Value<string>;
    /**  */
    sourceSecurityGroupName?: Value<string>;
    /**  */
    sourceSecurityGroupOwnerId?: Value<string>;
    /** <code>ToPort</code>  <a name="cfn-ec2-security-group-rule-toport"></a>
  If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.<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> */
    toPort?: Value<number>;
}
