aws_sdk_datasync/operation/describe_task/
_describe_task_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>DescribeTaskResponse</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DescribeTaskOutput {
7    /// <p>The ARN of your task.</p>
8    pub task_arn: ::std::option::Option<::std::string::String>,
9    /// <p>The status of your task. For information about what each status means, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/understand-task-statuses.html#understand-task-creation-statuses">Task statuses</a>.</p>
10    pub status: ::std::option::Option<crate::types::TaskStatus>,
11    /// <p>The name of your task.</p>
12    pub name: ::std::option::Option<::std::string::String>,
13    /// <p>The ARN of the most recent task execution.</p>
14    pub current_task_execution_arn: ::std::option::Option<::std::string::String>,
15    /// <p>The ARN of your transfer's source location.</p>
16    pub source_location_arn: ::std::option::Option<::std::string::String>,
17    /// <p>The ARN of your transfer's destination location.</p>
18    pub destination_location_arn: ::std::option::Option<::std::string::String>,
19    /// <p>The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.</p>
20    /// <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html">Monitoring data transfers with CloudWatch Logs</a>.</p>
21    pub cloud_watch_log_group_arn: ::std::option::Option<::std::string::String>,
22    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your source location.</p>
23    pub source_network_interface_arns: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
24    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your destination location.</p>
25    pub destination_network_interface_arns: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
26    /// <p>The task's settings. For example, what file metadata gets preserved, how data integrity gets verified at the end of your transfer, bandwidth limits, among other options.</p>
27    pub options: ::std::option::Option<crate::types::Options>,
28    /// <p>The exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
29    pub excludes: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>,
30    /// <p>The schedule for when you want your task to run. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">Scheduling your task</a>.</p>
31    pub schedule: ::std::option::Option<crate::types::TaskSchedule>,
32    /// <p>If there's an issue with your task, you can use the error code to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
33    pub error_code: ::std::option::Option<::std::string::String>,
34    /// <p>If there's an issue with your task, you can use the error details to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
35    pub error_detail: ::std::option::Option<::std::string::String>,
36    /// <p>The time that the task was created.</p>
37    pub creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
38    /// <p>The include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
39    pub includes: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>,
40    /// <p>The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html">Specifying what DataSync transfers by using a manifest</a>.</p>
41    pub manifest_config: ::std::option::Option<crate::types::ManifestConfig>,
42    /// <p>The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html">Monitoring your DataSync transfers with task reports</a>.</p>
43    pub task_report_config: ::std::option::Option<crate::types::TaskReportConfig>,
44    /// <p>The details about your <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">task schedule</a>.</p>
45    pub schedule_details: ::std::option::Option<crate::types::TaskScheduleDetails>,
46    /// <p>The task mode that you're using. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html">Choosing a task mode for your data transfer</a>.</p>
47    pub task_mode: ::std::option::Option<crate::types::TaskMode>,
48    _request_id: Option<String>,
49}
50impl DescribeTaskOutput {
51    /// <p>The ARN of your task.</p>
52    pub fn task_arn(&self) -> ::std::option::Option<&str> {
53        self.task_arn.as_deref()
54    }
55    /// <p>The status of your task. For information about what each status means, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/understand-task-statuses.html#understand-task-creation-statuses">Task statuses</a>.</p>
56    pub fn status(&self) -> ::std::option::Option<&crate::types::TaskStatus> {
57        self.status.as_ref()
58    }
59    /// <p>The name of your task.</p>
60    pub fn name(&self) -> ::std::option::Option<&str> {
61        self.name.as_deref()
62    }
63    /// <p>The ARN of the most recent task execution.</p>
64    pub fn current_task_execution_arn(&self) -> ::std::option::Option<&str> {
65        self.current_task_execution_arn.as_deref()
66    }
67    /// <p>The ARN of your transfer's source location.</p>
68    pub fn source_location_arn(&self) -> ::std::option::Option<&str> {
69        self.source_location_arn.as_deref()
70    }
71    /// <p>The ARN of your transfer's destination location.</p>
72    pub fn destination_location_arn(&self) -> ::std::option::Option<&str> {
73        self.destination_location_arn.as_deref()
74    }
75    /// <p>The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.</p>
76    /// <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html">Monitoring data transfers with CloudWatch Logs</a>.</p>
77    pub fn cloud_watch_log_group_arn(&self) -> ::std::option::Option<&str> {
78        self.cloud_watch_log_group_arn.as_deref()
79    }
80    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your source location.</p>
81    ///
82    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.source_network_interface_arns.is_none()`.
83    pub fn source_network_interface_arns(&self) -> &[::std::string::String] {
84        self.source_network_interface_arns.as_deref().unwrap_or_default()
85    }
86    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your destination location.</p>
87    ///
88    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.destination_network_interface_arns.is_none()`.
89    pub fn destination_network_interface_arns(&self) -> &[::std::string::String] {
90        self.destination_network_interface_arns.as_deref().unwrap_or_default()
91    }
92    /// <p>The task's settings. For example, what file metadata gets preserved, how data integrity gets verified at the end of your transfer, bandwidth limits, among other options.</p>
93    pub fn options(&self) -> ::std::option::Option<&crate::types::Options> {
94        self.options.as_ref()
95    }
96    /// <p>The exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
97    ///
98    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.excludes.is_none()`.
99    pub fn excludes(&self) -> &[crate::types::FilterRule] {
100        self.excludes.as_deref().unwrap_or_default()
101    }
102    /// <p>The schedule for when you want your task to run. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">Scheduling your task</a>.</p>
103    pub fn schedule(&self) -> ::std::option::Option<&crate::types::TaskSchedule> {
104        self.schedule.as_ref()
105    }
106    /// <p>If there's an issue with your task, you can use the error code to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
107    pub fn error_code(&self) -> ::std::option::Option<&str> {
108        self.error_code.as_deref()
109    }
110    /// <p>If there's an issue with your task, you can use the error details to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
111    pub fn error_detail(&self) -> ::std::option::Option<&str> {
112        self.error_detail.as_deref()
113    }
114    /// <p>The time that the task was created.</p>
115    pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
116        self.creation_time.as_ref()
117    }
118    /// <p>The include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
119    ///
120    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.includes.is_none()`.
121    pub fn includes(&self) -> &[crate::types::FilterRule] {
122        self.includes.as_deref().unwrap_or_default()
123    }
124    /// <p>The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html">Specifying what DataSync transfers by using a manifest</a>.</p>
125    pub fn manifest_config(&self) -> ::std::option::Option<&crate::types::ManifestConfig> {
126        self.manifest_config.as_ref()
127    }
128    /// <p>The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html">Monitoring your DataSync transfers with task reports</a>.</p>
129    pub fn task_report_config(&self) -> ::std::option::Option<&crate::types::TaskReportConfig> {
130        self.task_report_config.as_ref()
131    }
132    /// <p>The details about your <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">task schedule</a>.</p>
133    pub fn schedule_details(&self) -> ::std::option::Option<&crate::types::TaskScheduleDetails> {
134        self.schedule_details.as_ref()
135    }
136    /// <p>The task mode that you're using. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html">Choosing a task mode for your data transfer</a>.</p>
137    pub fn task_mode(&self) -> ::std::option::Option<&crate::types::TaskMode> {
138        self.task_mode.as_ref()
139    }
140}
141impl ::aws_types::request_id::RequestId for DescribeTaskOutput {
142    fn request_id(&self) -> Option<&str> {
143        self._request_id.as_deref()
144    }
145}
146impl DescribeTaskOutput {
147    /// Creates a new builder-style object to manufacture [`DescribeTaskOutput`](crate::operation::describe_task::DescribeTaskOutput).
148    pub fn builder() -> crate::operation::describe_task::builders::DescribeTaskOutputBuilder {
149        crate::operation::describe_task::builders::DescribeTaskOutputBuilder::default()
150    }
151}
152
153/// A builder for [`DescribeTaskOutput`](crate::operation::describe_task::DescribeTaskOutput).
154#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
155#[non_exhaustive]
156pub struct DescribeTaskOutputBuilder {
157    pub(crate) task_arn: ::std::option::Option<::std::string::String>,
158    pub(crate) status: ::std::option::Option<crate::types::TaskStatus>,
159    pub(crate) name: ::std::option::Option<::std::string::String>,
160    pub(crate) current_task_execution_arn: ::std::option::Option<::std::string::String>,
161    pub(crate) source_location_arn: ::std::option::Option<::std::string::String>,
162    pub(crate) destination_location_arn: ::std::option::Option<::std::string::String>,
163    pub(crate) cloud_watch_log_group_arn: ::std::option::Option<::std::string::String>,
164    pub(crate) source_network_interface_arns: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
165    pub(crate) destination_network_interface_arns: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
166    pub(crate) options: ::std::option::Option<crate::types::Options>,
167    pub(crate) excludes: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>,
168    pub(crate) schedule: ::std::option::Option<crate::types::TaskSchedule>,
169    pub(crate) error_code: ::std::option::Option<::std::string::String>,
170    pub(crate) error_detail: ::std::option::Option<::std::string::String>,
171    pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
172    pub(crate) includes: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>,
173    pub(crate) manifest_config: ::std::option::Option<crate::types::ManifestConfig>,
174    pub(crate) task_report_config: ::std::option::Option<crate::types::TaskReportConfig>,
175    pub(crate) schedule_details: ::std::option::Option<crate::types::TaskScheduleDetails>,
176    pub(crate) task_mode: ::std::option::Option<crate::types::TaskMode>,
177    _request_id: Option<String>,
178}
179impl DescribeTaskOutputBuilder {
180    /// <p>The ARN of your task.</p>
181    pub fn task_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
182        self.task_arn = ::std::option::Option::Some(input.into());
183        self
184    }
185    /// <p>The ARN of your task.</p>
186    pub fn set_task_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
187        self.task_arn = input;
188        self
189    }
190    /// <p>The ARN of your task.</p>
191    pub fn get_task_arn(&self) -> &::std::option::Option<::std::string::String> {
192        &self.task_arn
193    }
194    /// <p>The status of your task. For information about what each status means, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/understand-task-statuses.html#understand-task-creation-statuses">Task statuses</a>.</p>
195    pub fn status(mut self, input: crate::types::TaskStatus) -> Self {
196        self.status = ::std::option::Option::Some(input);
197        self
198    }
199    /// <p>The status of your task. For information about what each status means, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/understand-task-statuses.html#understand-task-creation-statuses">Task statuses</a>.</p>
200    pub fn set_status(mut self, input: ::std::option::Option<crate::types::TaskStatus>) -> Self {
201        self.status = input;
202        self
203    }
204    /// <p>The status of your task. For information about what each status means, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/understand-task-statuses.html#understand-task-creation-statuses">Task statuses</a>.</p>
205    pub fn get_status(&self) -> &::std::option::Option<crate::types::TaskStatus> {
206        &self.status
207    }
208    /// <p>The name of your task.</p>
209    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210        self.name = ::std::option::Option::Some(input.into());
211        self
212    }
213    /// <p>The name of your task.</p>
214    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
215        self.name = input;
216        self
217    }
218    /// <p>The name of your task.</p>
219    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
220        &self.name
221    }
222    /// <p>The ARN of the most recent task execution.</p>
223    pub fn current_task_execution_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
224        self.current_task_execution_arn = ::std::option::Option::Some(input.into());
225        self
226    }
227    /// <p>The ARN of the most recent task execution.</p>
228    pub fn set_current_task_execution_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
229        self.current_task_execution_arn = input;
230        self
231    }
232    /// <p>The ARN of the most recent task execution.</p>
233    pub fn get_current_task_execution_arn(&self) -> &::std::option::Option<::std::string::String> {
234        &self.current_task_execution_arn
235    }
236    /// <p>The ARN of your transfer's source location.</p>
237    pub fn source_location_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
238        self.source_location_arn = ::std::option::Option::Some(input.into());
239        self
240    }
241    /// <p>The ARN of your transfer's source location.</p>
242    pub fn set_source_location_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
243        self.source_location_arn = input;
244        self
245    }
246    /// <p>The ARN of your transfer's source location.</p>
247    pub fn get_source_location_arn(&self) -> &::std::option::Option<::std::string::String> {
248        &self.source_location_arn
249    }
250    /// <p>The ARN of your transfer's destination location.</p>
251    pub fn destination_location_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
252        self.destination_location_arn = ::std::option::Option::Some(input.into());
253        self
254    }
255    /// <p>The ARN of your transfer's destination location.</p>
256    pub fn set_destination_location_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
257        self.destination_location_arn = input;
258        self
259    }
260    /// <p>The ARN of your transfer's destination location.</p>
261    pub fn get_destination_location_arn(&self) -> &::std::option::Option<::std::string::String> {
262        &self.destination_location_arn
263    }
264    /// <p>The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.</p>
265    /// <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html">Monitoring data transfers with CloudWatch Logs</a>.</p>
266    pub fn cloud_watch_log_group_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
267        self.cloud_watch_log_group_arn = ::std::option::Option::Some(input.into());
268        self
269    }
270    /// <p>The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.</p>
271    /// <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html">Monitoring data transfers with CloudWatch Logs</a>.</p>
272    pub fn set_cloud_watch_log_group_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
273        self.cloud_watch_log_group_arn = input;
274        self
275    }
276    /// <p>The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.</p>
277    /// <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html">Monitoring data transfers with CloudWatch Logs</a>.</p>
278    pub fn get_cloud_watch_log_group_arn(&self) -> &::std::option::Option<::std::string::String> {
279        &self.cloud_watch_log_group_arn
280    }
281    /// Appends an item to `source_network_interface_arns`.
282    ///
283    /// To override the contents of this collection use [`set_source_network_interface_arns`](Self::set_source_network_interface_arns).
284    ///
285    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your source location.</p>
286    pub fn source_network_interface_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
287        let mut v = self.source_network_interface_arns.unwrap_or_default();
288        v.push(input.into());
289        self.source_network_interface_arns = ::std::option::Option::Some(v);
290        self
291    }
292    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your source location.</p>
293    pub fn set_source_network_interface_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
294        self.source_network_interface_arns = input;
295        self
296    }
297    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your source location.</p>
298    pub fn get_source_network_interface_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
299        &self.source_network_interface_arns
300    }
301    /// Appends an item to `destination_network_interface_arns`.
302    ///
303    /// To override the contents of this collection use [`set_destination_network_interface_arns`](Self::set_destination_network_interface_arns).
304    ///
305    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your destination location.</p>
306    pub fn destination_network_interface_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
307        let mut v = self.destination_network_interface_arns.unwrap_or_default();
308        v.push(input.into());
309        self.destination_network_interface_arns = ::std::option::Option::Some(v);
310        self
311    }
312    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your destination location.</p>
313    pub fn set_destination_network_interface_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
314        self.destination_network_interface_arns = input;
315        self
316    }
317    /// <p>The ARNs of the <a href="https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces">network interfaces</a> that DataSync created for your destination location.</p>
318    pub fn get_destination_network_interface_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
319        &self.destination_network_interface_arns
320    }
321    /// <p>The task's settings. For example, what file metadata gets preserved, how data integrity gets verified at the end of your transfer, bandwidth limits, among other options.</p>
322    pub fn options(mut self, input: crate::types::Options) -> Self {
323        self.options = ::std::option::Option::Some(input);
324        self
325    }
326    /// <p>The task's settings. For example, what file metadata gets preserved, how data integrity gets verified at the end of your transfer, bandwidth limits, among other options.</p>
327    pub fn set_options(mut self, input: ::std::option::Option<crate::types::Options>) -> Self {
328        self.options = input;
329        self
330    }
331    /// <p>The task's settings. For example, what file metadata gets preserved, how data integrity gets verified at the end of your transfer, bandwidth limits, among other options.</p>
332    pub fn get_options(&self) -> &::std::option::Option<crate::types::Options> {
333        &self.options
334    }
335    /// Appends an item to `excludes`.
336    ///
337    /// To override the contents of this collection use [`set_excludes`](Self::set_excludes).
338    ///
339    /// <p>The exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
340    pub fn excludes(mut self, input: crate::types::FilterRule) -> Self {
341        let mut v = self.excludes.unwrap_or_default();
342        v.push(input);
343        self.excludes = ::std::option::Option::Some(v);
344        self
345    }
346    /// <p>The exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
347    pub fn set_excludes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>) -> Self {
348        self.excludes = input;
349        self
350    }
351    /// <p>The exclude filters that define the files, objects, and folders in your source location that you don't want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
352    pub fn get_excludes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FilterRule>> {
353        &self.excludes
354    }
355    /// <p>The schedule for when you want your task to run. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">Scheduling your task</a>.</p>
356    pub fn schedule(mut self, input: crate::types::TaskSchedule) -> Self {
357        self.schedule = ::std::option::Option::Some(input);
358        self
359    }
360    /// <p>The schedule for when you want your task to run. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">Scheduling your task</a>.</p>
361    pub fn set_schedule(mut self, input: ::std::option::Option<crate::types::TaskSchedule>) -> Self {
362        self.schedule = input;
363        self
364    }
365    /// <p>The schedule for when you want your task to run. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">Scheduling your task</a>.</p>
366    pub fn get_schedule(&self) -> &::std::option::Option<crate::types::TaskSchedule> {
367        &self.schedule
368    }
369    /// <p>If there's an issue with your task, you can use the error code to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
370    pub fn error_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
371        self.error_code = ::std::option::Option::Some(input.into());
372        self
373    }
374    /// <p>If there's an issue with your task, you can use the error code to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
375    pub fn set_error_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
376        self.error_code = input;
377        self
378    }
379    /// <p>If there's an issue with your task, you can use the error code to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
380    pub fn get_error_code(&self) -> &::std::option::Option<::std::string::String> {
381        &self.error_code
382    }
383    /// <p>If there's an issue with your task, you can use the error details to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
384    pub fn error_detail(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
385        self.error_detail = ::std::option::Option::Some(input.into());
386        self
387    }
388    /// <p>If there's an issue with your task, you can use the error details to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
389    pub fn set_error_detail(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
390        self.error_detail = input;
391        self
392    }
393    /// <p>If there's an issue with your task, you can use the error details to help you troubleshoot the problem. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync-locations-tasks.html">Troubleshooting issues with DataSync transfers</a>.</p>
394    pub fn get_error_detail(&self) -> &::std::option::Option<::std::string::String> {
395        &self.error_detail
396    }
397    /// <p>The time that the task was created.</p>
398    pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
399        self.creation_time = ::std::option::Option::Some(input);
400        self
401    }
402    /// <p>The time that the task was created.</p>
403    pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
404        self.creation_time = input;
405        self
406    }
407    /// <p>The time that the task was created.</p>
408    pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
409        &self.creation_time
410    }
411    /// Appends an item to `includes`.
412    ///
413    /// To override the contents of this collection use [`set_includes`](Self::set_includes).
414    ///
415    /// <p>The include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
416    pub fn includes(mut self, input: crate::types::FilterRule) -> Self {
417        let mut v = self.includes.unwrap_or_default();
418        v.push(input);
419        self.includes = ::std::option::Option::Some(v);
420        self
421    }
422    /// <p>The include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
423    pub fn set_includes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FilterRule>>) -> Self {
424        self.includes = input;
425        self
426    }
427    /// <p>The include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html">Specifying what DataSync transfers by using filters</a>.</p>
428    pub fn get_includes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FilterRule>> {
429        &self.includes
430    }
431    /// <p>The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html">Specifying what DataSync transfers by using a manifest</a>.</p>
432    pub fn manifest_config(mut self, input: crate::types::ManifestConfig) -> Self {
433        self.manifest_config = ::std::option::Option::Some(input);
434        self
435    }
436    /// <p>The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html">Specifying what DataSync transfers by using a manifest</a>.</p>
437    pub fn set_manifest_config(mut self, input: ::std::option::Option<crate::types::ManifestConfig>) -> Self {
438        self.manifest_config = input;
439        self
440    }
441    /// <p>The configuration of the manifest that lists the files or objects that you want DataSync to transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html">Specifying what DataSync transfers by using a manifest</a>.</p>
442    pub fn get_manifest_config(&self) -> &::std::option::Option<crate::types::ManifestConfig> {
443        &self.manifest_config
444    }
445    /// <p>The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html">Monitoring your DataSync transfers with task reports</a>.</p>
446    pub fn task_report_config(mut self, input: crate::types::TaskReportConfig) -> Self {
447        self.task_report_config = ::std::option::Option::Some(input);
448        self
449    }
450    /// <p>The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html">Monitoring your DataSync transfers with task reports</a>.</p>
451    pub fn set_task_report_config(mut self, input: ::std::option::Option<crate::types::TaskReportConfig>) -> Self {
452        self.task_report_config = input;
453        self
454    }
455    /// <p>The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html">Monitoring your DataSync transfers with task reports</a>.</p>
456    pub fn get_task_report_config(&self) -> &::std::option::Option<crate::types::TaskReportConfig> {
457        &self.task_report_config
458    }
459    /// <p>The details about your <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">task schedule</a>.</p>
460    pub fn schedule_details(mut self, input: crate::types::TaskScheduleDetails) -> Self {
461        self.schedule_details = ::std::option::Option::Some(input);
462        self
463    }
464    /// <p>The details about your <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">task schedule</a>.</p>
465    pub fn set_schedule_details(mut self, input: ::std::option::Option<crate::types::TaskScheduleDetails>) -> Self {
466        self.schedule_details = input;
467        self
468    }
469    /// <p>The details about your <a href="https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html">task schedule</a>.</p>
470    pub fn get_schedule_details(&self) -> &::std::option::Option<crate::types::TaskScheduleDetails> {
471        &self.schedule_details
472    }
473    /// <p>The task mode that you're using. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html">Choosing a task mode for your data transfer</a>.</p>
474    pub fn task_mode(mut self, input: crate::types::TaskMode) -> Self {
475        self.task_mode = ::std::option::Option::Some(input);
476        self
477    }
478    /// <p>The task mode that you're using. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html">Choosing a task mode for your data transfer</a>.</p>
479    pub fn set_task_mode(mut self, input: ::std::option::Option<crate::types::TaskMode>) -> Self {
480        self.task_mode = input;
481        self
482    }
483    /// <p>The task mode that you're using. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html">Choosing a task mode for your data transfer</a>.</p>
484    pub fn get_task_mode(&self) -> &::std::option::Option<crate::types::TaskMode> {
485        &self.task_mode
486    }
487    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
488        self._request_id = Some(request_id.into());
489        self
490    }
491
492    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
493        self._request_id = request_id;
494        self
495    }
496    /// Consumes the builder and constructs a [`DescribeTaskOutput`](crate::operation::describe_task::DescribeTaskOutput).
497    pub fn build(self) -> crate::operation::describe_task::DescribeTaskOutput {
498        crate::operation::describe_task::DescribeTaskOutput {
499            task_arn: self.task_arn,
500            status: self.status,
501            name: self.name,
502            current_task_execution_arn: self.current_task_execution_arn,
503            source_location_arn: self.source_location_arn,
504            destination_location_arn: self.destination_location_arn,
505            cloud_watch_log_group_arn: self.cloud_watch_log_group_arn,
506            source_network_interface_arns: self.source_network_interface_arns,
507            destination_network_interface_arns: self.destination_network_interface_arns,
508            options: self.options,
509            excludes: self.excludes,
510            schedule: self.schedule,
511            error_code: self.error_code,
512            error_detail: self.error_detail,
513            creation_time: self.creation_time,
514            includes: self.includes,
515            manifest_config: self.manifest_config,
516            task_report_config: self.task_report_config,
517            schedule_details: self.schedule_details,
518            task_mode: self.task_mode,
519            _request_id: self._request_id,
520        }
521    }
522}