/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include This is the latest version of AWS WAF, named AWS WAFV2,
* released in November, 2019. For information, including how to migrate your AWS
* WAF resources from the prior release, see the AWS
* WAF Developer Guide. Part of the response from
* GetSampledRequests. This is a complex type that appears as
* Request in the response syntax. HTTPRequest contains
* information about one of the web requests. See Also:
AWS
* API Reference
The IP address that the request originated from. If the web ACL is associated * with a CloudFront distribution, this is the value of one of the following fields * in CloudFront access logs:
c-ip, if the viewer
* did not use an HTTP proxy or a load balancer to send the request
x-forwarded-for, if the viewer did use an HTTP proxy or a load
* balancer to send the request
The IP address that the request originated from. If the web ACL is associated * with a CloudFront distribution, this is the value of one of the following fields * in CloudFront access logs:
c-ip, if the viewer
* did not use an HTTP proxy or a load balancer to send the request
x-forwarded-for, if the viewer did use an HTTP proxy or a load
* balancer to send the request
The IP address that the request originated from. If the web ACL is associated * with a CloudFront distribution, this is the value of one of the following fields * in CloudFront access logs:
c-ip, if the viewer
* did not use an HTTP proxy or a load balancer to send the request
x-forwarded-for, if the viewer did use an HTTP proxy or a load
* balancer to send the request
The IP address that the request originated from. If the web ACL is associated * with a CloudFront distribution, this is the value of one of the following fields * in CloudFront access logs:
c-ip, if the viewer
* did not use an HTTP proxy or a load balancer to send the request
x-forwarded-for, if the viewer did use an HTTP proxy or a load
* balancer to send the request
The IP address that the request originated from. If the web ACL is associated * with a CloudFront distribution, this is the value of one of the following fields * in CloudFront access logs:
c-ip, if the viewer
* did not use an HTTP proxy or a load balancer to send the request
x-forwarded-for, if the viewer did use an HTTP proxy or a load
* balancer to send the request
The IP address that the request originated from. If the web ACL is associated * with a CloudFront distribution, this is the value of one of the following fields * in CloudFront access logs:
c-ip, if the viewer
* did not use an HTTP proxy or a load balancer to send the request
x-forwarded-for, if the viewer did use an HTTP proxy or a load
* balancer to send the request
The IP address that the request originated from. If the web ACL is associated * with a CloudFront distribution, this is the value of one of the following fields * in CloudFront access logs:
c-ip, if the viewer
* did not use an HTTP proxy or a load balancer to send the request
x-forwarded-for, if the viewer did use an HTTP proxy or a load
* balancer to send the request
The IP address that the request originated from. If the web ACL is associated * with a CloudFront distribution, this is the value of one of the following fields * in CloudFront access logs:
c-ip, if the viewer
* did not use an HTTP proxy or a load balancer to send the request
x-forwarded-for, if the viewer did use an HTTP proxy or a load
* balancer to send the request
The two-letter country code for the country that the request originated from. * For a current list of country codes, see the Wikipedia entry ISO 3166-1 * alpha-2.
*/ inline const Aws::String& GetCountry() const{ return m_country; } /** *The two-letter country code for the country that the request originated from. * For a current list of country codes, see the Wikipedia entry ISO 3166-1 * alpha-2.
*/ inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } /** *The two-letter country code for the country that the request originated from. * For a current list of country codes, see the Wikipedia entry ISO 3166-1 * alpha-2.
*/ inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } /** *The two-letter country code for the country that the request originated from. * For a current list of country codes, see the Wikipedia entry ISO 3166-1 * alpha-2.
*/ inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } /** *The two-letter country code for the country that the request originated from. * For a current list of country codes, see the Wikipedia entry ISO 3166-1 * alpha-2.
*/ inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } /** *The two-letter country code for the country that the request originated from. * For a current list of country codes, see the Wikipedia entry ISO 3166-1 * alpha-2.
*/ inline HTTPRequest& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} /** *The two-letter country code for the country that the request originated from. * For a current list of country codes, see the Wikipedia entry ISO 3166-1 * alpha-2.
*/ inline HTTPRequest& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} /** *The two-letter country code for the country that the request originated from. * For a current list of country codes, see the Wikipedia entry ISO 3166-1 * alpha-2.
*/ inline HTTPRequest& WithCountry(const char* value) { SetCountry(value); return *this;} /** *The URI path of the request, which identifies the resource, for example,
* /images/daily-ad.jpg.
The URI path of the request, which identifies the resource, for example,
* /images/daily-ad.jpg.
The URI path of the request, which identifies the resource, for example,
* /images/daily-ad.jpg.
The URI path of the request, which identifies the resource, for example,
* /images/daily-ad.jpg.
The URI path of the request, which identifies the resource, for example,
* /images/daily-ad.jpg.
The URI path of the request, which identifies the resource, for example,
* /images/daily-ad.jpg.
The URI path of the request, which identifies the resource, for example,
* /images/daily-ad.jpg.
The URI path of the request, which identifies the resource, for example,
* /images/daily-ad.jpg.
The HTTP method specified in the sampled web request.
*/ inline const Aws::String& GetMethod() const{ return m_method; } /** *The HTTP method specified in the sampled web request.
*/ inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; } /** *The HTTP method specified in the sampled web request.
*/ inline void SetMethod(const Aws::String& value) { m_methodHasBeenSet = true; m_method = value; } /** *The HTTP method specified in the sampled web request.
*/ inline void SetMethod(Aws::String&& value) { m_methodHasBeenSet = true; m_method = std::move(value); } /** *The HTTP method specified in the sampled web request.
*/ inline void SetMethod(const char* value) { m_methodHasBeenSet = true; m_method.assign(value); } /** *The HTTP method specified in the sampled web request.
*/ inline HTTPRequest& WithMethod(const Aws::String& value) { SetMethod(value); return *this;} /** *The HTTP method specified in the sampled web request.
*/ inline HTTPRequest& WithMethod(Aws::String&& value) { SetMethod(std::move(value)); return *this;} /** *The HTTP method specified in the sampled web request.
*/ inline HTTPRequest& WithMethod(const char* value) { SetMethod(value); return *this;} /** *The HTTP version specified in the sampled web request, for example,
* HTTP/1.1.
The HTTP version specified in the sampled web request, for example,
* HTTP/1.1.
The HTTP version specified in the sampled web request, for example,
* HTTP/1.1.
The HTTP version specified in the sampled web request, for example,
* HTTP/1.1.
The HTTP version specified in the sampled web request, for example,
* HTTP/1.1.
The HTTP version specified in the sampled web request, for example,
* HTTP/1.1.
The HTTP version specified in the sampled web request, for example,
* HTTP/1.1.
The HTTP version specified in the sampled web request, for example,
* HTTP/1.1.
A complex type that contains the name and value for each header in the * sampled web request.
*/ inline const Aws::VectorA complex type that contains the name and value for each header in the * sampled web request.
*/ inline bool HeadersHasBeenSet() const { return m_headersHasBeenSet; } /** *A complex type that contains the name and value for each header in the * sampled web request.
*/ inline void SetHeaders(const Aws::VectorA complex type that contains the name and value for each header in the * sampled web request.
*/ inline void SetHeaders(Aws::VectorA complex type that contains the name and value for each header in the * sampled web request.
*/ inline HTTPRequest& WithHeaders(const Aws::VectorA complex type that contains the name and value for each header in the * sampled web request.
*/ inline HTTPRequest& WithHeaders(Aws::VectorA complex type that contains the name and value for each header in the * sampled web request.
*/ inline HTTPRequest& AddHeaders(const HTTPHeader& value) { m_headersHasBeenSet = true; m_headers.push_back(value); return *this; } /** *A complex type that contains the name and value for each header in the * sampled web request.
*/ inline HTTPRequest& AddHeaders(HTTPHeader&& value) { m_headersHasBeenSet = true; m_headers.push_back(std::move(value)); return *this; } private: Aws::String m_clientIP; bool m_clientIPHasBeenSet; Aws::String m_country; bool m_countryHasBeenSet; Aws::String m_uRI; bool m_uRIHasBeenSet; Aws::String m_method; bool m_methodHasBeenSet; Aws::String m_hTTPVersion; bool m_hTTPVersionHasBeenSet; Aws::Vector