aws_sdk_timestreamquery/operation/query/_query_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct QueryInput {
6 /// <p>The query to be run by Timestream.</p>
7 pub query_string: ::std::option::Option<::std::string::String>,
8 /// <p>Unique, case-sensitive string of up to 64 ASCII characters specified when a <code>Query</code> request is made. Providing a <code>ClientToken</code> makes the call to <code>Query</code> <i>idempotent</i>. This means that running the same query repeatedly will produce the same result. In other words, making multiple identical <code>Query</code> requests has the same effect as making a single request. When using <code>ClientToken</code> in a query, note the following:</p>
9 /// <ul>
10 /// <li>
11 /// <p>If the Query API is instantiated without a <code>ClientToken</code>, the Query SDK generates a <code>ClientToken</code> on your behalf.</p></li>
12 /// <li>
13 /// <p>If the <code>Query</code> invocation only contains the <code>ClientToken</code> but does not include a <code>NextToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p></li>
14 /// <li>
15 /// <p>If the invocation contains <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to the Query API, and a result set is returned.</p></li>
16 /// <li>
17 /// <p>After 4 hours, any request with the same <code>ClientToken</code> is treated as a new request.</p></li>
18 /// </ul>
19 pub client_token: ::std::option::Option<::std::string::String>,
20 /// <p>A pagination token used to return a set of results. When the <code>Query</code> API is invoked using <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to <code>Query</code>, and a result set is returned. However, if the <code>Query</code> invocation only contains the <code>ClientToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p>
21 /// <p>Note the following when using NextToken in a query:</p>
22 /// <ul>
23 /// <li>
24 /// <p>A pagination token can be used for up to five <code>Query</code> invocations, OR for a duration of up to 1 hour – whichever comes first.</p></li>
25 /// <li>
26 /// <p>Using the same <code>NextToken</code> will return the same set of records. To keep paginating through the result set, you must to use the most recent <code>nextToken</code>.</p></li>
27 /// <li>
28 /// <p>Suppose a <code>Query</code> invocation returns two <code>NextToken</code> values, <code>TokenA</code> and <code>TokenB</code>. If <code>TokenB</code> is used in a subsequent <code>Query</code> invocation, then <code>TokenA</code> is invalidated and cannot be reused.</p></li>
29 /// <li>
30 /// <p>To request a previous result set from a query after pagination has begun, you must re-invoke the Query API.</p></li>
31 /// <li>
32 /// <p>The latest <code>NextToken</code> should be used to paginate until <code>null</code> is returned, at which point a new <code>NextToken</code> should be used.</p></li>
33 /// <li>
34 /// <p>If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an <code>Invalid pagination token</code> error.</p></li>
35 /// </ul>
36 pub next_token: ::std::option::Option<::std::string::String>,
37 /// <p>The total number of rows to be returned in the <code>Query</code> output. The initial run of <code>Query</code> with a <code>MaxRows</code> value specified will return the result set of the query in two cases:</p>
38 /// <ul>
39 /// <li>
40 /// <p>The size of the result is less than <code>1MB</code>.</p></li>
41 /// <li>
42 /// <p>The number of rows in the result set is less than the value of <code>maxRows</code>.</p></li>
43 /// </ul>
44 /// <p>Otherwise, the initial invocation of <code>Query</code> only returns a <code>NextToken</code>, which can then be used in subsequent calls to fetch the result set. To resume pagination, provide the <code>NextToken</code> value in the subsequent command.</p>
45 /// <p>If the row size is large (e.g. a row has many columns), Timestream may return fewer rows to keep the response size from exceeding the 1 MB limit. If <code>MaxRows</code> is not provided, Timestream will send the necessary number of rows to meet the 1 MB limit.</p>
46 pub max_rows: ::std::option::Option<i32>,
47 /// <p>Encapsulates settings for enabling <code>QueryInsights</code>.</p>
48 /// <p>Enabling <code>QueryInsights</code> returns insights and metrics in addition to query results for the query that you executed. You can use <code>QueryInsights</code> to tune your query performance.</p>
49 pub query_insights: ::std::option::Option<crate::types::QueryInsights>,
50}
51impl QueryInput {
52 /// <p>The query to be run by Timestream.</p>
53 pub fn query_string(&self) -> ::std::option::Option<&str> {
54 self.query_string.as_deref()
55 }
56 /// <p>Unique, case-sensitive string of up to 64 ASCII characters specified when a <code>Query</code> request is made. Providing a <code>ClientToken</code> makes the call to <code>Query</code> <i>idempotent</i>. This means that running the same query repeatedly will produce the same result. In other words, making multiple identical <code>Query</code> requests has the same effect as making a single request. When using <code>ClientToken</code> in a query, note the following:</p>
57 /// <ul>
58 /// <li>
59 /// <p>If the Query API is instantiated without a <code>ClientToken</code>, the Query SDK generates a <code>ClientToken</code> on your behalf.</p></li>
60 /// <li>
61 /// <p>If the <code>Query</code> invocation only contains the <code>ClientToken</code> but does not include a <code>NextToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p></li>
62 /// <li>
63 /// <p>If the invocation contains <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to the Query API, and a result set is returned.</p></li>
64 /// <li>
65 /// <p>After 4 hours, any request with the same <code>ClientToken</code> is treated as a new request.</p></li>
66 /// </ul>
67 pub fn client_token(&self) -> ::std::option::Option<&str> {
68 self.client_token.as_deref()
69 }
70 /// <p>A pagination token used to return a set of results. When the <code>Query</code> API is invoked using <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to <code>Query</code>, and a result set is returned. However, if the <code>Query</code> invocation only contains the <code>ClientToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p>
71 /// <p>Note the following when using NextToken in a query:</p>
72 /// <ul>
73 /// <li>
74 /// <p>A pagination token can be used for up to five <code>Query</code> invocations, OR for a duration of up to 1 hour – whichever comes first.</p></li>
75 /// <li>
76 /// <p>Using the same <code>NextToken</code> will return the same set of records. To keep paginating through the result set, you must to use the most recent <code>nextToken</code>.</p></li>
77 /// <li>
78 /// <p>Suppose a <code>Query</code> invocation returns two <code>NextToken</code> values, <code>TokenA</code> and <code>TokenB</code>. If <code>TokenB</code> is used in a subsequent <code>Query</code> invocation, then <code>TokenA</code> is invalidated and cannot be reused.</p></li>
79 /// <li>
80 /// <p>To request a previous result set from a query after pagination has begun, you must re-invoke the Query API.</p></li>
81 /// <li>
82 /// <p>The latest <code>NextToken</code> should be used to paginate until <code>null</code> is returned, at which point a new <code>NextToken</code> should be used.</p></li>
83 /// <li>
84 /// <p>If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an <code>Invalid pagination token</code> error.</p></li>
85 /// </ul>
86 pub fn next_token(&self) -> ::std::option::Option<&str> {
87 self.next_token.as_deref()
88 }
89 /// <p>The total number of rows to be returned in the <code>Query</code> output. The initial run of <code>Query</code> with a <code>MaxRows</code> value specified will return the result set of the query in two cases:</p>
90 /// <ul>
91 /// <li>
92 /// <p>The size of the result is less than <code>1MB</code>.</p></li>
93 /// <li>
94 /// <p>The number of rows in the result set is less than the value of <code>maxRows</code>.</p></li>
95 /// </ul>
96 /// <p>Otherwise, the initial invocation of <code>Query</code> only returns a <code>NextToken</code>, which can then be used in subsequent calls to fetch the result set. To resume pagination, provide the <code>NextToken</code> value in the subsequent command.</p>
97 /// <p>If the row size is large (e.g. a row has many columns), Timestream may return fewer rows to keep the response size from exceeding the 1 MB limit. If <code>MaxRows</code> is not provided, Timestream will send the necessary number of rows to meet the 1 MB limit.</p>
98 pub fn max_rows(&self) -> ::std::option::Option<i32> {
99 self.max_rows
100 }
101 /// <p>Encapsulates settings for enabling <code>QueryInsights</code>.</p>
102 /// <p>Enabling <code>QueryInsights</code> returns insights and metrics in addition to query results for the query that you executed. You can use <code>QueryInsights</code> to tune your query performance.</p>
103 pub fn query_insights(&self) -> ::std::option::Option<&crate::types::QueryInsights> {
104 self.query_insights.as_ref()
105 }
106}
107impl ::std::fmt::Debug for QueryInput {
108 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
109 let mut formatter = f.debug_struct("QueryInput");
110 formatter.field("query_string", &"*** Sensitive Data Redacted ***");
111 formatter.field("client_token", &"*** Sensitive Data Redacted ***");
112 formatter.field("next_token", &self.next_token);
113 formatter.field("max_rows", &self.max_rows);
114 formatter.field("query_insights", &self.query_insights);
115 formatter.finish()
116 }
117}
118impl QueryInput {
119 /// Creates a new builder-style object to manufacture [`QueryInput`](crate::operation::query::QueryInput).
120 pub fn builder() -> crate::operation::query::builders::QueryInputBuilder {
121 crate::operation::query::builders::QueryInputBuilder::default()
122 }
123}
124
125/// A builder for [`QueryInput`](crate::operation::query::QueryInput).
126#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
127#[non_exhaustive]
128pub struct QueryInputBuilder {
129 pub(crate) query_string: ::std::option::Option<::std::string::String>,
130 pub(crate) client_token: ::std::option::Option<::std::string::String>,
131 pub(crate) next_token: ::std::option::Option<::std::string::String>,
132 pub(crate) max_rows: ::std::option::Option<i32>,
133 pub(crate) query_insights: ::std::option::Option<crate::types::QueryInsights>,
134}
135impl QueryInputBuilder {
136 /// <p>The query to be run by Timestream.</p>
137 /// This field is required.
138 pub fn query_string(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
139 self.query_string = ::std::option::Option::Some(input.into());
140 self
141 }
142 /// <p>The query to be run by Timestream.</p>
143 pub fn set_query_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
144 self.query_string = input;
145 self
146 }
147 /// <p>The query to be run by Timestream.</p>
148 pub fn get_query_string(&self) -> &::std::option::Option<::std::string::String> {
149 &self.query_string
150 }
151 /// <p>Unique, case-sensitive string of up to 64 ASCII characters specified when a <code>Query</code> request is made. Providing a <code>ClientToken</code> makes the call to <code>Query</code> <i>idempotent</i>. This means that running the same query repeatedly will produce the same result. In other words, making multiple identical <code>Query</code> requests has the same effect as making a single request. When using <code>ClientToken</code> in a query, note the following:</p>
152 /// <ul>
153 /// <li>
154 /// <p>If the Query API is instantiated without a <code>ClientToken</code>, the Query SDK generates a <code>ClientToken</code> on your behalf.</p></li>
155 /// <li>
156 /// <p>If the <code>Query</code> invocation only contains the <code>ClientToken</code> but does not include a <code>NextToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p></li>
157 /// <li>
158 /// <p>If the invocation contains <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to the Query API, and a result set is returned.</p></li>
159 /// <li>
160 /// <p>After 4 hours, any request with the same <code>ClientToken</code> is treated as a new request.</p></li>
161 /// </ul>
162 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
163 self.client_token = ::std::option::Option::Some(input.into());
164 self
165 }
166 /// <p>Unique, case-sensitive string of up to 64 ASCII characters specified when a <code>Query</code> request is made. Providing a <code>ClientToken</code> makes the call to <code>Query</code> <i>idempotent</i>. This means that running the same query repeatedly will produce the same result. In other words, making multiple identical <code>Query</code> requests has the same effect as making a single request. When using <code>ClientToken</code> in a query, note the following:</p>
167 /// <ul>
168 /// <li>
169 /// <p>If the Query API is instantiated without a <code>ClientToken</code>, the Query SDK generates a <code>ClientToken</code> on your behalf.</p></li>
170 /// <li>
171 /// <p>If the <code>Query</code> invocation only contains the <code>ClientToken</code> but does not include a <code>NextToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p></li>
172 /// <li>
173 /// <p>If the invocation contains <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to the Query API, and a result set is returned.</p></li>
174 /// <li>
175 /// <p>After 4 hours, any request with the same <code>ClientToken</code> is treated as a new request.</p></li>
176 /// </ul>
177 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
178 self.client_token = input;
179 self
180 }
181 /// <p>Unique, case-sensitive string of up to 64 ASCII characters specified when a <code>Query</code> request is made. Providing a <code>ClientToken</code> makes the call to <code>Query</code> <i>idempotent</i>. This means that running the same query repeatedly will produce the same result. In other words, making multiple identical <code>Query</code> requests has the same effect as making a single request. When using <code>ClientToken</code> in a query, note the following:</p>
182 /// <ul>
183 /// <li>
184 /// <p>If the Query API is instantiated without a <code>ClientToken</code>, the Query SDK generates a <code>ClientToken</code> on your behalf.</p></li>
185 /// <li>
186 /// <p>If the <code>Query</code> invocation only contains the <code>ClientToken</code> but does not include a <code>NextToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p></li>
187 /// <li>
188 /// <p>If the invocation contains <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to the Query API, and a result set is returned.</p></li>
189 /// <li>
190 /// <p>After 4 hours, any request with the same <code>ClientToken</code> is treated as a new request.</p></li>
191 /// </ul>
192 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
193 &self.client_token
194 }
195 /// <p>A pagination token used to return a set of results. When the <code>Query</code> API is invoked using <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to <code>Query</code>, and a result set is returned. However, if the <code>Query</code> invocation only contains the <code>ClientToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p>
196 /// <p>Note the following when using NextToken in a query:</p>
197 /// <ul>
198 /// <li>
199 /// <p>A pagination token can be used for up to five <code>Query</code> invocations, OR for a duration of up to 1 hour – whichever comes first.</p></li>
200 /// <li>
201 /// <p>Using the same <code>NextToken</code> will return the same set of records. To keep paginating through the result set, you must to use the most recent <code>nextToken</code>.</p></li>
202 /// <li>
203 /// <p>Suppose a <code>Query</code> invocation returns two <code>NextToken</code> values, <code>TokenA</code> and <code>TokenB</code>. If <code>TokenB</code> is used in a subsequent <code>Query</code> invocation, then <code>TokenA</code> is invalidated and cannot be reused.</p></li>
204 /// <li>
205 /// <p>To request a previous result set from a query after pagination has begun, you must re-invoke the Query API.</p></li>
206 /// <li>
207 /// <p>The latest <code>NextToken</code> should be used to paginate until <code>null</code> is returned, at which point a new <code>NextToken</code> should be used.</p></li>
208 /// <li>
209 /// <p>If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an <code>Invalid pagination token</code> error.</p></li>
210 /// </ul>
211 pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
212 self.next_token = ::std::option::Option::Some(input.into());
213 self
214 }
215 /// <p>A pagination token used to return a set of results. When the <code>Query</code> API is invoked using <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to <code>Query</code>, and a result set is returned. However, if the <code>Query</code> invocation only contains the <code>ClientToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p>
216 /// <p>Note the following when using NextToken in a query:</p>
217 /// <ul>
218 /// <li>
219 /// <p>A pagination token can be used for up to five <code>Query</code> invocations, OR for a duration of up to 1 hour – whichever comes first.</p></li>
220 /// <li>
221 /// <p>Using the same <code>NextToken</code> will return the same set of records. To keep paginating through the result set, you must to use the most recent <code>nextToken</code>.</p></li>
222 /// <li>
223 /// <p>Suppose a <code>Query</code> invocation returns two <code>NextToken</code> values, <code>TokenA</code> and <code>TokenB</code>. If <code>TokenB</code> is used in a subsequent <code>Query</code> invocation, then <code>TokenA</code> is invalidated and cannot be reused.</p></li>
224 /// <li>
225 /// <p>To request a previous result set from a query after pagination has begun, you must re-invoke the Query API.</p></li>
226 /// <li>
227 /// <p>The latest <code>NextToken</code> should be used to paginate until <code>null</code> is returned, at which point a new <code>NextToken</code> should be used.</p></li>
228 /// <li>
229 /// <p>If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an <code>Invalid pagination token</code> error.</p></li>
230 /// </ul>
231 pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
232 self.next_token = input;
233 self
234 }
235 /// <p>A pagination token used to return a set of results. When the <code>Query</code> API is invoked using <code>NextToken</code>, that particular invocation is assumed to be a subsequent invocation of a prior call to <code>Query</code>, and a result set is returned. However, if the <code>Query</code> invocation only contains the <code>ClientToken</code>, that invocation of <code>Query</code> is assumed to be a new query run.</p>
236 /// <p>Note the following when using NextToken in a query:</p>
237 /// <ul>
238 /// <li>
239 /// <p>A pagination token can be used for up to five <code>Query</code> invocations, OR for a duration of up to 1 hour – whichever comes first.</p></li>
240 /// <li>
241 /// <p>Using the same <code>NextToken</code> will return the same set of records. To keep paginating through the result set, you must to use the most recent <code>nextToken</code>.</p></li>
242 /// <li>
243 /// <p>Suppose a <code>Query</code> invocation returns two <code>NextToken</code> values, <code>TokenA</code> and <code>TokenB</code>. If <code>TokenB</code> is used in a subsequent <code>Query</code> invocation, then <code>TokenA</code> is invalidated and cannot be reused.</p></li>
244 /// <li>
245 /// <p>To request a previous result set from a query after pagination has begun, you must re-invoke the Query API.</p></li>
246 /// <li>
247 /// <p>The latest <code>NextToken</code> should be used to paginate until <code>null</code> is returned, at which point a new <code>NextToken</code> should be used.</p></li>
248 /// <li>
249 /// <p>If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an <code>Invalid pagination token</code> error.</p></li>
250 /// </ul>
251 pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
252 &self.next_token
253 }
254 /// <p>The total number of rows to be returned in the <code>Query</code> output. The initial run of <code>Query</code> with a <code>MaxRows</code> value specified will return the result set of the query in two cases:</p>
255 /// <ul>
256 /// <li>
257 /// <p>The size of the result is less than <code>1MB</code>.</p></li>
258 /// <li>
259 /// <p>The number of rows in the result set is less than the value of <code>maxRows</code>.</p></li>
260 /// </ul>
261 /// <p>Otherwise, the initial invocation of <code>Query</code> only returns a <code>NextToken</code>, which can then be used in subsequent calls to fetch the result set. To resume pagination, provide the <code>NextToken</code> value in the subsequent command.</p>
262 /// <p>If the row size is large (e.g. a row has many columns), Timestream may return fewer rows to keep the response size from exceeding the 1 MB limit. If <code>MaxRows</code> is not provided, Timestream will send the necessary number of rows to meet the 1 MB limit.</p>
263 pub fn max_rows(mut self, input: i32) -> Self {
264 self.max_rows = ::std::option::Option::Some(input);
265 self
266 }
267 /// <p>The total number of rows to be returned in the <code>Query</code> output. The initial run of <code>Query</code> with a <code>MaxRows</code> value specified will return the result set of the query in two cases:</p>
268 /// <ul>
269 /// <li>
270 /// <p>The size of the result is less than <code>1MB</code>.</p></li>
271 /// <li>
272 /// <p>The number of rows in the result set is less than the value of <code>maxRows</code>.</p></li>
273 /// </ul>
274 /// <p>Otherwise, the initial invocation of <code>Query</code> only returns a <code>NextToken</code>, which can then be used in subsequent calls to fetch the result set. To resume pagination, provide the <code>NextToken</code> value in the subsequent command.</p>
275 /// <p>If the row size is large (e.g. a row has many columns), Timestream may return fewer rows to keep the response size from exceeding the 1 MB limit. If <code>MaxRows</code> is not provided, Timestream will send the necessary number of rows to meet the 1 MB limit.</p>
276 pub fn set_max_rows(mut self, input: ::std::option::Option<i32>) -> Self {
277 self.max_rows = input;
278 self
279 }
280 /// <p>The total number of rows to be returned in the <code>Query</code> output. The initial run of <code>Query</code> with a <code>MaxRows</code> value specified will return the result set of the query in two cases:</p>
281 /// <ul>
282 /// <li>
283 /// <p>The size of the result is less than <code>1MB</code>.</p></li>
284 /// <li>
285 /// <p>The number of rows in the result set is less than the value of <code>maxRows</code>.</p></li>
286 /// </ul>
287 /// <p>Otherwise, the initial invocation of <code>Query</code> only returns a <code>NextToken</code>, which can then be used in subsequent calls to fetch the result set. To resume pagination, provide the <code>NextToken</code> value in the subsequent command.</p>
288 /// <p>If the row size is large (e.g. a row has many columns), Timestream may return fewer rows to keep the response size from exceeding the 1 MB limit. If <code>MaxRows</code> is not provided, Timestream will send the necessary number of rows to meet the 1 MB limit.</p>
289 pub fn get_max_rows(&self) -> &::std::option::Option<i32> {
290 &self.max_rows
291 }
292 /// <p>Encapsulates settings for enabling <code>QueryInsights</code>.</p>
293 /// <p>Enabling <code>QueryInsights</code> returns insights and metrics in addition to query results for the query that you executed. You can use <code>QueryInsights</code> to tune your query performance.</p>
294 pub fn query_insights(mut self, input: crate::types::QueryInsights) -> Self {
295 self.query_insights = ::std::option::Option::Some(input);
296 self
297 }
298 /// <p>Encapsulates settings for enabling <code>QueryInsights</code>.</p>
299 /// <p>Enabling <code>QueryInsights</code> returns insights and metrics in addition to query results for the query that you executed. You can use <code>QueryInsights</code> to tune your query performance.</p>
300 pub fn set_query_insights(mut self, input: ::std::option::Option<crate::types::QueryInsights>) -> Self {
301 self.query_insights = input;
302 self
303 }
304 /// <p>Encapsulates settings for enabling <code>QueryInsights</code>.</p>
305 /// <p>Enabling <code>QueryInsights</code> returns insights and metrics in addition to query results for the query that you executed. You can use <code>QueryInsights</code> to tune your query performance.</p>
306 pub fn get_query_insights(&self) -> &::std::option::Option<crate::types::QueryInsights> {
307 &self.query_insights
308 }
309 /// Consumes the builder and constructs a [`QueryInput`](crate::operation::query::QueryInput).
310 pub fn build(self) -> ::std::result::Result<crate::operation::query::QueryInput, ::aws_smithy_types::error::operation::BuildError> {
311 ::std::result::Result::Ok(crate::operation::query::QueryInput {
312 query_string: self.query_string,
313 client_token: self.client_token,
314 next_token: self.next_token,
315 max_rows: self.max_rows,
316 query_insights: self.query_insights,
317 })
318 }
319}
320impl ::std::fmt::Debug for QueryInputBuilder {
321 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
322 let mut formatter = f.debug_struct("QueryInputBuilder");
323 formatter.field("query_string", &"*** Sensitive Data Redacted ***");
324 formatter.field("client_token", &"*** Sensitive Data Redacted ***");
325 formatter.field("next_token", &self.next_token);
326 formatter.field("max_rows", &self.max_rows);
327 formatter.field("query_insights", &self.query_insights);
328 formatter.finish()
329 }
330}