/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace WAFV2 { namespace Model { /** *

Details for your use of the account creation fraud prevention managed rule * group, AWSManagedRulesACFPRuleSet. This configuration is used in * ManagedRuleGroupConfig.

See Also:

AWS * API Reference

*/ class AWSManagedRulesACFPRuleSet { public: AWS_WAFV2_API AWSManagedRulesACFPRuleSet(); AWS_WAFV2_API AWSManagedRulesACFPRuleSet(Aws::Utils::Json::JsonView jsonValue); AWS_WAFV2_API AWSManagedRulesACFPRuleSet& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The path of the account creation endpoint for your application. This is the * page on your website that accepts the completed registration form for a new * user. This page must accept POST requests.

For example, for * the URL https://example.com/web/signup, you would provide the path * /web/signup.

*/ inline const Aws::String& GetCreationPath() const{ return m_creationPath; } /** *

The path of the account creation endpoint for your application. This is the * page on your website that accepts the completed registration form for a new * user. This page must accept POST requests.

For example, for * the URL https://example.com/web/signup, you would provide the path * /web/signup.

*/ inline bool CreationPathHasBeenSet() const { return m_creationPathHasBeenSet; } /** *

The path of the account creation endpoint for your application. This is the * page on your website that accepts the completed registration form for a new * user. This page must accept POST requests.

For example, for * the URL https://example.com/web/signup, you would provide the path * /web/signup.

*/ inline void SetCreationPath(const Aws::String& value) { m_creationPathHasBeenSet = true; m_creationPath = value; } /** *

The path of the account creation endpoint for your application. This is the * page on your website that accepts the completed registration form for a new * user. This page must accept POST requests.

For example, for * the URL https://example.com/web/signup, you would provide the path * /web/signup.

*/ inline void SetCreationPath(Aws::String&& value) { m_creationPathHasBeenSet = true; m_creationPath = std::move(value); } /** *

The path of the account creation endpoint for your application. This is the * page on your website that accepts the completed registration form for a new * user. This page must accept POST requests.

For example, for * the URL https://example.com/web/signup, you would provide the path * /web/signup.

*/ inline void SetCreationPath(const char* value) { m_creationPathHasBeenSet = true; m_creationPath.assign(value); } /** *

The path of the account creation endpoint for your application. This is the * page on your website that accepts the completed registration form for a new * user. This page must accept POST requests.

For example, for * the URL https://example.com/web/signup, you would provide the path * /web/signup.

*/ inline AWSManagedRulesACFPRuleSet& WithCreationPath(const Aws::String& value) { SetCreationPath(value); return *this;} /** *

The path of the account creation endpoint for your application. This is the * page on your website that accepts the completed registration form for a new * user. This page must accept POST requests.

For example, for * the URL https://example.com/web/signup, you would provide the path * /web/signup.

*/ inline AWSManagedRulesACFPRuleSet& WithCreationPath(Aws::String&& value) { SetCreationPath(std::move(value)); return *this;} /** *

The path of the account creation endpoint for your application. This is the * page on your website that accepts the completed registration form for a new * user. This page must accept POST requests.

For example, for * the URL https://example.com/web/signup, you would provide the path * /web/signup.

*/ inline AWSManagedRulesACFPRuleSet& WithCreationPath(const char* value) { SetCreationPath(value); return *this;} /** *

The path of the account registration endpoint for your application. This is * the page on your website that presents the registration form to new users.

*

This page must accept GET text/html requests.

*

For example, for the URL https://example.com/web/register, you * would provide the path /web/register.

*/ inline const Aws::String& GetRegistrationPagePath() const{ return m_registrationPagePath; } /** *

The path of the account registration endpoint for your application. This is * the page on your website that presents the registration form to new users.

*

This page must accept GET text/html requests.

*

For example, for the URL https://example.com/web/register, you * would provide the path /web/register.

*/ inline bool RegistrationPagePathHasBeenSet() const { return m_registrationPagePathHasBeenSet; } /** *

The path of the account registration endpoint for your application. This is * the page on your website that presents the registration form to new users.

*

This page must accept GET text/html requests.

*

For example, for the URL https://example.com/web/register, you * would provide the path /web/register.

*/ inline void SetRegistrationPagePath(const Aws::String& value) { m_registrationPagePathHasBeenSet = true; m_registrationPagePath = value; } /** *

The path of the account registration endpoint for your application. This is * the page on your website that presents the registration form to new users.

*

This page must accept GET text/html requests.

*

For example, for the URL https://example.com/web/register, you * would provide the path /web/register.

*/ inline void SetRegistrationPagePath(Aws::String&& value) { m_registrationPagePathHasBeenSet = true; m_registrationPagePath = std::move(value); } /** *

The path of the account registration endpoint for your application. This is * the page on your website that presents the registration form to new users.

*

This page must accept GET text/html requests.

*

For example, for the URL https://example.com/web/register, you * would provide the path /web/register.

*/ inline void SetRegistrationPagePath(const char* value) { m_registrationPagePathHasBeenSet = true; m_registrationPagePath.assign(value); } /** *

The path of the account registration endpoint for your application. This is * the page on your website that presents the registration form to new users.

*

This page must accept GET text/html requests.

*

For example, for the URL https://example.com/web/register, you * would provide the path /web/register.

*/ inline AWSManagedRulesACFPRuleSet& WithRegistrationPagePath(const Aws::String& value) { SetRegistrationPagePath(value); return *this;} /** *

The path of the account registration endpoint for your application. This is * the page on your website that presents the registration form to new users.

*

This page must accept GET text/html requests.

*

For example, for the URL https://example.com/web/register, you * would provide the path /web/register.

*/ inline AWSManagedRulesACFPRuleSet& WithRegistrationPagePath(Aws::String&& value) { SetRegistrationPagePath(std::move(value)); return *this;} /** *

The path of the account registration endpoint for your application. This is * the page on your website that presents the registration form to new users.

*

This page must accept GET text/html requests.

*

For example, for the URL https://example.com/web/register, you * would provide the path /web/register.

*/ inline AWSManagedRulesACFPRuleSet& WithRegistrationPagePath(const char* value) { SetRegistrationPagePath(value); return *this;} /** *

The criteria for inspecting account creation requests, used by the ACFP rule * group to validate and track account creation attempts.

*/ inline const RequestInspectionACFP& GetRequestInspection() const{ return m_requestInspection; } /** *

The criteria for inspecting account creation requests, used by the ACFP rule * group to validate and track account creation attempts.

*/ inline bool RequestInspectionHasBeenSet() const { return m_requestInspectionHasBeenSet; } /** *

The criteria for inspecting account creation requests, used by the ACFP rule * group to validate and track account creation attempts.

*/ inline void SetRequestInspection(const RequestInspectionACFP& value) { m_requestInspectionHasBeenSet = true; m_requestInspection = value; } /** *

The criteria for inspecting account creation requests, used by the ACFP rule * group to validate and track account creation attempts.

*/ inline void SetRequestInspection(RequestInspectionACFP&& value) { m_requestInspectionHasBeenSet = true; m_requestInspection = std::move(value); } /** *

The criteria for inspecting account creation requests, used by the ACFP rule * group to validate and track account creation attempts.

*/ inline AWSManagedRulesACFPRuleSet& WithRequestInspection(const RequestInspectionACFP& value) { SetRequestInspection(value); return *this;} /** *

The criteria for inspecting account creation requests, used by the ACFP rule * group to validate and track account creation attempts.

*/ inline AWSManagedRulesACFPRuleSet& WithRequestInspection(RequestInspectionACFP&& value) { SetRequestInspection(std::move(value)); return *this;} /** *

The criteria for inspecting responses to account creation requests, used by * the ACFP rule group to track account creation success rates.

*

Response inspection is available only in web ACLs that protect Amazon * CloudFront distributions.

The ACFP rule group evaluates the * responses that your protected resources send back to client account creation * attempts, keeping count of successful and failed attempts from each IP address * and client session. Using this information, the rule group labels and mitigates * requests from client sessions and IP addresses that have had too many successful * account creation attempts in a short amount of time.

*/ inline const ResponseInspection& GetResponseInspection() const{ return m_responseInspection; } /** *

The criteria for inspecting responses to account creation requests, used by * the ACFP rule group to track account creation success rates.

*

Response inspection is available only in web ACLs that protect Amazon * CloudFront distributions.

The ACFP rule group evaluates the * responses that your protected resources send back to client account creation * attempts, keeping count of successful and failed attempts from each IP address * and client session. Using this information, the rule group labels and mitigates * requests from client sessions and IP addresses that have had too many successful * account creation attempts in a short amount of time.

*/ inline bool ResponseInspectionHasBeenSet() const { return m_responseInspectionHasBeenSet; } /** *

The criteria for inspecting responses to account creation requests, used by * the ACFP rule group to track account creation success rates.

*

Response inspection is available only in web ACLs that protect Amazon * CloudFront distributions.

The ACFP rule group evaluates the * responses that your protected resources send back to client account creation * attempts, keeping count of successful and failed attempts from each IP address * and client session. Using this information, the rule group labels and mitigates * requests from client sessions and IP addresses that have had too many successful * account creation attempts in a short amount of time.

*/ inline void SetResponseInspection(const ResponseInspection& value) { m_responseInspectionHasBeenSet = true; m_responseInspection = value; } /** *

The criteria for inspecting responses to account creation requests, used by * the ACFP rule group to track account creation success rates.

*

Response inspection is available only in web ACLs that protect Amazon * CloudFront distributions.

The ACFP rule group evaluates the * responses that your protected resources send back to client account creation * attempts, keeping count of successful and failed attempts from each IP address * and client session. Using this information, the rule group labels and mitigates * requests from client sessions and IP addresses that have had too many successful * account creation attempts in a short amount of time.

*/ inline void SetResponseInspection(ResponseInspection&& value) { m_responseInspectionHasBeenSet = true; m_responseInspection = std::move(value); } /** *

The criteria for inspecting responses to account creation requests, used by * the ACFP rule group to track account creation success rates.

*

Response inspection is available only in web ACLs that protect Amazon * CloudFront distributions.

The ACFP rule group evaluates the * responses that your protected resources send back to client account creation * attempts, keeping count of successful and failed attempts from each IP address * and client session. Using this information, the rule group labels and mitigates * requests from client sessions and IP addresses that have had too many successful * account creation attempts in a short amount of time.

*/ inline AWSManagedRulesACFPRuleSet& WithResponseInspection(const ResponseInspection& value) { SetResponseInspection(value); return *this;} /** *

The criteria for inspecting responses to account creation requests, used by * the ACFP rule group to track account creation success rates.

*

Response inspection is available only in web ACLs that protect Amazon * CloudFront distributions.

The ACFP rule group evaluates the * responses that your protected resources send back to client account creation * attempts, keeping count of successful and failed attempts from each IP address * and client session. Using this information, the rule group labels and mitigates * requests from client sessions and IP addresses that have had too many successful * account creation attempts in a short amount of time.

*/ inline AWSManagedRulesACFPRuleSet& WithResponseInspection(ResponseInspection&& value) { SetResponseInspection(std::move(value)); return *this;} /** *

Allow the use of regular expressions in the registration page path and the * account creation path.

*/ inline bool GetEnableRegexInPath() const{ return m_enableRegexInPath; } /** *

Allow the use of regular expressions in the registration page path and the * account creation path.

*/ inline bool EnableRegexInPathHasBeenSet() const { return m_enableRegexInPathHasBeenSet; } /** *

Allow the use of regular expressions in the registration page path and the * account creation path.

*/ inline void SetEnableRegexInPath(bool value) { m_enableRegexInPathHasBeenSet = true; m_enableRegexInPath = value; } /** *

Allow the use of regular expressions in the registration page path and the * account creation path.

*/ inline AWSManagedRulesACFPRuleSet& WithEnableRegexInPath(bool value) { SetEnableRegexInPath(value); return *this;} private: Aws::String m_creationPath; bool m_creationPathHasBeenSet = false; Aws::String m_registrationPagePath; bool m_registrationPagePathHasBeenSet = false; RequestInspectionACFP m_requestInspection; bool m_requestInspectionHasBeenSet = false; ResponseInspection m_responseInspection; bool m_responseInspectionHasBeenSet = false; bool m_enableRegexInPath; bool m_enableRegexInPathHasBeenSet = false; }; } // namespace Model } // namespace WAFV2 } // namespace Aws