Skip to main content

aws_sdk_rds/operation/start_export_task/
_start_export_task_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Contains the details of a snapshot or cluster export to Amazon S3.</p>
4/// <p>This data type is used as a response element in the <code>DescribeExportTasks</code> operation.</p>
5#[non_exhaustive]
6#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
7pub struct StartExportTaskOutput {
8    /// <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
9    pub export_task_identifier: ::std::option::Option<::std::string::String>,
10    /// <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
11    pub source_arn: ::std::option::Option<::std::string::String>,
12    /// <p>The data exported from the snapshot or cluster.</p>
13    /// <p>Valid Values:</p>
14    /// <ul>
15    /// <li>
16    /// <p><code>database</code> - Export all the data from a specified database.</p></li>
17    /// <li>
18    /// <p><code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p></li>
19    /// <li>
20    /// <p><code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
21    /// <li>
22    /// <p><code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
23    /// </ul>
24    pub export_only: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
25    /// <p>The time when the snapshot was created.</p>
26    pub snapshot_time: ::std::option::Option<::aws_smithy_types::DateTime>,
27    /// <p>The time when the snapshot or cluster export task started.</p>
28    pub task_start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
29    /// <p>The time when the snapshot or cluster export task ended.</p>
30    pub task_end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
31    /// <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
32    pub s3_bucket: ::std::option::Option<::std::string::String>,
33    /// <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
34    pub s3_prefix: ::std::option::Option<::std::string::String>,
35    /// <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
36    pub iam_role_arn: ::std::option::Option<::std::string::String>,
37    /// <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
38    pub kms_key_id: ::std::option::Option<::std::string::String>,
39    /// <p>The progress status of the export task. The status can be one of the following:</p>
40    /// <ul>
41    /// <li>
42    /// <p><code>CANCELED</code></p></li>
43    /// <li>
44    /// <p><code>CANCELING</code></p></li>
45    /// <li>
46    /// <p><code>COMPLETE</code></p></li>
47    /// <li>
48    /// <p><code>FAILED</code></p></li>
49    /// <li>
50    /// <p><code>IN_PROGRESS</code></p></li>
51    /// <li>
52    /// <p><code>STARTING</code></p></li>
53    /// </ul>
54    pub status: ::std::option::Option<::std::string::String>,
55    /// <p>The progress of the snapshot or cluster export task as a percentage.</p>
56    pub percent_progress: ::std::option::Option<i32>,
57    /// <p>The total amount of data exported, in gigabytes.</p>
58    pub total_extracted_data_in_gb: ::std::option::Option<i32>,
59    /// <p>The reason the export failed, if it failed.</p>
60    pub failure_cause: ::std::option::Option<::std::string::String>,
61    /// <p>A warning about the snapshot or cluster export task.</p>
62    pub warning_message: ::std::option::Option<::std::string::String>,
63    /// <p>The type of source for the export.</p>
64    pub source_type: ::std::option::Option<crate::types::ExportSourceType>,
65    _request_id: Option<String>,
66}
67impl StartExportTaskOutput {
68    /// <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
69    pub fn export_task_identifier(&self) -> ::std::option::Option<&str> {
70        self.export_task_identifier.as_deref()
71    }
72    /// <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
73    pub fn source_arn(&self) -> ::std::option::Option<&str> {
74        self.source_arn.as_deref()
75    }
76    /// <p>The data exported from the snapshot or cluster.</p>
77    /// <p>Valid Values:</p>
78    /// <ul>
79    /// <li>
80    /// <p><code>database</code> - Export all the data from a specified database.</p></li>
81    /// <li>
82    /// <p><code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p></li>
83    /// <li>
84    /// <p><code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
85    /// <li>
86    /// <p><code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
87    /// </ul>
88    ///
89    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.export_only.is_none()`.
90    pub fn export_only(&self) -> &[::std::string::String] {
91        self.export_only.as_deref().unwrap_or_default()
92    }
93    /// <p>The time when the snapshot was created.</p>
94    pub fn snapshot_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
95        self.snapshot_time.as_ref()
96    }
97    /// <p>The time when the snapshot or cluster export task started.</p>
98    pub fn task_start_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
99        self.task_start_time.as_ref()
100    }
101    /// <p>The time when the snapshot or cluster export task ended.</p>
102    pub fn task_end_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
103        self.task_end_time.as_ref()
104    }
105    /// <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
106    pub fn s3_bucket(&self) -> ::std::option::Option<&str> {
107        self.s3_bucket.as_deref()
108    }
109    /// <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
110    pub fn s3_prefix(&self) -> ::std::option::Option<&str> {
111        self.s3_prefix.as_deref()
112    }
113    /// <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
114    pub fn iam_role_arn(&self) -> ::std::option::Option<&str> {
115        self.iam_role_arn.as_deref()
116    }
117    /// <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
118    pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
119        self.kms_key_id.as_deref()
120    }
121    /// <p>The progress status of the export task. The status can be one of the following:</p>
122    /// <ul>
123    /// <li>
124    /// <p><code>CANCELED</code></p></li>
125    /// <li>
126    /// <p><code>CANCELING</code></p></li>
127    /// <li>
128    /// <p><code>COMPLETE</code></p></li>
129    /// <li>
130    /// <p><code>FAILED</code></p></li>
131    /// <li>
132    /// <p><code>IN_PROGRESS</code></p></li>
133    /// <li>
134    /// <p><code>STARTING</code></p></li>
135    /// </ul>
136    pub fn status(&self) -> ::std::option::Option<&str> {
137        self.status.as_deref()
138    }
139    /// <p>The progress of the snapshot or cluster export task as a percentage.</p>
140    pub fn percent_progress(&self) -> ::std::option::Option<i32> {
141        self.percent_progress
142    }
143    /// <p>The total amount of data exported, in gigabytes.</p>
144    pub fn total_extracted_data_in_gb(&self) -> ::std::option::Option<i32> {
145        self.total_extracted_data_in_gb
146    }
147    /// <p>The reason the export failed, if it failed.</p>
148    pub fn failure_cause(&self) -> ::std::option::Option<&str> {
149        self.failure_cause.as_deref()
150    }
151    /// <p>A warning about the snapshot or cluster export task.</p>
152    pub fn warning_message(&self) -> ::std::option::Option<&str> {
153        self.warning_message.as_deref()
154    }
155    /// <p>The type of source for the export.</p>
156    pub fn source_type(&self) -> ::std::option::Option<&crate::types::ExportSourceType> {
157        self.source_type.as_ref()
158    }
159}
160impl ::aws_types::request_id::RequestId for StartExportTaskOutput {
161    fn request_id(&self) -> Option<&str> {
162        self._request_id.as_deref()
163    }
164}
165impl StartExportTaskOutput {
166    /// Creates a new builder-style object to manufacture [`StartExportTaskOutput`](crate::operation::start_export_task::StartExportTaskOutput).
167    pub fn builder() -> crate::operation::start_export_task::builders::StartExportTaskOutputBuilder {
168        crate::operation::start_export_task::builders::StartExportTaskOutputBuilder::default()
169    }
170}
171
172/// A builder for [`StartExportTaskOutput`](crate::operation::start_export_task::StartExportTaskOutput).
173#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
174#[non_exhaustive]
175pub struct StartExportTaskOutputBuilder {
176    pub(crate) export_task_identifier: ::std::option::Option<::std::string::String>,
177    pub(crate) source_arn: ::std::option::Option<::std::string::String>,
178    pub(crate) export_only: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
179    pub(crate) snapshot_time: ::std::option::Option<::aws_smithy_types::DateTime>,
180    pub(crate) task_start_time: ::std::option::Option<::aws_smithy_types::DateTime>,
181    pub(crate) task_end_time: ::std::option::Option<::aws_smithy_types::DateTime>,
182    pub(crate) s3_bucket: ::std::option::Option<::std::string::String>,
183    pub(crate) s3_prefix: ::std::option::Option<::std::string::String>,
184    pub(crate) iam_role_arn: ::std::option::Option<::std::string::String>,
185    pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
186    pub(crate) status: ::std::option::Option<::std::string::String>,
187    pub(crate) percent_progress: ::std::option::Option<i32>,
188    pub(crate) total_extracted_data_in_gb: ::std::option::Option<i32>,
189    pub(crate) failure_cause: ::std::option::Option<::std::string::String>,
190    pub(crate) warning_message: ::std::option::Option<::std::string::String>,
191    pub(crate) source_type: ::std::option::Option<crate::types::ExportSourceType>,
192    _request_id: Option<String>,
193}
194impl StartExportTaskOutputBuilder {
195    /// <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
196    pub fn export_task_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
197        self.export_task_identifier = ::std::option::Option::Some(input.into());
198        self
199    }
200    /// <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
201    pub fn set_export_task_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
202        self.export_task_identifier = input;
203        self
204    }
205    /// <p>A unique identifier for the snapshot or cluster export task. This ID isn't an identifier for the Amazon S3 bucket where the data is exported.</p>
206    pub fn get_export_task_identifier(&self) -> &::std::option::Option<::std::string::String> {
207        &self.export_task_identifier
208    }
209    /// <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
210    pub fn source_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
211        self.source_arn = ::std::option::Option::Some(input.into());
212        self
213    }
214    /// <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
215    pub fn set_source_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
216        self.source_arn = input;
217        self
218    }
219    /// <p>The Amazon Resource Name (ARN) of the snapshot or cluster exported to Amazon S3.</p>
220    pub fn get_source_arn(&self) -> &::std::option::Option<::std::string::String> {
221        &self.source_arn
222    }
223    /// Appends an item to `export_only`.
224    ///
225    /// To override the contents of this collection use [`set_export_only`](Self::set_export_only).
226    ///
227    /// <p>The data exported from the snapshot or cluster.</p>
228    /// <p>Valid Values:</p>
229    /// <ul>
230    /// <li>
231    /// <p><code>database</code> - Export all the data from a specified database.</p></li>
232    /// <li>
233    /// <p><code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p></li>
234    /// <li>
235    /// <p><code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
236    /// <li>
237    /// <p><code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
238    /// </ul>
239    pub fn export_only(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
240        let mut v = self.export_only.unwrap_or_default();
241        v.push(input.into());
242        self.export_only = ::std::option::Option::Some(v);
243        self
244    }
245    /// <p>The data exported from the snapshot or cluster.</p>
246    /// <p>Valid Values:</p>
247    /// <ul>
248    /// <li>
249    /// <p><code>database</code> - Export all the data from a specified database.</p></li>
250    /// <li>
251    /// <p><code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p></li>
252    /// <li>
253    /// <p><code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
254    /// <li>
255    /// <p><code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
256    /// </ul>
257    pub fn set_export_only(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
258        self.export_only = input;
259        self
260    }
261    /// <p>The data exported from the snapshot or cluster.</p>
262    /// <p>Valid Values:</p>
263    /// <ul>
264    /// <li>
265    /// <p><code>database</code> - Export all the data from a specified database.</p></li>
266    /// <li>
267    /// <p><code>database.table</code> <i>table-name</i> - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.</p></li>
268    /// <li>
269    /// <p><code>database.schema</code> <i>schema-name</i> - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
270    /// <li>
271    /// <p><code>database.schema.table</code> <i>table-name</i> - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.</p></li>
272    /// </ul>
273    pub fn get_export_only(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
274        &self.export_only
275    }
276    /// <p>The time when the snapshot was created.</p>
277    pub fn snapshot_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
278        self.snapshot_time = ::std::option::Option::Some(input);
279        self
280    }
281    /// <p>The time when the snapshot was created.</p>
282    pub fn set_snapshot_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
283        self.snapshot_time = input;
284        self
285    }
286    /// <p>The time when the snapshot was created.</p>
287    pub fn get_snapshot_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
288        &self.snapshot_time
289    }
290    /// <p>The time when the snapshot or cluster export task started.</p>
291    pub fn task_start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
292        self.task_start_time = ::std::option::Option::Some(input);
293        self
294    }
295    /// <p>The time when the snapshot or cluster export task started.</p>
296    pub fn set_task_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
297        self.task_start_time = input;
298        self
299    }
300    /// <p>The time when the snapshot or cluster export task started.</p>
301    pub fn get_task_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
302        &self.task_start_time
303    }
304    /// <p>The time when the snapshot or cluster export task ended.</p>
305    pub fn task_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
306        self.task_end_time = ::std::option::Option::Some(input);
307        self
308    }
309    /// <p>The time when the snapshot or cluster export task ended.</p>
310    pub fn set_task_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
311        self.task_end_time = input;
312        self
313    }
314    /// <p>The time when the snapshot or cluster export task ended.</p>
315    pub fn get_task_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
316        &self.task_end_time
317    }
318    /// <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
319    pub fn s3_bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
320        self.s3_bucket = ::std::option::Option::Some(input.into());
321        self
322    }
323    /// <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
324    pub fn set_s3_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
325        self.s3_bucket = input;
326        self
327    }
328    /// <p>The Amazon S3 bucket where the snapshot or cluster is exported to.</p>
329    pub fn get_s3_bucket(&self) -> &::std::option::Option<::std::string::String> {
330        &self.s3_bucket
331    }
332    /// <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
333    pub fn s3_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
334        self.s3_prefix = ::std::option::Option::Some(input.into());
335        self
336    }
337    /// <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
338    pub fn set_s3_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
339        self.s3_prefix = input;
340        self
341    }
342    /// <p>The Amazon S3 bucket prefix that is the file name and path of the exported data.</p>
343    pub fn get_s3_prefix(&self) -> &::std::option::Option<::std::string::String> {
344        &self.s3_prefix
345    }
346    /// <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
347    pub fn iam_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
348        self.iam_role_arn = ::std::option::Option::Some(input.into());
349        self
350    }
351    /// <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
352    pub fn set_iam_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
353        self.iam_role_arn = input;
354        self
355    }
356    /// <p>The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot or cluster.</p>
357    pub fn get_iam_role_arn(&self) -> &::std::option::Option<::std::string::String> {
358        &self.iam_role_arn
359    }
360    /// <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
361    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
362        self.kms_key_id = ::std::option::Option::Some(input.into());
363        self
364    }
365    /// <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
366    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
367        self.kms_key_id = input;
368        self
369    }
370    /// <p>The key identifier of the Amazon Web Services KMS key that is used to encrypt the data when it's exported to Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the export must have encryption and decryption permissions to use this KMS key.</p>
371    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
372        &self.kms_key_id
373    }
374    /// <p>The progress status of the export task. The status can be one of the following:</p>
375    /// <ul>
376    /// <li>
377    /// <p><code>CANCELED</code></p></li>
378    /// <li>
379    /// <p><code>CANCELING</code></p></li>
380    /// <li>
381    /// <p><code>COMPLETE</code></p></li>
382    /// <li>
383    /// <p><code>FAILED</code></p></li>
384    /// <li>
385    /// <p><code>IN_PROGRESS</code></p></li>
386    /// <li>
387    /// <p><code>STARTING</code></p></li>
388    /// </ul>
389    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
390        self.status = ::std::option::Option::Some(input.into());
391        self
392    }
393    /// <p>The progress status of the export task. The status can be one of the following:</p>
394    /// <ul>
395    /// <li>
396    /// <p><code>CANCELED</code></p></li>
397    /// <li>
398    /// <p><code>CANCELING</code></p></li>
399    /// <li>
400    /// <p><code>COMPLETE</code></p></li>
401    /// <li>
402    /// <p><code>FAILED</code></p></li>
403    /// <li>
404    /// <p><code>IN_PROGRESS</code></p></li>
405    /// <li>
406    /// <p><code>STARTING</code></p></li>
407    /// </ul>
408    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
409        self.status = input;
410        self
411    }
412    /// <p>The progress status of the export task. The status can be one of the following:</p>
413    /// <ul>
414    /// <li>
415    /// <p><code>CANCELED</code></p></li>
416    /// <li>
417    /// <p><code>CANCELING</code></p></li>
418    /// <li>
419    /// <p><code>COMPLETE</code></p></li>
420    /// <li>
421    /// <p><code>FAILED</code></p></li>
422    /// <li>
423    /// <p><code>IN_PROGRESS</code></p></li>
424    /// <li>
425    /// <p><code>STARTING</code></p></li>
426    /// </ul>
427    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
428        &self.status
429    }
430    /// <p>The progress of the snapshot or cluster export task as a percentage.</p>
431    pub fn percent_progress(mut self, input: i32) -> Self {
432        self.percent_progress = ::std::option::Option::Some(input);
433        self
434    }
435    /// <p>The progress of the snapshot or cluster export task as a percentage.</p>
436    pub fn set_percent_progress(mut self, input: ::std::option::Option<i32>) -> Self {
437        self.percent_progress = input;
438        self
439    }
440    /// <p>The progress of the snapshot or cluster export task as a percentage.</p>
441    pub fn get_percent_progress(&self) -> &::std::option::Option<i32> {
442        &self.percent_progress
443    }
444    /// <p>The total amount of data exported, in gigabytes.</p>
445    pub fn total_extracted_data_in_gb(mut self, input: i32) -> Self {
446        self.total_extracted_data_in_gb = ::std::option::Option::Some(input);
447        self
448    }
449    /// <p>The total amount of data exported, in gigabytes.</p>
450    pub fn set_total_extracted_data_in_gb(mut self, input: ::std::option::Option<i32>) -> Self {
451        self.total_extracted_data_in_gb = input;
452        self
453    }
454    /// <p>The total amount of data exported, in gigabytes.</p>
455    pub fn get_total_extracted_data_in_gb(&self) -> &::std::option::Option<i32> {
456        &self.total_extracted_data_in_gb
457    }
458    /// <p>The reason the export failed, if it failed.</p>
459    pub fn failure_cause(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
460        self.failure_cause = ::std::option::Option::Some(input.into());
461        self
462    }
463    /// <p>The reason the export failed, if it failed.</p>
464    pub fn set_failure_cause(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
465        self.failure_cause = input;
466        self
467    }
468    /// <p>The reason the export failed, if it failed.</p>
469    pub fn get_failure_cause(&self) -> &::std::option::Option<::std::string::String> {
470        &self.failure_cause
471    }
472    /// <p>A warning about the snapshot or cluster export task.</p>
473    pub fn warning_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
474        self.warning_message = ::std::option::Option::Some(input.into());
475        self
476    }
477    /// <p>A warning about the snapshot or cluster export task.</p>
478    pub fn set_warning_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
479        self.warning_message = input;
480        self
481    }
482    /// <p>A warning about the snapshot or cluster export task.</p>
483    pub fn get_warning_message(&self) -> &::std::option::Option<::std::string::String> {
484        &self.warning_message
485    }
486    /// <p>The type of source for the export.</p>
487    pub fn source_type(mut self, input: crate::types::ExportSourceType) -> Self {
488        self.source_type = ::std::option::Option::Some(input);
489        self
490    }
491    /// <p>The type of source for the export.</p>
492    pub fn set_source_type(mut self, input: ::std::option::Option<crate::types::ExportSourceType>) -> Self {
493        self.source_type = input;
494        self
495    }
496    /// <p>The type of source for the export.</p>
497    pub fn get_source_type(&self) -> &::std::option::Option<crate::types::ExportSourceType> {
498        &self.source_type
499    }
500    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
501        self._request_id = Some(request_id.into());
502        self
503    }
504
505    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
506        self._request_id = request_id;
507        self
508    }
509    /// Consumes the builder and constructs a [`StartExportTaskOutput`](crate::operation::start_export_task::StartExportTaskOutput).
510    pub fn build(self) -> crate::operation::start_export_task::StartExportTaskOutput {
511        crate::operation::start_export_task::StartExportTaskOutput {
512            export_task_identifier: self.export_task_identifier,
513            source_arn: self.source_arn,
514            export_only: self.export_only,
515            snapshot_time: self.snapshot_time,
516            task_start_time: self.task_start_time,
517            task_end_time: self.task_end_time,
518            s3_bucket: self.s3_bucket,
519            s3_prefix: self.s3_prefix,
520            iam_role_arn: self.iam_role_arn,
521            kms_key_id: self.kms_key_id,
522            status: self.status,
523            percent_progress: self.percent_progress,
524            total_extracted_data_in_gb: self.total_extracted_data_in_gb,
525            failure_cause: self.failure_cause,
526            warning_message: self.warning_message,
527            source_type: self.source_type,
528            _request_id: self._request_id,
529        }
530    }
531}