/** * 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 WAF { namespace Model { /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

The response from a * GetSampledRequests request includes a SampledHTTPRequests * complex type that appears as SampledRequests in the response * syntax. SampledHTTPRequests contains one * SampledHTTPRequest object for each web request that is returned by * GetSampledRequests.

See Also:

AWS * API Reference

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

A complex type that contains detailed information about the request.

*/ inline const HTTPRequest& GetRequest() const{ return m_request; } /** *

A complex type that contains detailed information about the request.

*/ inline bool RequestHasBeenSet() const { return m_requestHasBeenSet; } /** *

A complex type that contains detailed information about the request.

*/ inline void SetRequest(const HTTPRequest& value) { m_requestHasBeenSet = true; m_request = value; } /** *

A complex type that contains detailed information about the request.

*/ inline void SetRequest(HTTPRequest&& value) { m_requestHasBeenSet = true; m_request = std::move(value); } /** *

A complex type that contains detailed information about the request.

*/ inline SampledHTTPRequest& WithRequest(const HTTPRequest& value) { SetRequest(value); return *this;} /** *

A complex type that contains detailed information about the request.

*/ inline SampledHTTPRequest& WithRequest(HTTPRequest&& value) { SetRequest(std::move(value)); return *this;} /** *

A value that indicates how one result in the response relates proportionally * to other results in the response. A result that has a weight of 2 * represents roughly twice as many CloudFront web requests as a result that has a * weight of 1.

*/ inline long long GetWeight() const{ return m_weight; } /** *

A value that indicates how one result in the response relates proportionally * to other results in the response. A result that has a weight of 2 * represents roughly twice as many CloudFront web requests as a result that has a * weight of 1.

*/ inline bool WeightHasBeenSet() const { return m_weightHasBeenSet; } /** *

A value that indicates how one result in the response relates proportionally * to other results in the response. A result that has a weight of 2 * represents roughly twice as many CloudFront web requests as a result that has a * weight of 1.

*/ inline void SetWeight(long long value) { m_weightHasBeenSet = true; m_weight = value; } /** *

A value that indicates how one result in the response relates proportionally * to other results in the response. A result that has a weight of 2 * represents roughly twice as many CloudFront web requests as a result that has a * weight of 1.

*/ inline SampledHTTPRequest& WithWeight(long long value) { SetWeight(value); return *this;} /** *

The time at which AWS WAF received the request from your AWS resource, in * Unix time format (in seconds).

*/ inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } /** *

The time at which AWS WAF received the request from your AWS resource, in * Unix time format (in seconds).

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The time at which AWS WAF received the request from your AWS resource, in * Unix time format (in seconds).

*/ inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The time at which AWS WAF received the request from your AWS resource, in * Unix time format (in seconds).

*/ inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The time at which AWS WAF received the request from your AWS resource, in * Unix time format (in seconds).

*/ inline SampledHTTPRequest& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} /** *

The time at which AWS WAF received the request from your AWS resource, in * Unix time format (in seconds).

*/ inline SampledHTTPRequest& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} /** *

The action for the Rule that the request matched: * ALLOW, BLOCK, or COUNT.

*/ inline const Aws::String& GetAction() const{ return m_action; } /** *

The action for the Rule that the request matched: * ALLOW, BLOCK, or COUNT.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

The action for the Rule that the request matched: * ALLOW, BLOCK, or COUNT.

*/ inline void SetAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action = value; } /** *

The action for the Rule that the request matched: * ALLOW, BLOCK, or COUNT.

*/ inline void SetAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

The action for the Rule that the request matched: * ALLOW, BLOCK, or COUNT.

*/ inline void SetAction(const char* value) { m_actionHasBeenSet = true; m_action.assign(value); } /** *

The action for the Rule that the request matched: * ALLOW, BLOCK, or COUNT.

*/ inline SampledHTTPRequest& WithAction(const Aws::String& value) { SetAction(value); return *this;} /** *

The action for the Rule that the request matched: * ALLOW, BLOCK, or COUNT.

*/ inline SampledHTTPRequest& WithAction(Aws::String&& value) { SetAction(std::move(value)); return *this;} /** *

The action for the Rule that the request matched: * ALLOW, BLOCK, or COUNT.

*/ inline SampledHTTPRequest& WithAction(const char* value) { SetAction(value); return *this;} /** *

This value is returned if the GetSampledRequests request * specifies the ID of a RuleGroup rather than the ID of an individual * rule. RuleWithinRuleGroup is the rule within the specified * RuleGroup that matched the request listed in the response.

*/ inline const Aws::String& GetRuleWithinRuleGroup() const{ return m_ruleWithinRuleGroup; } /** *

This value is returned if the GetSampledRequests request * specifies the ID of a RuleGroup rather than the ID of an individual * rule. RuleWithinRuleGroup is the rule within the specified * RuleGroup that matched the request listed in the response.

*/ inline bool RuleWithinRuleGroupHasBeenSet() const { return m_ruleWithinRuleGroupHasBeenSet; } /** *

This value is returned if the GetSampledRequests request * specifies the ID of a RuleGroup rather than the ID of an individual * rule. RuleWithinRuleGroup is the rule within the specified * RuleGroup that matched the request listed in the response.

*/ inline void SetRuleWithinRuleGroup(const Aws::String& value) { m_ruleWithinRuleGroupHasBeenSet = true; m_ruleWithinRuleGroup = value; } /** *

This value is returned if the GetSampledRequests request * specifies the ID of a RuleGroup rather than the ID of an individual * rule. RuleWithinRuleGroup is the rule within the specified * RuleGroup that matched the request listed in the response.

*/ inline void SetRuleWithinRuleGroup(Aws::String&& value) { m_ruleWithinRuleGroupHasBeenSet = true; m_ruleWithinRuleGroup = std::move(value); } /** *

This value is returned if the GetSampledRequests request * specifies the ID of a RuleGroup rather than the ID of an individual * rule. RuleWithinRuleGroup is the rule within the specified * RuleGroup that matched the request listed in the response.

*/ inline void SetRuleWithinRuleGroup(const char* value) { m_ruleWithinRuleGroupHasBeenSet = true; m_ruleWithinRuleGroup.assign(value); } /** *

This value is returned if the GetSampledRequests request * specifies the ID of a RuleGroup rather than the ID of an individual * rule. RuleWithinRuleGroup is the rule within the specified * RuleGroup that matched the request listed in the response.

*/ inline SampledHTTPRequest& WithRuleWithinRuleGroup(const Aws::String& value) { SetRuleWithinRuleGroup(value); return *this;} /** *

This value is returned if the GetSampledRequests request * specifies the ID of a RuleGroup rather than the ID of an individual * rule. RuleWithinRuleGroup is the rule within the specified * RuleGroup that matched the request listed in the response.

*/ inline SampledHTTPRequest& WithRuleWithinRuleGroup(Aws::String&& value) { SetRuleWithinRuleGroup(std::move(value)); return *this;} /** *

This value is returned if the GetSampledRequests request * specifies the ID of a RuleGroup rather than the ID of an individual * rule. RuleWithinRuleGroup is the rule within the specified * RuleGroup that matched the request listed in the response.

*/ inline SampledHTTPRequest& WithRuleWithinRuleGroup(const char* value) { SetRuleWithinRuleGroup(value); return *this;} private: HTTPRequest m_request; bool m_requestHasBeenSet = false; long long m_weight; bool m_weightHasBeenSet = false; Aws::Utils::DateTime m_timestamp; bool m_timestampHasBeenSet = false; Aws::String m_action; bool m_actionHasBeenSet = false; Aws::String m_ruleWithinRuleGroup; bool m_ruleWithinRuleGroupHasBeenSet = false; }; } // namespace Model } // namespace WAF } // namespace Aws