import { Value } from '../../../cloudformation/Value';
import { CustomHTTPHeaderProps } from './CustomHTTPHeaderProps';
/**
  A custom response to send to the client. You can define a custom response for rule actions and default web ACL actions that are set to <code>Block</code>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-customresponse.html">the AWS Docs</a>
*/
export interface CustomResponseProps {
    /** <code>ResponseCode</code>  <a name="cfn-wafv2-rulegroup-customresponse-responsecode"></a>
  The HTTP status code to return to the client.<br />
  For a list of status codes that you can use in your custom responses, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/customizing-the-response-status-codes.html">Supported status codes for custom response</a> in the * AWS WAF Developer Guide*.<br />
  
  Required: Yes<br />
  
  Minimum: <code>200</code><br />
  
  Maximum: <code>599</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> */
    responseCode: Value<number>;
    /** <code>CustomResponseBodyKey</code>  <a name="cfn-wafv2-rulegroup-customresponse-customresponsebodykey"></a>
  References the response body that you want AWS WAF to return to the web request client. You can define a custom response for a rule action or a default web ACL action that is set to block. To do this, you first define the response body key and value in the <code>CustomResponseBodies</code> setting for the <a href="aws-resource-wafv2-webacl.md">AWS::WAFv2::WebACL</a> or <a href="aws-resource-wafv2-rulegroup.md">AWS::WAFv2::RuleGroup</a> where you want to use it. Then, in the rule action or web ACL default action <code>BlockAction</code> setting, you reference the response body using this key.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>^[\w\-]+$</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> */
    customResponseBodyKey?: Value<string>;
    /** <code>ResponseHeaders</code>  <a name="cfn-wafv2-rulegroup-customresponse-responseheaders"></a>
  The HTTP headers to use in the response. You can specify any header name except for <code>content-type</code>. Duplicate header names are not allowed.<br />
  For information about the limits on count and size for custom request and response settings, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/limits.html">AWS WAF quotas</a> in the * AWS WAF Developer 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> */
    responseHeaders?: CustomHTTPHeaderProps[];
}
