import { FieldIdentifierProps } from './FieldIdentifierProps';
import { Value } from '../../../cloudformation/Value';
import { AWSManagedRulesATPRuleSetProps } from './AWSManagedRulesATPRuleSetProps';
import { AWSManagedRulesBotControlRuleSetProps } from './AWSManagedRulesBotControlRuleSetProps';
import { AWSManagedRulesACFPRuleSetProps } from './AWSManagedRulesACFPRuleSetProps';
/**
  Additional information that’s used by a managed rule group. Many managed rule groups don’t require this.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html">the AWS Docs</a>
*/
export interface ManagedRuleGroupConfigProps {
    /** <code>UsernameField</code>  <a name="cfn-wafv2-webacl-managedrulegroupconfig-usernamefield"></a>
  Instead of this setting, provide your configuration under the request inspection configuration for <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>.
  
  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> */
    usernameField?: FieldIdentifierProps;
    /** <code>LoginPath</code>  <a name="cfn-wafv2-webacl-managedrulegroupconfig-loginpath"></a>
  Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>.
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>.*\S.*</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> */
    loginPath?: Value<string>;
    /** <code>AWSManagedRulesATPRuleSet</code>  <a name="cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesatpruleset"></a>
  Additional configuration for using the account takeover prevention (ATP) managed rule group, <code>AWSManagedRulesATPRuleSet</code>. Use this to provide login request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to login requests.<br />
  This configuration replaces the individual configuration fields in <code>ManagedRuleGroupConfig</code> and provides additional feature configuration.<br />
  For information about using the ATP managed rule group, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-atp.html">AWS WAF Fraud Control account takeover prevention (ATP) rule group</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html">AWS WAF Fraud Control account takeover prevention (ATP)</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> */
    aWSManagedRulesATPRuleSet?: AWSManagedRulesATPRuleSetProps;
    /** <code>AWSManagedRulesBotControlRuleSet</code>  <a name="cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesbotcontrolruleset"></a>
  Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html">AWS WAF Bot Control rule group</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">AWS WAF Bot Control</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> */
    aWSManagedRulesBotControlRuleSet?: AWSManagedRulesBotControlRuleSetProps;
    /** <code>PasswordField</code>  <a name="cfn-wafv2-webacl-managedrulegroupconfig-passwordfield"></a>
  Instead of this setting, provide your configuration under the request inspection configuration for <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>.
  
  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> */
    passwordField?: FieldIdentifierProps;
    /** <code>AWSManagedRulesACFPRuleSet</code>  <a name="cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesacfpruleset"></a>
  Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, <code>AWSManagedRulesACFPRuleSet</code>. Use this to provide account creation request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to account creation requests.<br />
  For information about using the ACFP managed rule group, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-acfp.html">AWS WAF Fraud Control account creation fraud prevention (ACFP) rule group</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-acfp.html">AWS WAF Fraud Control account creation fraud prevention (ACFP)</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> */
    aWSManagedRulesACFPRuleSet?: AWSManagedRulesACFPRuleSetProps;
    /** <code>PayloadType</code>  <a name="cfn-wafv2-webacl-managedrulegroupconfig-payloadtype"></a>
  Instead of this setting, provide your configuration under the request inspection configuration for <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>.
  
  Required: No<br />
  
  Allowed values: <code>FORM_ENCODED | JSON</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> */
    payloadType?: Value<'FORM_ENCODED' | 'JSON'>;
}
