aws_sdk_waf/operation/get_sampled_requests/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::get_sampled_requests::_get_sampled_requests_output::GetSampledRequestsOutputBuilder;
3
4pub use crate::operation::get_sampled_requests::_get_sampled_requests_input::GetSampledRequestsInputBuilder;
5
6impl crate::operation::get_sampled_requests::builders::GetSampledRequestsInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::get_sampled_requests::GetSampledRequestsOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::get_sampled_requests::GetSampledRequestsError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.get_sampled_requests();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `GetSampledRequests`.
24///
25/// <note>
26/// <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html">AWS WAF Classic</a> in the developer guide.</p>
27/// <p><b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use.</p>
28/// </note>
29/// <p>Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.</p>
30/// <p><code>GetSampledRequests</code> returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, <code>GetSampledRequests</code> returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.</p>
31#[derive(::std::clone::Clone, ::std::fmt::Debug)]
32pub struct GetSampledRequestsFluentBuilder {
33 handle: ::std::sync::Arc<crate::client::Handle>,
34 inner: crate::operation::get_sampled_requests::builders::GetSampledRequestsInputBuilder,
35 config_override: ::std::option::Option<crate::config::Builder>,
36}
37impl
38 crate::client::customize::internal::CustomizableSend<
39 crate::operation::get_sampled_requests::GetSampledRequestsOutput,
40 crate::operation::get_sampled_requests::GetSampledRequestsError,
41 > for GetSampledRequestsFluentBuilder
42{
43 fn send(
44 self,
45 config_override: crate::config::Builder,
46 ) -> crate::client::customize::internal::BoxFuture<
47 crate::client::customize::internal::SendResult<
48 crate::operation::get_sampled_requests::GetSampledRequestsOutput,
49 crate::operation::get_sampled_requests::GetSampledRequestsError,
50 >,
51 > {
52 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
53 }
54}
55impl GetSampledRequestsFluentBuilder {
56 /// Creates a new `GetSampledRequestsFluentBuilder`.
57 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
58 Self {
59 handle,
60 inner: ::std::default::Default::default(),
61 config_override: ::std::option::Option::None,
62 }
63 }
64 /// Access the GetSampledRequests as a reference.
65 pub fn as_input(&self) -> &crate::operation::get_sampled_requests::builders::GetSampledRequestsInputBuilder {
66 &self.inner
67 }
68 /// Sends the request and returns the response.
69 ///
70 /// If an error occurs, an `SdkError` will be returned with additional details that
71 /// can be matched against.
72 ///
73 /// By default, any retryable failures will be retried twice. Retry behavior
74 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
75 /// set when configuring the client.
76 pub async fn send(
77 self,
78 ) -> ::std::result::Result<
79 crate::operation::get_sampled_requests::GetSampledRequestsOutput,
80 ::aws_smithy_runtime_api::client::result::SdkError<
81 crate::operation::get_sampled_requests::GetSampledRequestsError,
82 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
83 >,
84 > {
85 let input = self
86 .inner
87 .build()
88 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
89 let runtime_plugins = crate::operation::get_sampled_requests::GetSampledRequests::operation_runtime_plugins(
90 self.handle.runtime_plugins.clone(),
91 &self.handle.conf,
92 self.config_override,
93 );
94 crate::operation::get_sampled_requests::GetSampledRequests::orchestrate(&runtime_plugins, input).await
95 }
96
97 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
98 pub fn customize(
99 self,
100 ) -> crate::client::customize::CustomizableOperation<
101 crate::operation::get_sampled_requests::GetSampledRequestsOutput,
102 crate::operation::get_sampled_requests::GetSampledRequestsError,
103 Self,
104 > {
105 crate::client::customize::CustomizableOperation::new(self)
106 }
107 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
108 self.set_config_override(::std::option::Option::Some(config_override.into()));
109 self
110 }
111
112 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
113 self.config_override = config_override;
114 self
115 }
116 /// <p>The <code>WebACLId</code> of the <code>WebACL</code> for which you want <code>GetSampledRequests</code> to return a sample of requests.</p>
117 pub fn web_acl_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
118 self.inner = self.inner.web_acl_id(input.into());
119 self
120 }
121 /// <p>The <code>WebACLId</code> of the <code>WebACL</code> for which you want <code>GetSampledRequests</code> to return a sample of requests.</p>
122 pub fn set_web_acl_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
123 self.inner = self.inner.set_web_acl_id(input);
124 self
125 }
126 /// <p>The <code>WebACLId</code> of the <code>WebACL</code> for which you want <code>GetSampledRequests</code> to return a sample of requests.</p>
127 pub fn get_web_acl_id(&self) -> &::std::option::Option<::std::string::String> {
128 self.inner.get_web_acl_id()
129 }
130 /// <p><code>RuleId</code> is one of three values:</p>
131 /// <ul>
132 /// <li>
133 /// <p>The <code>RuleId</code> of the <code>Rule</code> or the <code>RuleGroupId</code> of the <code>RuleGroup</code> for which you want <code>GetSampledRequests</code> to return a sample of requests.</p></li>
134 /// <li>
135 /// <p><code>Default_Action</code>, which causes <code>GetSampledRequests</code> to return a sample of the requests that didn't match any of the rules in the specified <code>WebACL</code>.</p></li>
136 /// </ul>
137 pub fn rule_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
138 self.inner = self.inner.rule_id(input.into());
139 self
140 }
141 /// <p><code>RuleId</code> is one of three values:</p>
142 /// <ul>
143 /// <li>
144 /// <p>The <code>RuleId</code> of the <code>Rule</code> or the <code>RuleGroupId</code> of the <code>RuleGroup</code> for which you want <code>GetSampledRequests</code> to return a sample of requests.</p></li>
145 /// <li>
146 /// <p><code>Default_Action</code>, which causes <code>GetSampledRequests</code> to return a sample of the requests that didn't match any of the rules in the specified <code>WebACL</code>.</p></li>
147 /// </ul>
148 pub fn set_rule_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
149 self.inner = self.inner.set_rule_id(input);
150 self
151 }
152 /// <p><code>RuleId</code> is one of three values:</p>
153 /// <ul>
154 /// <li>
155 /// <p>The <code>RuleId</code> of the <code>Rule</code> or the <code>RuleGroupId</code> of the <code>RuleGroup</code> for which you want <code>GetSampledRequests</code> to return a sample of requests.</p></li>
156 /// <li>
157 /// <p><code>Default_Action</code>, which causes <code>GetSampledRequests</code> to return a sample of the requests that didn't match any of the rules in the specified <code>WebACL</code>.</p></li>
158 /// </ul>
159 pub fn get_rule_id(&self) -> &::std::option::Option<::std::string::String> {
160 self.inner.get_rule_id()
161 }
162 /// <p>The start date and time and the end date and time of the range for which you want <code>GetSampledRequests</code> to return a sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, <code>Z</code>. For example, <code>"2016-09-27T14:50Z"</code>. You can specify any time range in the previous three hours.</p>
163 pub fn time_window(mut self, input: crate::types::TimeWindow) -> Self {
164 self.inner = self.inner.time_window(input);
165 self
166 }
167 /// <p>The start date and time and the end date and time of the range for which you want <code>GetSampledRequests</code> to return a sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, <code>Z</code>. For example, <code>"2016-09-27T14:50Z"</code>. You can specify any time range in the previous three hours.</p>
168 pub fn set_time_window(mut self, input: ::std::option::Option<crate::types::TimeWindow>) -> Self {
169 self.inner = self.inner.set_time_window(input);
170 self
171 }
172 /// <p>The start date and time and the end date and time of the range for which you want <code>GetSampledRequests</code> to return a sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, <code>Z</code>. For example, <code>"2016-09-27T14:50Z"</code>. You can specify any time range in the previous three hours.</p>
173 pub fn get_time_window(&self) -> &::std::option::Option<crate::types::TimeWindow> {
174 self.inner.get_time_window()
175 }
176 /// <p>The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of <code>MaxItems</code>, <code>GetSampledRequests</code> returns information about all of them.</p>
177 pub fn max_items(mut self, input: i64) -> Self {
178 self.inner = self.inner.max_items(input);
179 self
180 }
181 /// <p>The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of <code>MaxItems</code>, <code>GetSampledRequests</code> returns information about all of them.</p>
182 pub fn set_max_items(mut self, input: ::std::option::Option<i64>) -> Self {
183 self.inner = self.inner.set_max_items(input);
184 self
185 }
186 /// <p>The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of <code>MaxItems</code>, <code>GetSampledRequests</code> returns information about all of them.</p>
187 pub fn get_max_items(&self) -> &::std::option::Option<i64> {
188 self.inner.get_max_items()
189 }
190}