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}