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}
104impl GetPartitionsInput {
105    /// <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>
106    pub fn catalog_id(&self) -> ::std::option::Option<&str> {
107        self.catalog_id.as_deref()
108    }
109    /// <p>The name of the catalog database where the partitions reside.</p>
110    pub fn database_name(&self) -> ::std::option::Option<&str> {
111        self.database_name.as_deref()
112    }
113    /// <p>The name of the partitions' table.</p>
114    pub fn table_name(&self) -> ::std::option::Option<&str> {
115        self.table_name.as_deref()
116    }
117    /// <p>An expression that filters the partitions to be returned.</p>
118    /// <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>
119    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
120    /// <dl>
121    /// <dt>
122    /// =
123    /// </dt>
124    /// <dd>
125    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
126    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
127    /// <p>(a = b) is not true.</p>
128    /// </dd>
129    /// <dt>
130    /// &lt; &gt;
131    /// </dt>
132    /// <dd>
133    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
134    /// <p>Example: (a &lt; &gt; b) is true.</p>
135    /// </dd>
136    /// <dt>
137    /// &gt;
138    /// </dt>
139    /// <dd>
140    /// <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>
141    /// <p>Example: (a &gt; b) is not true.</p>
142    /// </dd>
143    /// <dt>
144    /// &lt;
145    /// </dt>
146    /// <dd>
147    /// <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>
148    /// <p>Example: (a &lt; b) is true.</p>
149    /// </dd>
150    /// <dt>
151    /// &gt;=
152    /// </dt>
153    /// <dd>
154    /// <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>
155    /// <p>Example: (a &gt;= b) is not true.</p>
156    /// </dd>
157    /// <dt>
158    /// &lt;=
159    /// </dt>
160    /// <dd>
161    /// <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>
162    /// <p>Example: (a &lt;= b) is true.</p>
163    /// </dd>
164    /// <dt>
165    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
166    /// </dt>
167    /// <dd>
168    /// <p>Logical operators.</p>
169    /// </dd>
170    /// </dl>
171    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
172    /// <ul>
173    /// <li>
174    /// <p><code>string</code></p></li>
175    /// <li>
176    /// <p><code>date</code></p></li>
177    /// <li>
178    /// <p><code>timestamp</code></p></li>
179    /// <li>
180    /// <p><code>int</code></p></li>
181    /// <li>
182    /// <p><code>bigint</code></p></li>
183    /// <li>
184    /// <p><code>long</code></p></li>
185    /// <li>
186    /// <p><code>tinyint</code></p></li>
187    /// <li>
188    /// <p><code>smallint</code></p></li>
189    /// <li>
190    /// <p><code>decimal</code></p></li>
191    /// </ul>
192    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
193    /// <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>
194    /// <p><i>Sample API Call</i>:</p>
195    pub fn expression(&self) -> ::std::option::Option<&str> {
196        self.expression.as_deref()
197    }
198    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
199    pub fn next_token(&self) -> ::std::option::Option<&str> {
200        self.next_token.as_deref()
201    }
202    /// <p>The segment of the table's partitions to scan in this request.</p>
203    pub fn segment(&self) -> ::std::option::Option<&crate::types::Segment> {
204        self.segment.as_ref()
205    }
206    /// <p>The maximum number of partitions to return in a single response.</p>
207    pub fn max_results(&self) -> ::std::option::Option<i32> {
208        self.max_results
209    }
210    /// <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>
211    pub fn exclude_column_schema(&self) -> ::std::option::Option<bool> {
212        self.exclude_column_schema
213    }
214    /// <p>The transaction ID at which to read the partition contents.</p>
215    pub fn transaction_id(&self) -> ::std::option::Option<&str> {
216        self.transaction_id.as_deref()
217    }
218    /// <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>
219    pub fn query_as_of_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
220        self.query_as_of_time.as_ref()
221    }
222}
223impl GetPartitionsInput {
224    /// Creates a new builder-style object to manufacture [`GetPartitionsInput`](crate::operation::get_partitions::GetPartitionsInput).
225    pub fn builder() -> crate::operation::get_partitions::builders::GetPartitionsInputBuilder {
226        crate::operation::get_partitions::builders::GetPartitionsInputBuilder::default()
227    }
228}
229
230/// A builder for [`GetPartitionsInput`](crate::operation::get_partitions::GetPartitionsInput).
231#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
232#[non_exhaustive]
233pub struct GetPartitionsInputBuilder {
234    pub(crate) catalog_id: ::std::option::Option<::std::string::String>,
235    pub(crate) database_name: ::std::option::Option<::std::string::String>,
236    pub(crate) table_name: ::std::option::Option<::std::string::String>,
237    pub(crate) expression: ::std::option::Option<::std::string::String>,
238    pub(crate) next_token: ::std::option::Option<::std::string::String>,
239    pub(crate) segment: ::std::option::Option<crate::types::Segment>,
240    pub(crate) max_results: ::std::option::Option<i32>,
241    pub(crate) exclude_column_schema: ::std::option::Option<bool>,
242    pub(crate) transaction_id: ::std::option::Option<::std::string::String>,
243    pub(crate) query_as_of_time: ::std::option::Option<::aws_smithy_types::DateTime>,
244}
245impl GetPartitionsInputBuilder {
246    /// <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>
247    pub fn catalog_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
248        self.catalog_id = ::std::option::Option::Some(input.into());
249        self
250    }
251    /// <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>
252    pub fn set_catalog_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
253        self.catalog_id = input;
254        self
255    }
256    /// <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>
257    pub fn get_catalog_id(&self) -> &::std::option::Option<::std::string::String> {
258        &self.catalog_id
259    }
260    /// <p>The name of the catalog database where the partitions reside.</p>
261    /// This field is required.
262    pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
263        self.database_name = ::std::option::Option::Some(input.into());
264        self
265    }
266    /// <p>The name of the catalog database where the partitions reside.</p>
267    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
268        self.database_name = input;
269        self
270    }
271    /// <p>The name of the catalog database where the partitions reside.</p>
272    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
273        &self.database_name
274    }
275    /// <p>The name of the partitions' table.</p>
276    /// This field is required.
277    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
278        self.table_name = ::std::option::Option::Some(input.into());
279        self
280    }
281    /// <p>The name of the partitions' table.</p>
282    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
283        self.table_name = input;
284        self
285    }
286    /// <p>The name of the partitions' table.</p>
287    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
288        &self.table_name
289    }
290    /// <p>An expression that filters the partitions to be returned.</p>
291    /// <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>
292    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
293    /// <dl>
294    /// <dt>
295    /// =
296    /// </dt>
297    /// <dd>
298    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
299    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
300    /// <p>(a = b) is not true.</p>
301    /// </dd>
302    /// <dt>
303    /// &lt; &gt;
304    /// </dt>
305    /// <dd>
306    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
307    /// <p>Example: (a &lt; &gt; b) is true.</p>
308    /// </dd>
309    /// <dt>
310    /// &gt;
311    /// </dt>
312    /// <dd>
313    /// <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>
314    /// <p>Example: (a &gt; b) is not true.</p>
315    /// </dd>
316    /// <dt>
317    /// &lt;
318    /// </dt>
319    /// <dd>
320    /// <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>
321    /// <p>Example: (a &lt; b) is true.</p>
322    /// </dd>
323    /// <dt>
324    /// &gt;=
325    /// </dt>
326    /// <dd>
327    /// <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>
328    /// <p>Example: (a &gt;= b) is not true.</p>
329    /// </dd>
330    /// <dt>
331    /// &lt;=
332    /// </dt>
333    /// <dd>
334    /// <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>
335    /// <p>Example: (a &lt;= b) is true.</p>
336    /// </dd>
337    /// <dt>
338    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
339    /// </dt>
340    /// <dd>
341    /// <p>Logical operators.</p>
342    /// </dd>
343    /// </dl>
344    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
345    /// <ul>
346    /// <li>
347    /// <p><code>string</code></p></li>
348    /// <li>
349    /// <p><code>date</code></p></li>
350    /// <li>
351    /// <p><code>timestamp</code></p></li>
352    /// <li>
353    /// <p><code>int</code></p></li>
354    /// <li>
355    /// <p><code>bigint</code></p></li>
356    /// <li>
357    /// <p><code>long</code></p></li>
358    /// <li>
359    /// <p><code>tinyint</code></p></li>
360    /// <li>
361    /// <p><code>smallint</code></p></li>
362    /// <li>
363    /// <p><code>decimal</code></p></li>
364    /// </ul>
365    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
366    /// <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>
367    /// <p><i>Sample API Call</i>:</p>
368    pub fn expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
369        self.expression = ::std::option::Option::Some(input.into());
370        self
371    }
372    /// <p>An expression that filters the partitions to be returned.</p>
373    /// <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>
374    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
375    /// <dl>
376    /// <dt>
377    /// =
378    /// </dt>
379    /// <dd>
380    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
381    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
382    /// <p>(a = b) is not true.</p>
383    /// </dd>
384    /// <dt>
385    /// &lt; &gt;
386    /// </dt>
387    /// <dd>
388    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
389    /// <p>Example: (a &lt; &gt; b) is true.</p>
390    /// </dd>
391    /// <dt>
392    /// &gt;
393    /// </dt>
394    /// <dd>
395    /// <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>
396    /// <p>Example: (a &gt; b) is not true.</p>
397    /// </dd>
398    /// <dt>
399    /// &lt;
400    /// </dt>
401    /// <dd>
402    /// <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>
403    /// <p>Example: (a &lt; b) is true.</p>
404    /// </dd>
405    /// <dt>
406    /// &gt;=
407    /// </dt>
408    /// <dd>
409    /// <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>
410    /// <p>Example: (a &gt;= b) is not true.</p>
411    /// </dd>
412    /// <dt>
413    /// &lt;=
414    /// </dt>
415    /// <dd>
416    /// <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>
417    /// <p>Example: (a &lt;= b) is true.</p>
418    /// </dd>
419    /// <dt>
420    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
421    /// </dt>
422    /// <dd>
423    /// <p>Logical operators.</p>
424    /// </dd>
425    /// </dl>
426    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
427    /// <ul>
428    /// <li>
429    /// <p><code>string</code></p></li>
430    /// <li>
431    /// <p><code>date</code></p></li>
432    /// <li>
433    /// <p><code>timestamp</code></p></li>
434    /// <li>
435    /// <p><code>int</code></p></li>
436    /// <li>
437    /// <p><code>bigint</code></p></li>
438    /// <li>
439    /// <p><code>long</code></p></li>
440    /// <li>
441    /// <p><code>tinyint</code></p></li>
442    /// <li>
443    /// <p><code>smallint</code></p></li>
444    /// <li>
445    /// <p><code>decimal</code></p></li>
446    /// </ul>
447    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
448    /// <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>
449    /// <p><i>Sample API Call</i>:</p>
450    pub fn set_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
451        self.expression = input;
452        self
453    }
454    /// <p>An expression that filters the partitions to be returned.</p>
455    /// <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>
456    /// <p><i>Operators</i>: The following are the operators that you can use in the <code>Expression</code> API call:</p>
457    /// <dl>
458    /// <dt>
459    /// =
460    /// </dt>
461    /// <dd>
462    /// <p>Checks whether the values of the two operands are equal; if yes, then the condition becomes true.</p>
463    /// <p>Example: Assume 'variable a' holds 10 and 'variable b' holds 20.</p>
464    /// <p>(a = b) is not true.</p>
465    /// </dd>
466    /// <dt>
467    /// &lt; &gt;
468    /// </dt>
469    /// <dd>
470    /// <p>Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.</p>
471    /// <p>Example: (a &lt; &gt; b) is true.</p>
472    /// </dd>
473    /// <dt>
474    /// &gt;
475    /// </dt>
476    /// <dd>
477    /// <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>
478    /// <p>Example: (a &gt; b) is not true.</p>
479    /// </dd>
480    /// <dt>
481    /// &lt;
482    /// </dt>
483    /// <dd>
484    /// <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>
485    /// <p>Example: (a &lt; b) is true.</p>
486    /// </dd>
487    /// <dt>
488    /// &gt;=
489    /// </dt>
490    /// <dd>
491    /// <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>
492    /// <p>Example: (a &gt;= b) is not true.</p>
493    /// </dd>
494    /// <dt>
495    /// &lt;=
496    /// </dt>
497    /// <dd>
498    /// <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>
499    /// <p>Example: (a &lt;= b) is true.</p>
500    /// </dd>
501    /// <dt>
502    /// AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL
503    /// </dt>
504    /// <dd>
505    /// <p>Logical operators.</p>
506    /// </dd>
507    /// </dl>
508    /// <p><i>Supported Partition Key Types</i>: The following are the supported partition keys.</p>
509    /// <ul>
510    /// <li>
511    /// <p><code>string</code></p></li>
512    /// <li>
513    /// <p><code>date</code></p></li>
514    /// <li>
515    /// <p><code>timestamp</code></p></li>
516    /// <li>
517    /// <p><code>int</code></p></li>
518    /// <li>
519    /// <p><code>bigint</code></p></li>
520    /// <li>
521    /// <p><code>long</code></p></li>
522    /// <li>
523    /// <p><code>tinyint</code></p></li>
524    /// <li>
525    /// <p><code>smallint</code></p></li>
526    /// <li>
527    /// <p><code>decimal</code></p></li>
528    /// </ul>
529    /// <p>If an type is encountered that is not valid, an exception is thrown.</p>
530    /// <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>
531    /// <p><i>Sample API Call</i>:</p>
532    pub fn get_expression(&self) -> &::std::option::Option<::std::string::String> {
533        &self.expression
534    }
535    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
536    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
537        self.next_token = ::std::option::Option::Some(input.into());
538        self
539    }
540    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
541    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
542        self.next_token = input;
543        self
544    }
545    /// <p>A continuation token, if this is not the first call to retrieve these partitions.</p>
546    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
547        &self.next_token
548    }
549    /// <p>The segment of the table's partitions to scan in this request.</p>
550    pub fn segment(mut self, input: crate::types::Segment) -> Self {
551        self.segment = ::std::option::Option::Some(input);
552        self
553    }
554    /// <p>The segment of the table's partitions to scan in this request.</p>
555    pub fn set_segment(mut self, input: ::std::option::Option<crate::types::Segment>) -> Self {
556        self.segment = input;
557        self
558    }
559    /// <p>The segment of the table's partitions to scan in this request.</p>
560    pub fn get_segment(&self) -> &::std::option::Option<crate::types::Segment> {
561        &self.segment
562    }
563    /// <p>The maximum number of partitions to return in a single response.</p>
564    pub fn max_results(mut self, input: i32) -> Self {
565        self.max_results = ::std::option::Option::Some(input);
566        self
567    }
568    /// <p>The maximum number of partitions to return in a single response.</p>
569    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
570        self.max_results = input;
571        self
572    }
573    /// <p>The maximum number of partitions to return in a single response.</p>
574    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
575        &self.max_results
576    }
577    /// <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>
578    pub fn exclude_column_schema(mut self, input: bool) -> Self {
579        self.exclude_column_schema = ::std::option::Option::Some(input);
580        self
581    }
582    /// <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>
583    pub fn set_exclude_column_schema(mut self, input: ::std::option::Option<bool>) -> Self {
584        self.exclude_column_schema = input;
585        self
586    }
587    /// <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>
588    pub fn get_exclude_column_schema(&self) -> &::std::option::Option<bool> {
589        &self.exclude_column_schema
590    }
591    /// <p>The transaction ID at which to read the partition contents.</p>
592    pub fn transaction_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
593        self.transaction_id = ::std::option::Option::Some(input.into());
594        self
595    }
596    /// <p>The transaction ID at which to read the partition contents.</p>
597    pub fn set_transaction_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
598        self.transaction_id = input;
599        self
600    }
601    /// <p>The transaction ID at which to read the partition contents.</p>
602    pub fn get_transaction_id(&self) -> &::std::option::Option<::std::string::String> {
603        &self.transaction_id
604    }
605    /// <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>
606    pub fn query_as_of_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
607        self.query_as_of_time = ::std::option::Option::Some(input);
608        self
609    }
610    /// <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>
611    pub fn set_query_as_of_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
612        self.query_as_of_time = input;
613        self
614    }
615    /// <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>
616    pub fn get_query_as_of_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
617        &self.query_as_of_time
618    }
619    /// Consumes the builder and constructs a [`GetPartitionsInput`](crate::operation::get_partitions::GetPartitionsInput).
620    pub fn build(
621        self,
622    ) -> ::std::result::Result<crate::operation::get_partitions::GetPartitionsInput, ::aws_smithy_types::error::operation::BuildError> {
623        ::std::result::Result::Ok(crate::operation::get_partitions::GetPartitionsInput {
624            catalog_id: self.catalog_id,
625            database_name: self.database_name,
626            table_name: self.table_name,
627            expression: self.expression,
628            next_token: self.next_token,
629            segment: self.segment,
630            max_results: self.max_results,
631            exclude_column_schema: self.exclude_column_schema,
632            transaction_id: self.transaction_id,
633            query_as_of_time: self.query_as_of_time,
634        })
635    }
636}