Skip to main content

aws_sdk_glue/operation/get_partitions/
_get_partitions_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, ::std::fmt::Debug)]
5pub struct GetPartitionsInput {
6    /// <p>The ID of the Data Catalog where the partitions in question reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
7    pub catalog_id: ::std::option::Option<::std::string::String>,
8    /// <p>The name of the catalog database where the partitions reside.</p>
9    pub database_name: ::std::option::Option<::std::string::String>,
10    /// <p>The name of the partitions' table.</p>
11    pub table_name: ::std::option::Option<::std::string::String>,
12    /// <p>An expression that filters the partitions to be returned.</p>
13    /// <p>The expression uses SQL syntax similar to the SQL <code>WHERE</code> filter clause. The SQL statement parser <a href="http://jsqlparser.sourceforge.net/home.php">JSQLParser</a> parses the expression.</p>
14    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
15    /// <dl>
16    /// <dt>
17    /// =
18    /// </dt>
19    /// <dd>
20    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
21    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
22    /// <p>(a = b) is not true.</p>
23    /// </dd>
24    /// <dt>
25    /// &lt; &gt;
26    /// </dt>
27    /// <dd>
28    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
29    /// <p>Example: (a &lt; &gt; b) is true.</p>
30    /// </dd>
31    /// <dt>
32    /// &gt;
33    /// </dt>
34    /// <dd>
35    /// <p>Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true.</p>
36    /// <p>Example: (a &gt; b) is not true.</p>
37    /// </dd>
38    /// <dt>
39    /// &lt;
40    /// </dt>
41    /// <dd>
42    /// <p>Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true.</p>
43    /// <p>Example: (a &lt; b) is true.</p>
44    /// </dd>
45    /// <dt>
46    /// &gt;=
47    /// </dt>
48    /// <dd>
49    /// <p>Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
50    /// <p>Example: (a &gt;= b) is not true.</p>
51    /// </dd>
52    /// <dt>
53    /// &lt;=
54    /// </dt>
55    /// <dd>
56    /// <p>Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
57    /// <p>Example: (a &lt;= b) is true.</p>
58    /// </dd>
59    /// <dt>
60    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
61    /// </dt>
62    /// <dd>
63    /// <p>Logical operators.</p>
64    /// </dd>
65    /// </dl>
66    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
67    /// <ul>
68    /// <li>
69    /// <p><code>string</code></p></li>
70    /// <li>
71    /// <p><code>date</code></p></li>
72    /// <li>
73    /// <p><code>timestamp</code></p></li>
74    /// <li>
75    /// <p><code>int</code></p></li>
76    /// <li>
77    /// <p><code>bigint</code></p></li>
78    /// <li>
79    /// <p><code>long</code></p></li>
80    /// <li>
81    /// <p><code>tinyint</code></p></li>
82    /// <li>
83    /// <p><code>smallint</code></p></li>
84    /// <li>
85    /// <p><code>decimal</code></p></li>
86    /// </ul>
87    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
88    /// <p>The following list shows the valid operators on each type. When you define a crawler, the <code>partitionKey</code> type is created as a <code>STRING</code>, to be compatible with the catalog partitions.</p>
89    /// <p><i>Sample API Call</i>:</p>
90    pub expression: ::std::option::Option<::std::string::String>,
91    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
92    pub next_token: ::std::option::Option<::std::string::String>,
93    /// <p>The segment of the table's partitions to scan in this request.</p>
94    pub segment: ::std::option::Option<crate::types::Segment>,
95    /// <p>The maximum number of partitions to return in a single response.</p>
96    pub max_results: ::std::option::Option<i32>,
97    /// <p>When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.</p>
98    pub exclude_column_schema: ::std::option::Option<bool>,
99    /// <p>The transaction ID at which to read the partition contents.</p>
100    pub transaction_id: ::std::option::Option<::std::string::String>,
101    /// <p>The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
102    pub query_as_of_time: ::std::option::Option<::aws_smithy_types::DateTime>,
103    /// <p>A structure containing the Lake Formation audit context.</p>
104    pub audit_context: ::std::option::Option<crate::types::AuditContext>,
105}
106impl GetPartitionsInput {
107    /// <p>The ID of the Data Catalog where the partitions in question reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
108    pub fn catalog_id(&self) -> ::std::option::Option<&str> {
109        self.catalog_id.as_deref()
110    }
111    /// <p>The name of the catalog database where the partitions reside.</p>
112    pub fn database_name(&self) -> ::std::option::Option<&str> {
113        self.database_name.as_deref()
114    }
115    /// <p>The name of the partitions' table.</p>
116    pub fn table_name(&self) -> ::std::option::Option<&str> {
117        self.table_name.as_deref()
118    }
119    /// <p>An expression that filters the partitions to be returned.</p>
120    /// <p>The expression uses SQL syntax similar to the SQL <code>WHERE</code> filter clause. The SQL statement parser <a href="http://jsqlparser.sourceforge.net/home.php">JSQLParser</a> parses the expression.</p>
121    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
122    /// <dl>
123    /// <dt>
124    /// =
125    /// </dt>
126    /// <dd>
127    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
128    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
129    /// <p>(a = b) is not true.</p>
130    /// </dd>
131    /// <dt>
132    /// &lt; &gt;
133    /// </dt>
134    /// <dd>
135    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
136    /// <p>Example: (a &lt; &gt; b) is true.</p>
137    /// </dd>
138    /// <dt>
139    /// &gt;
140    /// </dt>
141    /// <dd>
142    /// <p>Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true.</p>
143    /// <p>Example: (a &gt; b) is not true.</p>
144    /// </dd>
145    /// <dt>
146    /// &lt;
147    /// </dt>
148    /// <dd>
149    /// <p>Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true.</p>
150    /// <p>Example: (a &lt; b) is true.</p>
151    /// </dd>
152    /// <dt>
153    /// &gt;=
154    /// </dt>
155    /// <dd>
156    /// <p>Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
157    /// <p>Example: (a &gt;= b) is not true.</p>
158    /// </dd>
159    /// <dt>
160    /// &lt;=
161    /// </dt>
162    /// <dd>
163    /// <p>Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
164    /// <p>Example: (a &lt;= b) is true.</p>
165    /// </dd>
166    /// <dt>
167    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
168    /// </dt>
169    /// <dd>
170    /// <p>Logical operators.</p>
171    /// </dd>
172    /// </dl>
173    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
174    /// <ul>
175    /// <li>
176    /// <p><code>string</code></p></li>
177    /// <li>
178    /// <p><code>date</code></p></li>
179    /// <li>
180    /// <p><code>timestamp</code></p></li>
181    /// <li>
182    /// <p><code>int</code></p></li>
183    /// <li>
184    /// <p><code>bigint</code></p></li>
185    /// <li>
186    /// <p><code>long</code></p></li>
187    /// <li>
188    /// <p><code>tinyint</code></p></li>
189    /// <li>
190    /// <p><code>smallint</code></p></li>
191    /// <li>
192    /// <p><code>decimal</code></p></li>
193    /// </ul>
194    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
195    /// <p>The following list shows the valid operators on each type. When you define a crawler, the <code>partitionKey</code> type is created as a <code>STRING</code>, to be compatible with the catalog partitions.</p>
196    /// <p><i>Sample API Call</i>:</p>
197    pub fn expression(&self) -> ::std::option::Option<&str> {
198        self.expression.as_deref()
199    }
200    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
201    pub fn next_token(&self) -> ::std::option::Option<&str> {
202        self.next_token.as_deref()
203    }
204    /// <p>The segment of the table's partitions to scan in this request.</p>
205    pub fn segment(&self) -> ::std::option::Option<&crate::types::Segment> {
206        self.segment.as_ref()
207    }
208    /// <p>The maximum number of partitions to return in a single response.</p>
209    pub fn max_results(&self) -> ::std::option::Option<i32> {
210        self.max_results
211    }
212    /// <p>When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.</p>
213    pub fn exclude_column_schema(&self) -> ::std::option::Option<bool> {
214        self.exclude_column_schema
215    }
216    /// <p>The transaction ID at which to read the partition contents.</p>
217    pub fn transaction_id(&self) -> ::std::option::Option<&str> {
218        self.transaction_id.as_deref()
219    }
220    /// <p>The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
221    pub fn query_as_of_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
222        self.query_as_of_time.as_ref()
223    }
224    /// <p>A structure containing the Lake Formation audit context.</p>
225    pub fn audit_context(&self) -> ::std::option::Option<&crate::types::AuditContext> {
226        self.audit_context.as_ref()
227    }
228}
229impl GetPartitionsInput {
230    /// Creates a new builder-style object to manufacture [`GetPartitionsInput`](crate::operation::get_partitions::GetPartitionsInput).
231    pub fn builder() -> crate::operation::get_partitions::builders::GetPartitionsInputBuilder {
232        crate::operation::get_partitions::builders::GetPartitionsInputBuilder::default()
233    }
234}
235
236/// A builder for [`GetPartitionsInput`](crate::operation::get_partitions::GetPartitionsInput).
237#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
238#[non_exhaustive]
239pub struct GetPartitionsInputBuilder {
240    pub(crate) catalog_id: ::std::option::Option<::std::string::String>,
241    pub(crate) database_name: ::std::option::Option<::std::string::String>,
242    pub(crate) table_name: ::std::option::Option<::std::string::String>,
243    pub(crate) expression: ::std::option::Option<::std::string::String>,
244    pub(crate) next_token: ::std::option::Option<::std::string::String>,
245    pub(crate) segment: ::std::option::Option<crate::types::Segment>,
246    pub(crate) max_results: ::std::option::Option<i32>,
247    pub(crate) exclude_column_schema: ::std::option::Option<bool>,
248    pub(crate) transaction_id: ::std::option::Option<::std::string::String>,
249    pub(crate) query_as_of_time: ::std::option::Option<::aws_smithy_types::DateTime>,
250    pub(crate) audit_context: ::std::option::Option<crate::types::AuditContext>,
251}
252impl GetPartitionsInputBuilder {
253    /// <p>The ID of the Data Catalog where the partitions in question reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
254    pub fn catalog_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
255        self.catalog_id = ::std::option::Option::Some(input.into());
256        self
257    }
258    /// <p>The ID of the Data Catalog where the partitions in question reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
259    pub fn set_catalog_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
260        self.catalog_id = input;
261        self
262    }
263    /// <p>The ID of the Data Catalog where the partitions in question reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
264    pub fn get_catalog_id(&self) -> &::std::option::Option<::std::string::String> {
265        &self.catalog_id
266    }
267    /// <p>The name of the catalog database where the partitions reside.</p>
268    /// This field is required.
269    pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
270        self.database_name = ::std::option::Option::Some(input.into());
271        self
272    }
273    /// <p>The name of the catalog database where the partitions reside.</p>
274    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
275        self.database_name = input;
276        self
277    }
278    /// <p>The name of the catalog database where the partitions reside.</p>
279    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
280        &self.database_name
281    }
282    /// <p>The name of the partitions' table.</p>
283    /// This field is required.
284    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
285        self.table_name = ::std::option::Option::Some(input.into());
286        self
287    }
288    /// <p>The name of the partitions' table.</p>
289    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
290        self.table_name = input;
291        self
292    }
293    /// <p>The name of the partitions' table.</p>
294    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
295        &self.table_name
296    }
297    /// <p>An expression that filters the partitions to be returned.</p>
298    /// <p>The expression uses SQL syntax similar to the SQL <code>WHERE</code> filter clause. The SQL statement parser <a href="http://jsqlparser.sourceforge.net/home.php">JSQLParser</a> parses the expression.</p>
299    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
300    /// <dl>
301    /// <dt>
302    /// =
303    /// </dt>
304    /// <dd>
305    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
306    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
307    /// <p>(a = b) is not true.</p>
308    /// </dd>
309    /// <dt>
310    /// &lt; &gt;
311    /// </dt>
312    /// <dd>
313    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
314    /// <p>Example: (a &lt; &gt; b) is true.</p>
315    /// </dd>
316    /// <dt>
317    /// &gt;
318    /// </dt>
319    /// <dd>
320    /// <p>Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true.</p>
321    /// <p>Example: (a &gt; b) is not true.</p>
322    /// </dd>
323    /// <dt>
324    /// &lt;
325    /// </dt>
326    /// <dd>
327    /// <p>Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true.</p>
328    /// <p>Example: (a &lt; b) is true.</p>
329    /// </dd>
330    /// <dt>
331    /// &gt;=
332    /// </dt>
333    /// <dd>
334    /// <p>Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
335    /// <p>Example: (a &gt;= b) is not true.</p>
336    /// </dd>
337    /// <dt>
338    /// &lt;=
339    /// </dt>
340    /// <dd>
341    /// <p>Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
342    /// <p>Example: (a &lt;= b) is true.</p>
343    /// </dd>
344    /// <dt>
345    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
346    /// </dt>
347    /// <dd>
348    /// <p>Logical operators.</p>
349    /// </dd>
350    /// </dl>
351    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
352    /// <ul>
353    /// <li>
354    /// <p><code>string</code></p></li>
355    /// <li>
356    /// <p><code>date</code></p></li>
357    /// <li>
358    /// <p><code>timestamp</code></p></li>
359    /// <li>
360    /// <p><code>int</code></p></li>
361    /// <li>
362    /// <p><code>bigint</code></p></li>
363    /// <li>
364    /// <p><code>long</code></p></li>
365    /// <li>
366    /// <p><code>tinyint</code></p></li>
367    /// <li>
368    /// <p><code>smallint</code></p></li>
369    /// <li>
370    /// <p><code>decimal</code></p></li>
371    /// </ul>
372    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
373    /// <p>The following list shows the valid operators on each type. When you define a crawler, the <code>partitionKey</code> type is created as a <code>STRING</code>, to be compatible with the catalog partitions.</p>
374    /// <p><i>Sample API Call</i>:</p>
375    pub fn expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
376        self.expression = ::std::option::Option::Some(input.into());
377        self
378    }
379    /// <p>An expression that filters the partitions to be returned.</p>
380    /// <p>The expression uses SQL syntax similar to the SQL <code>WHERE</code> filter clause. The SQL statement parser <a href="http://jsqlparser.sourceforge.net/home.php">JSQLParser</a> parses the expression.</p>
381    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
382    /// <dl>
383    /// <dt>
384    /// =
385    /// </dt>
386    /// <dd>
387    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
388    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
389    /// <p>(a = b) is not true.</p>
390    /// </dd>
391    /// <dt>
392    /// &lt; &gt;
393    /// </dt>
394    /// <dd>
395    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
396    /// <p>Example: (a &lt; &gt; b) is true.</p>
397    /// </dd>
398    /// <dt>
399    /// &gt;
400    /// </dt>
401    /// <dd>
402    /// <p>Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true.</p>
403    /// <p>Example: (a &gt; b) is not true.</p>
404    /// </dd>
405    /// <dt>
406    /// &lt;
407    /// </dt>
408    /// <dd>
409    /// <p>Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true.</p>
410    /// <p>Example: (a &lt; b) is true.</p>
411    /// </dd>
412    /// <dt>
413    /// &gt;=
414    /// </dt>
415    /// <dd>
416    /// <p>Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
417    /// <p>Example: (a &gt;= b) is not true.</p>
418    /// </dd>
419    /// <dt>
420    /// &lt;=
421    /// </dt>
422    /// <dd>
423    /// <p>Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
424    /// <p>Example: (a &lt;= b) is true.</p>
425    /// </dd>
426    /// <dt>
427    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
428    /// </dt>
429    /// <dd>
430    /// <p>Logical operators.</p>
431    /// </dd>
432    /// </dl>
433    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
434    /// <ul>
435    /// <li>
436    /// <p><code>string</code></p></li>
437    /// <li>
438    /// <p><code>date</code></p></li>
439    /// <li>
440    /// <p><code>timestamp</code></p></li>
441    /// <li>
442    /// <p><code>int</code></p></li>
443    /// <li>
444    /// <p><code>bigint</code></p></li>
445    /// <li>
446    /// <p><code>long</code></p></li>
447    /// <li>
448    /// <p><code>tinyint</code></p></li>
449    /// <li>
450    /// <p><code>smallint</code></p></li>
451    /// <li>
452    /// <p><code>decimal</code></p></li>
453    /// </ul>
454    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
455    /// <p>The following list shows the valid operators on each type. When you define a crawler, the <code>partitionKey</code> type is created as a <code>STRING</code>, to be compatible with the catalog partitions.</p>
456    /// <p><i>Sample API Call</i>:</p>
457    pub fn set_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
458        self.expression = input;
459        self
460    }
461    /// <p>An expression that filters the partitions to be returned.</p>
462    /// <p>The expression uses SQL syntax similar to the SQL <code>WHERE</code> filter clause. The SQL statement parser <a href="http://jsqlparser.sourceforge.net/home.php">JSQLParser</a> parses the expression.</p>
463    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
464    /// <dl>
465    /// <dt>
466    /// =
467    /// </dt>
468    /// <dd>
469    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
470    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
471    /// <p>(a = b) is not true.</p>
472    /// </dd>
473    /// <dt>
474    /// &lt; &gt;
475    /// </dt>
476    /// <dd>
477    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
478    /// <p>Example: (a &lt; &gt; b) is true.</p>
479    /// </dd>
480    /// <dt>
481    /// &gt;
482    /// </dt>
483    /// <dd>
484    /// <p>Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true.</p>
485    /// <p>Example: (a &gt; b) is not true.</p>
486    /// </dd>
487    /// <dt>
488    /// &lt;
489    /// </dt>
490    /// <dd>
491    /// <p>Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true.</p>
492    /// <p>Example: (a &lt; b) is true.</p>
493    /// </dd>
494    /// <dt>
495    /// &gt;=
496    /// </dt>
497    /// <dd>
498    /// <p>Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
499    /// <p>Example: (a &gt;= b) is not true.</p>
500    /// </dd>
501    /// <dt>
502    /// &lt;=
503    /// </dt>
504    /// <dd>
505    /// <p>Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true.</p>
506    /// <p>Example: (a &lt;= b) is true.</p>
507    /// </dd>
508    /// <dt>
509    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
510    /// </dt>
511    /// <dd>
512    /// <p>Logical operators.</p>
513    /// </dd>
514    /// </dl>
515    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
516    /// <ul>
517    /// <li>
518    /// <p><code>string</code></p></li>
519    /// <li>
520    /// <p><code>date</code></p></li>
521    /// <li>
522    /// <p><code>timestamp</code></p></li>
523    /// <li>
524    /// <p><code>int</code></p></li>
525    /// <li>
526    /// <p><code>bigint</code></p></li>
527    /// <li>
528    /// <p><code>long</code></p></li>
529    /// <li>
530    /// <p><code>tinyint</code></p></li>
531    /// <li>
532    /// <p><code>smallint</code></p></li>
533    /// <li>
534    /// <p><code>decimal</code></p></li>
535    /// </ul>
536    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
537    /// <p>The following list shows the valid operators on each type. When you define a crawler, the <code>partitionKey</code> type is created as a <code>STRING</code>, to be compatible with the catalog partitions.</p>
538    /// <p><i>Sample API Call</i>:</p>
539    pub fn get_expression(&self) -> &::std::option::Option<::std::string::String> {
540        &self.expression
541    }
542    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
543    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
544        self.next_token = ::std::option::Option::Some(input.into());
545        self
546    }
547    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
548    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
549        self.next_token = input;
550        self
551    }
552    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
553    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
554        &self.next_token
555    }
556    /// <p>The segment of the table's partitions to scan in this request.</p>
557    pub fn segment(mut self, input: crate::types::Segment) -> Self {
558        self.segment = ::std::option::Option::Some(input);
559        self
560    }
561    /// <p>The segment of the table's partitions to scan in this request.</p>
562    pub fn set_segment(mut self, input: ::std::option::Option<crate::types::Segment>) -> Self {
563        self.segment = input;
564        self
565    }
566    /// <p>The segment of the table's partitions to scan in this request.</p>
567    pub fn get_segment(&self) -> &::std::option::Option<crate::types::Segment> {
568        &self.segment
569    }
570    /// <p>The maximum number of partitions to return in a single response.</p>
571    pub fn max_results(mut self, input: i32) -> Self {
572        self.max_results = ::std::option::Option::Some(input);
573        self
574    }
575    /// <p>The maximum number of partitions to return in a single response.</p>
576    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
577        self.max_results = input;
578        self
579    }
580    /// <p>The maximum number of partitions to return in a single response.</p>
581    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
582        &self.max_results
583    }
584    /// <p>When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.</p>
585    pub fn exclude_column_schema(mut self, input: bool) -> Self {
586        self.exclude_column_schema = ::std::option::Option::Some(input);
587        self
588    }
589    /// <p>When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.</p>
590    pub fn set_exclude_column_schema(mut self, input: ::std::option::Option<bool>) -> Self {
591        self.exclude_column_schema = input;
592        self
593    }
594    /// <p>When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.</p>
595    pub fn get_exclude_column_schema(&self) -> &::std::option::Option<bool> {
596        &self.exclude_column_schema
597    }
598    /// <p>The transaction ID at which to read the partition contents.</p>
599    pub fn transaction_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
600        self.transaction_id = ::std::option::Option::Some(input.into());
601        self
602    }
603    /// <p>The transaction ID at which to read the partition contents.</p>
604    pub fn set_transaction_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
605        self.transaction_id = input;
606        self
607    }
608    /// <p>The transaction ID at which to read the partition contents.</p>
609    pub fn get_transaction_id(&self) -> &::std::option::Option<::std::string::String> {
610        &self.transaction_id
611    }
612    /// <p>The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
613    pub fn query_as_of_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
614        self.query_as_of_time = ::std::option::Option::Some(input);
615        self
616    }
617    /// <p>The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
618    pub fn set_query_as_of_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
619        self.query_as_of_time = input;
620        self
621    }
622    /// <p>The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
623    pub fn get_query_as_of_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
624        &self.query_as_of_time
625    }
626    /// <p>A structure containing the Lake Formation audit context.</p>
627    pub fn audit_context(mut self, input: crate::types::AuditContext) -> Self {
628        self.audit_context = ::std::option::Option::Some(input);
629        self
630    }
631    /// <p>A structure containing the Lake Formation audit context.</p>
632    pub fn set_audit_context(mut self, input: ::std::option::Option<crate::types::AuditContext>) -> Self {
633        self.audit_context = input;
634        self
635    }
636    /// <p>A structure containing the Lake Formation audit context.</p>
637    pub fn get_audit_context(&self) -> &::std::option::Option<crate::types::AuditContext> {
638        &self.audit_context
639    }
640    /// Consumes the builder and constructs a [`GetPartitionsInput`](crate::operation::get_partitions::GetPartitionsInput).
641    pub fn build(
642        self,
643    ) -> ::std::result::Result<crate::operation::get_partitions::GetPartitionsInput, ::aws_smithy_types::error::operation::BuildError> {
644        ::std::result::Result::Ok(crate::operation::get_partitions::GetPartitionsInput {
645            catalog_id: self.catalog_id,
646            database_name: self.database_name,
647            table_name: self.table_name,
648            expression: self.expression,
649            next_token: self.next_token,
650            segment: self.segment,
651            max_results: self.max_results,
652            exclude_column_schema: self.exclude_column_schema,
653            transaction_id: self.transaction_id,
654            query_as_of_time: self.query_as_of_time,
655            audit_context: self.audit_context,
656        })
657    }
658}