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

Configures inspection of the response JSON. WAF can inspect the first 65,536 * bytes (64 KB) of the response JSON. This is part of the * ResponseInspection configuration for * AWSManagedRulesATPRuleSet and * AWSManagedRulesACFPRuleSet.

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

*

See Also:

AWS * API Reference

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

The identifier for the value to match against in the JSON. The identifier * must be an exact match, including case.

JSON examples: * "Identifier": [ "/login/success" ] and "Identifier": [ * "/sign-up/success" ]

*/ inline const Aws::String& GetIdentifier() const{ return m_identifier; } /** *

The identifier for the value to match against in the JSON. The identifier * must be an exact match, including case.

JSON examples: * "Identifier": [ "/login/success" ] and "Identifier": [ * "/sign-up/success" ]

*/ inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; } /** *

The identifier for the value to match against in the JSON. The identifier * must be an exact match, including case.

JSON examples: * "Identifier": [ "/login/success" ] and "Identifier": [ * "/sign-up/success" ]

*/ inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; } /** *

The identifier for the value to match against in the JSON. The identifier * must be an exact match, including case.

JSON examples: * "Identifier": [ "/login/success" ] and "Identifier": [ * "/sign-up/success" ]

*/ inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); } /** *

The identifier for the value to match against in the JSON. The identifier * must be an exact match, including case.

JSON examples: * "Identifier": [ "/login/success" ] and "Identifier": [ * "/sign-up/success" ]

*/ inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); } /** *

The identifier for the value to match against in the JSON. The identifier * must be an exact match, including case.

JSON examples: * "Identifier": [ "/login/success" ] and "Identifier": [ * "/sign-up/success" ]

*/ inline ResponseInspectionJson& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;} /** *

The identifier for the value to match against in the JSON. The identifier * must be an exact match, including case.

JSON examples: * "Identifier": [ "/login/success" ] and "Identifier": [ * "/sign-up/success" ]

*/ inline ResponseInspectionJson& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;} /** *

The identifier for the value to match against in the JSON. The identifier * must be an exact match, including case.

JSON examples: * "Identifier": [ "/login/success" ] and "Identifier": [ * "/sign-up/success" ]

*/ inline ResponseInspectionJson& WithIdentifier(const char* value) { SetIdentifier(value); return *this;} /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline const Aws::Vector& GetSuccessValues() const{ return m_successValues; } /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline bool SuccessValuesHasBeenSet() const { return m_successValuesHasBeenSet; } /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline void SetSuccessValues(const Aws::Vector& value) { m_successValuesHasBeenSet = true; m_successValues = value; } /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline void SetSuccessValues(Aws::Vector&& value) { m_successValuesHasBeenSet = true; m_successValues = std::move(value); } /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline ResponseInspectionJson& WithSuccessValues(const Aws::Vector& value) { SetSuccessValues(value); return *this;} /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline ResponseInspectionJson& WithSuccessValues(Aws::Vector&& value) { SetSuccessValues(std::move(value)); return *this;} /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline ResponseInspectionJson& AddSuccessValues(const Aws::String& value) { m_successValuesHasBeenSet = true; m_successValues.push_back(value); return *this; } /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline ResponseInspectionJson& AddSuccessValues(Aws::String&& value) { m_successValuesHasBeenSet = true; m_successValues.push_back(std::move(value)); return *this; } /** *

Values for the specified identifier in the response JSON that indicate a * successful login or account creation attempt. To be counted as a success, the * value must be an exact match, including case. Each value must be unique among * the success and failure values.

JSON example: "SuccessValues": [ * "True", "Succeeded" ]

*/ inline ResponseInspectionJson& AddSuccessValues(const char* value) { m_successValuesHasBeenSet = true; m_successValues.push_back(value); return *this; } /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline const Aws::Vector& GetFailureValues() const{ return m_failureValues; } /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline bool FailureValuesHasBeenSet() const { return m_failureValuesHasBeenSet; } /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline void SetFailureValues(const Aws::Vector& value) { m_failureValuesHasBeenSet = true; m_failureValues = value; } /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline void SetFailureValues(Aws::Vector&& value) { m_failureValuesHasBeenSet = true; m_failureValues = std::move(value); } /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline ResponseInspectionJson& WithFailureValues(const Aws::Vector& value) { SetFailureValues(value); return *this;} /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline ResponseInspectionJson& WithFailureValues(Aws::Vector&& value) { SetFailureValues(std::move(value)); return *this;} /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline ResponseInspectionJson& AddFailureValues(const Aws::String& value) { m_failureValuesHasBeenSet = true; m_failureValues.push_back(value); return *this; } /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline ResponseInspectionJson& AddFailureValues(Aws::String&& value) { m_failureValuesHasBeenSet = true; m_failureValues.push_back(std::move(value)); return *this; } /** *

Values for the specified identifier in the response JSON that indicate a * failed login or account creation attempt. To be counted as a failure, the value * must be an exact match, including case. Each value must be unique among the * success and failure values.

JSON example: "FailureValues": [ * "False", "Failed" ]

*/ inline ResponseInspectionJson& AddFailureValues(const char* value) { m_failureValuesHasBeenSet = true; m_failureValues.push_back(value); return *this; } private: Aws::String m_identifier; bool m_identifierHasBeenSet = false; Aws::Vector m_successValues; bool m_successValuesHasBeenSet = false; Aws::Vector m_failureValues; bool m_failureValuesHasBeenSet = false; }; } // namespace Model } // namespace WAFV2 } // namespace Aws