/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.wafv2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** * <p> * Additional information that's used by a managed rule group. Many managed rule groups don't require this. * </p> * <p> * The rule groups used for intelligent threat mitigation require additional configuration: * </p> * <ul> * <li> * <p> * Use the <code>AWSManagedRulesACFPRuleSet</code> configuration object to configure the account creation fraud * prevention managed rule group. The configuration includes the registration and sign-up pages of your application and * the locations in the account creation request payload of data, such as the user email and phone number fields. * </p> * </li> * <li> * <p> * Use the <code>AWSManagedRulesATPRuleSet</code> configuration object to configure the account takeover prevention * managed rule group. The configuration includes the sign-in page of your application and the locations in the login * request payload of data such as the username and password. * </p> * </li> * <li> * <p> * Use the <code>AWSManagedRulesBotControlRuleSet</code> configuration object to configure the protection level that you * want the Bot Control rule group to use. * </p> * </li> * </ul> * <p> * For example specifications, see the examples section of <a>CreateWebACL</a>. * </p> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleGroupConfig" target="_top">AWS API * Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ManagedRuleGroupConfig implements Serializable, Cloneable, StructuredPojo { /** * <note> * <p> * Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>. * </p> * </note> */ @Deprecated private String loginPath; /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> */ @Deprecated private String payloadType; /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> */ @Deprecated private UsernameField usernameField; /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> */ @Deprecated private PasswordField passwordField; /** * <p> * 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">WAF Bot Control * rule group</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">WAF Bot * Control</a> in the <i>WAF Developer Guide</i>. * </p> */ private AWSManagedRulesBotControlRuleSet aWSManagedRulesBotControlRuleSet; /** * <p> * 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. * </p> * <p> * This configuration replaces the individual configuration fields in <code>ManagedRuleGroupConfig</code> and * provides additional feature configuration. * </p> * <p> * 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">WAF Fraud Control * account takeover prevention (ATP) rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html">WAF Fraud Control account takeover * prevention (ATP)</a> in the <i>WAF Developer Guide</i>. * </p> */ private AWSManagedRulesATPRuleSet aWSManagedRulesATPRuleSet; /** * <p> * 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. * </p> * <p> * 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">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">WAF Fraud Control account creation * fraud prevention (ACFP)</a> in the <i>WAF Developer Guide</i>. * </p> */ private AWSManagedRulesACFPRuleSet aWSManagedRulesACFPRuleSet; /** * <note> * <p> * Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>. * </p> * </note> * * @param loginPath * <p> * Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>. * </p> */ @Deprecated public void setLoginPath(String loginPath) { this.loginPath = loginPath; } /** * <note> * <p> * Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>. * </p> * </note> * * @return <p> * Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>. * </p> */ @Deprecated public String getLoginPath() { return this.loginPath; } /** * <note> * <p> * Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>. * </p> * </note> * * @param loginPath * <p> * Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>. * </p> * @return Returns a reference to this object so that method calls can be chained together. */ @Deprecated public ManagedRuleGroupConfig withLoginPath(String loginPath) { setLoginPath(loginPath); return this; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @param payloadType * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * @see PayloadType */ @Deprecated public void setPayloadType(String payloadType) { this.payloadType = payloadType; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @return <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * @see PayloadType */ @Deprecated public String getPayloadType() { return this.payloadType; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @param payloadType * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * @return Returns a reference to this object so that method calls can be chained together. * @see PayloadType */ @Deprecated public ManagedRuleGroupConfig withPayloadType(String payloadType) { setPayloadType(payloadType); return this; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @param payloadType * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * @return Returns a reference to this object so that method calls can be chained together. * @see PayloadType */ @Deprecated public ManagedRuleGroupConfig withPayloadType(PayloadType payloadType) { this.payloadType = payloadType.toString(); return this; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @param usernameField * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> */ @Deprecated public void setUsernameField(UsernameField usernameField) { this.usernameField = usernameField; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @return <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> */ @Deprecated public UsernameField getUsernameField() { return this.usernameField; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @param usernameField * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * @return Returns a reference to this object so that method calls can be chained together. */ @Deprecated public ManagedRuleGroupConfig withUsernameField(UsernameField usernameField) { setUsernameField(usernameField); return this; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @param passwordField * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> */ @Deprecated public void setPasswordField(PasswordField passwordField) { this.passwordField = passwordField; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @return <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> */ @Deprecated public PasswordField getPasswordField() { return this.passwordField; } /** * <note> * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * </note> * * @param passwordField * <p> * Instead of this setting, provide your configuration under the request inspection configuration for * <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. * </p> * @return Returns a reference to this object so that method calls can be chained together. */ @Deprecated public ManagedRuleGroupConfig withPasswordField(PasswordField passwordField) { setPasswordField(passwordField); return this; } /** * <p> * 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">WAF Bot Control * rule group</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">WAF Bot * Control</a> in the <i>WAF Developer Guide</i>. * </p> * * @param aWSManagedRulesBotControlRuleSet * 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">WAF Bot * Control rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">WAF Bot Control</a> in * the <i>WAF Developer Guide</i>. */ public void setAWSManagedRulesBotControlRuleSet(AWSManagedRulesBotControlRuleSet aWSManagedRulesBotControlRuleSet) { this.aWSManagedRulesBotControlRuleSet = aWSManagedRulesBotControlRuleSet; } /** * <p> * 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">WAF Bot Control * rule group</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">WAF Bot * Control</a> in the <i>WAF Developer Guide</i>. * </p> * * @return 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">WAF Bot * Control rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">WAF Bot Control</a> in * the <i>WAF Developer Guide</i>. */ public AWSManagedRulesBotControlRuleSet getAWSManagedRulesBotControlRuleSet() { return this.aWSManagedRulesBotControlRuleSet; } /** * <p> * 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">WAF Bot Control * rule group</a> and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">WAF Bot * Control</a> in the <i>WAF Developer Guide</i>. * </p> * * @param aWSManagedRulesBotControlRuleSet * 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">WAF Bot * Control rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html">WAF Bot Control</a> in * the <i>WAF Developer Guide</i>. * @return Returns a reference to this object so that method calls can be chained together. */ public ManagedRuleGroupConfig withAWSManagedRulesBotControlRuleSet(AWSManagedRulesBotControlRuleSet aWSManagedRulesBotControlRuleSet) { setAWSManagedRulesBotControlRuleSet(aWSManagedRulesBotControlRuleSet); return this; } /** * <p> * 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. * </p> * <p> * This configuration replaces the individual configuration fields in <code>ManagedRuleGroupConfig</code> and * provides additional feature configuration. * </p> * <p> * 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">WAF Fraud Control * account takeover prevention (ATP) rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html">WAF Fraud Control account takeover * prevention (ATP)</a> in the <i>WAF Developer Guide</i>. * </p> * * @param aWSManagedRulesATPRuleSet * 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. </p> * <p> * This configuration replaces the individual configuration fields in <code>ManagedRuleGroupConfig</code> and * provides additional feature configuration. * </p> * <p> * 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">WAF Fraud * Control account takeover prevention (ATP) rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html">WAF Fraud Control account * takeover prevention (ATP)</a> in the <i>WAF Developer Guide</i>. */ public void setAWSManagedRulesATPRuleSet(AWSManagedRulesATPRuleSet aWSManagedRulesATPRuleSet) { this.aWSManagedRulesATPRuleSet = aWSManagedRulesATPRuleSet; } /** * <p> * 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. * </p> * <p> * This configuration replaces the individual configuration fields in <code>ManagedRuleGroupConfig</code> and * provides additional feature configuration. * </p> * <p> * 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">WAF Fraud Control * account takeover prevention (ATP) rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html">WAF Fraud Control account takeover * prevention (ATP)</a> in the <i>WAF Developer Guide</i>. * </p> * * @return 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. </p> * <p> * This configuration replaces the individual configuration fields in <code>ManagedRuleGroupConfig</code> * and provides additional feature configuration. * </p> * <p> * 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">WAF Fraud * Control account takeover prevention (ATP) rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html">WAF Fraud Control account * takeover prevention (ATP)</a> in the <i>WAF Developer Guide</i>. */ public AWSManagedRulesATPRuleSet getAWSManagedRulesATPRuleSet() { return this.aWSManagedRulesATPRuleSet; } /** * <p> * 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. * </p> * <p> * This configuration replaces the individual configuration fields in <code>ManagedRuleGroupConfig</code> and * provides additional feature configuration. * </p> * <p> * 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">WAF Fraud Control * account takeover prevention (ATP) rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html">WAF Fraud Control account takeover * prevention (ATP)</a> in the <i>WAF Developer Guide</i>. * </p> * * @param aWSManagedRulesATPRuleSet * 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. </p> * <p> * This configuration replaces the individual configuration fields in <code>ManagedRuleGroupConfig</code> and * provides additional feature configuration. * </p> * <p> * 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">WAF Fraud * Control account takeover prevention (ATP) rule group</a> and <a * href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html">WAF Fraud Control account * takeover prevention (ATP)</a> in the <i>WAF Developer Guide</i>. * @return Returns a reference to this object so that method calls can be chained together. */ public ManagedRuleGroupConfig withAWSManagedRulesATPRuleSet(AWSManagedRulesATPRuleSet aWSManagedRulesATPRuleSet) { setAWSManagedRulesATPRuleSet(aWSManagedRulesATPRuleSet); return this; } /** * <p> * 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. * </p> * <p> * 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">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">WAF Fraud Control account creation * fraud prevention (ACFP)</a> in the <i>WAF Developer Guide</i>. * </p> * * @param aWSManagedRulesACFPRuleSet * 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. </p> * <p> * 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">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">WAF Fraud Control account * creation fraud prevention (ACFP)</a> in the <i>WAF Developer Guide</i>. */ public void setAWSManagedRulesACFPRuleSet(AWSManagedRulesACFPRuleSet aWSManagedRulesACFPRuleSet) { this.aWSManagedRulesACFPRuleSet = aWSManagedRulesACFPRuleSet; } /** * <p> * 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. * </p> * <p> * 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">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">WAF Fraud Control account creation * fraud prevention (ACFP)</a> in the <i>WAF Developer Guide</i>. * </p> * * @return 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. </p> * <p> * 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">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">WAF Fraud Control account * creation fraud prevention (ACFP)</a> in the <i>WAF Developer Guide</i>. */ public AWSManagedRulesACFPRuleSet getAWSManagedRulesACFPRuleSet() { return this.aWSManagedRulesACFPRuleSet; } /** * <p> * 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. * </p> * <p> * 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">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">WAF Fraud Control account creation * fraud prevention (ACFP)</a> in the <i>WAF Developer Guide</i>. * </p> * * @param aWSManagedRulesACFPRuleSet * 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. </p> * <p> * 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">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">WAF Fraud Control account * creation fraud prevention (ACFP)</a> in the <i>WAF Developer Guide</i>. * @return Returns a reference to this object so that method calls can be chained together. */ public ManagedRuleGroupConfig withAWSManagedRulesACFPRuleSet(AWSManagedRulesACFPRuleSet aWSManagedRulesACFPRuleSet) { setAWSManagedRulesACFPRuleSet(aWSManagedRulesACFPRuleSet); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getLoginPath() != null) sb.append("LoginPath: ").append(getLoginPath()).append(","); if (getPayloadType() != null) sb.append("PayloadType: ").append(getPayloadType()).append(","); if (getUsernameField() != null) sb.append("UsernameField: ").append(getUsernameField()).append(","); if (getPasswordField() != null) sb.append("PasswordField: ").append(getPasswordField()).append(","); if (getAWSManagedRulesBotControlRuleSet() != null) sb.append("AWSManagedRulesBotControlRuleSet: ").append(getAWSManagedRulesBotControlRuleSet()).append(","); if (getAWSManagedRulesATPRuleSet() != null) sb.append("AWSManagedRulesATPRuleSet: ").append(getAWSManagedRulesATPRuleSet()).append(","); if (getAWSManagedRulesACFPRuleSet() != null) sb.append("AWSManagedRulesACFPRuleSet: ").append(getAWSManagedRulesACFPRuleSet()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ManagedRuleGroupConfig == false) return false; ManagedRuleGroupConfig other = (ManagedRuleGroupConfig) obj; if (other.getLoginPath() == null ^ this.getLoginPath() == null) return false; if (other.getLoginPath() != null && other.getLoginPath().equals(this.getLoginPath()) == false) return false; if (other.getPayloadType() == null ^ this.getPayloadType() == null) return false; if (other.getPayloadType() != null && other.getPayloadType().equals(this.getPayloadType()) == false) return false; if (other.getUsernameField() == null ^ this.getUsernameField() == null) return false; if (other.getUsernameField() != null && other.getUsernameField().equals(this.getUsernameField()) == false) return false; if (other.getPasswordField() == null ^ this.getPasswordField() == null) return false; if (other.getPasswordField() != null && other.getPasswordField().equals(this.getPasswordField()) == false) return false; if (other.getAWSManagedRulesBotControlRuleSet() == null ^ this.getAWSManagedRulesBotControlRuleSet() == null) return false; if (other.getAWSManagedRulesBotControlRuleSet() != null && other.getAWSManagedRulesBotControlRuleSet().equals(this.getAWSManagedRulesBotControlRuleSet()) == false) return false; if (other.getAWSManagedRulesATPRuleSet() == null ^ this.getAWSManagedRulesATPRuleSet() == null) return false; if (other.getAWSManagedRulesATPRuleSet() != null && other.getAWSManagedRulesATPRuleSet().equals(this.getAWSManagedRulesATPRuleSet()) == false) return false; if (other.getAWSManagedRulesACFPRuleSet() == null ^ this.getAWSManagedRulesACFPRuleSet() == null) return false; if (other.getAWSManagedRulesACFPRuleSet() != null && other.getAWSManagedRulesACFPRuleSet().equals(this.getAWSManagedRulesACFPRuleSet()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getLoginPath() == null) ? 0 : getLoginPath().hashCode()); hashCode = prime * hashCode + ((getPayloadType() == null) ? 0 : getPayloadType().hashCode()); hashCode = prime * hashCode + ((getUsernameField() == null) ? 0 : getUsernameField().hashCode()); hashCode = prime * hashCode + ((getPasswordField() == null) ? 0 : getPasswordField().hashCode()); hashCode = prime * hashCode + ((getAWSManagedRulesBotControlRuleSet() == null) ? 0 : getAWSManagedRulesBotControlRuleSet().hashCode()); hashCode = prime * hashCode + ((getAWSManagedRulesATPRuleSet() == null) ? 0 : getAWSManagedRulesATPRuleSet().hashCode()); hashCode = prime * hashCode + ((getAWSManagedRulesACFPRuleSet() == null) ? 0 : getAWSManagedRulesACFPRuleSet().hashCode()); return hashCode; } @Override public ManagedRuleGroupConfig clone() { try { return (ManagedRuleGroupConfig) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.wafv2.model.transform.ManagedRuleGroupConfigMarshaller.getInstance().marshall(this, protocolMarshaller); } }