import { Value } from '../../../cloudformation/Value';
import { ActionProps } from './ActionProps';
/**
  The automatic application layer DDoS mitigation settings for a <a href="aws-resource-shield-protection.md">AWS::Shield::Protection</a>. This configuration determines whether Shield Advanced automatically manages rules in the web ACL in order to respond to application layer events that Shield Advanced determines to be DDoS attacks.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-shield-protection-applicationlayerautomaticresponseconfiguration.html">the AWS Docs</a>
*/
export interface ApplicationLayerAutomaticResponseConfigurationProps {
    /** <code>Status</code>  <a name="cfn-shield-protection-applicationlayerautomaticresponseconfiguration-status"></a>
  Indicates whether automatic application layer DDoS mitigation is enabled for the protection.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>DISABLED | ENABLED</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> */
    status: Value<'DISABLED' | 'ENABLED'>;
    /** <code>Action</code>  <a name="cfn-shield-protection-applicationlayerautomaticresponseconfiguration-action"></a>
  Specifies the action setting that Shield Advanced should use in the AWS WAF rules that it creates on behalf of the protected resource in response to DDoS attacks. You specify this as part of the configuration for the automatic application layer DDoS mitigation feature, when you enable or update automatic mitigation. Shield Advanced creates the AWS WAF rules in a Shield Advanced-managed rule group, inside the web ACL that you have associated with the resource.<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> */
    action: ActionProps;
}
