import { Value } from '../../../cloudformation/Value';
/**
  A single firewall rule in a rule group.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-firewallrulegroup-firewallrule.html">the AWS Docs</a>
*/
export interface FirewallRuleProps {
    /** <p> */
    action: Value<string>;
    /** <code>Priority</code>  <a name="cfn-route53resolver-firewallrulegroup-firewallrule-priority"></a>
  The priority of the rule in the rule group. This value must be unique within the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.<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> */
    priority: Value<number>;
    /** <code>BlockOverrideDomain</code>  <a name="cfn-route53resolver-firewallrulegroup-firewallrule-blockoverridedomain"></a>
  The custom DNS record to send back in response to the query. Used for the rule action <code>BLOCK</code> with a <code>BlockResponse</code> setting of <code>OVERRIDE</code>.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>255</code><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> */
    blockOverrideDomain?: Value<string>;
    /** <code>FirewallDomainListId</code>  <a name="cfn-route53resolver-firewallrulegroup-firewallrule-firewalldomainlistid"></a>
  The ID of the domain list that’s used in the rule.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>64</code><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> */
    firewallDomainListId: Value<string>;
    /** <p> */
    blockResponse?: Value<string>;
    /** <code>BlockOverrideTtl</code>  <a name="cfn-route53resolver-firewallrulegroup-firewallrule-blockoverridettl"></a>
  The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action <code>BLOCK</code> with a <code>BlockResponse</code> setting of <code>OVERRIDE</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> */
    blockOverrideTtl?: Value<number>;
    /** <code>BlockOverrideDnsType</code>  <a name="cfn-route53resolver-firewallrulegroup-firewallrule-blockoverridednstype"></a>
  The DNS record’s type. This determines the format of the record value that you provided in <code>BlockOverrideDomain</code>. Used for the rule action <code>BLOCK</code> with a <code>BlockResponse</code> setting of <code>OVERRIDE</code>.<br />
  
  Required: No<br />
  
  Allowed values: <code>CNAME</code><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> */
    blockOverrideDnsType?: Value<'CNAME'>;
}
