import { Value } from '../../../cloudformation/Value';
import { TCPFlagFieldProps } from './TCPFlagFieldProps';
import { PortRangeProps } from './PortRangeProps';
import { AddressProps } from './AddressProps';
/**
  Criteria for Network Firewall to use to inspect an individual packet in stateless rule inspection. Each match attributes set can include one or more items such as IP address, CIDR range, port number, protocol, and TCP flags.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-matchattributes.html">the AWS Docs</a>
*/
export interface MatchAttributesProps {
    /** <code>Protocols</code>  <a name="cfn-networkfirewall-rulegroup-matchattributes-protocols"></a>
  The protocols to inspect for, specified using each protocol’s assigned internet protocol number (IANA). If not specified, this matches with any protocol.<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> */
    protocols?: Value<Value<number>[]>;
    /** <code>TCPFlags</code>  <a name="cfn-networkfirewall-rulegroup-matchattributes-tcpflags"></a>
  The TCP flags and masks to inspect for. If not specified, this matches with any settings. This setting is only used for protocol 6 (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-no-interrupt">No interruption</a> */
    tCPFlags?: TCPFlagFieldProps[];
    /** <code>DestinationPorts</code>  <a name="cfn-networkfirewall-rulegroup-matchattributes-destinationports"></a>
  The destination ports to inspect for. If not specified, this matches with any destination port. This setting is only used for protocols 6 (TCP) and 17 (UDP).<br />
  You can specify individual ports, for example <code>1994</code> and you can specify port ranges, for example <code>1990:1994</code>.<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> */
    destinationPorts?: PortRangeProps[];
    /** <code>Destinations</code>  <a name="cfn-networkfirewall-rulegroup-matchattributes-destinations"></a>
  The destination IP addresses and address ranges to inspect for, in CIDR notation. If not specified, this matches with any destination address.<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> */
    destinations?: AddressProps[];
    /** <code>Sources</code>  <a name="cfn-networkfirewall-rulegroup-matchattributes-sources"></a>
  The source IP addresses and address ranges to inspect for, in CIDR notation. If not specified, this matches with any source address.<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> */
    sources?: AddressProps[];
    /** <code>SourcePorts</code>  <a name="cfn-networkfirewall-rulegroup-matchattributes-sourceports"></a>
  The source ports to inspect for. If not specified, this matches with any source port. This setting is only used for protocols 6 (TCP) and 17 (UDP).<br />
  You can specify individual ports, for example <code>1994</code> and you can specify port ranges, for example <code>1990:1994</code>.<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> */
    sourcePorts?: PortRangeProps[];
}
