aws_sdk_omics/operation/start_run/
_start_run_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct StartRunInput {
6    /// <p>The run's workflow ID.</p>
7    pub workflow_id: ::std::option::Option<::std::string::String>,
8    /// <p>The run's workflow type.</p>
9    pub workflow_type: ::std::option::Option<crate::types::WorkflowType>,
10    /// <p>The ID of a run to duplicate.</p>
11    pub run_id: ::std::option::Option<::std::string::String>,
12    /// <p>A service role for the run.</p>
13    pub role_arn: ::std::option::Option<::std::string::String>,
14    /// <p>A name for the run.</p>
15    pub name: ::std::option::Option<::std::string::String>,
16    /// <p>Identifier of the cache associated with this run. If you don't specify a cache ID, no task outputs are cached for this run.</p>
17    pub cache_id: ::std::option::Option<::std::string::String>,
18    /// <p>The cache behavior for the run. You specify this value if you want to override the default behavior for the cache. You had set the default value when you created the cache. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/how-run-cache.html#run-cache-behavior">Run cache behavior</a> in the Amazon Web Services HealthOmics User Guide.</p>
19    pub cache_behavior: ::std::option::Option<crate::types::CacheBehavior>,
20    /// <p>The run's group ID.</p>
21    pub run_group_id: ::std::option::Option<::std::string::String>,
22    /// <p>A priority for the run.</p>
23    pub priority: ::std::option::Option<i32>,
24    /// <p>Parameters for the run.</p>
25    pub parameters: ::std::option::Option<::aws_smithy_types::Document>,
26    /// <p>The static storage capacity (in gibibytes) for this run. This field is not required if the storage type is dynamic (the system ignores any value that you enter).</p>
27    pub storage_capacity: ::std::option::Option<i32>,
28    /// <p>An output URI for the run.</p>
29    pub output_uri: ::std::option::Option<::std::string::String>,
30    /// <p>A log level for the run.</p>
31    pub log_level: ::std::option::Option<crate::types::RunLogLevel>,
32    /// <p>Tags for the run.</p>
33    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
34    /// <p>To ensure that requests don't run multiple times, specify a unique ID for each request.</p>
35    pub request_id: ::std::option::Option<::std::string::String>,
36    /// <p>The retention mode for the run. The default value is RETAIN.</p>
37    /// <p>Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode (RETAIN), you need to remove runs manually when the number of run exceeds the maximum. If you set the retention mode to <code>REMOVE</code>, Amazon Web Services HealthOmics automatically removes runs (that have mode set to REMOVE) when the number of run exceeds the maximum. All run logs are available in CloudWatch logs, if you need information about a run that is no longer available to the API.</p>
38    /// <p>For more information about retention mode, see <a href="https://docs.aws.amazon.com/omics/latest/dev/starting-a-run.html">Specifying run retention mode</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
39    pub retention_mode: ::std::option::Option<crate::types::RunRetentionMode>,
40    /// <p>The storage type for the run. By default, the run uses STATIC storage type, which allocates a fixed amount of storage. If you set the storage type to DYNAMIC, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. For more information about static and dynamic storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/Using-workflows.html">Running workflows</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
41    pub storage_type: ::std::option::Option<crate::types::StorageType>,
42    /// <p>The ID of the workflow owner.</p>
43    pub workflow_owner_id: ::std::option::Option<::std::string::String>,
44    /// <p>The name of the workflow version.</p>
45    pub workflow_version_name: ::std::option::Option<::std::string::String>,
46}
47impl StartRunInput {
48    /// <p>The run's workflow ID.</p>
49    pub fn workflow_id(&self) -> ::std::option::Option<&str> {
50        self.workflow_id.as_deref()
51    }
52    /// <p>The run's workflow type.</p>
53    pub fn workflow_type(&self) -> ::std::option::Option<&crate::types::WorkflowType> {
54        self.workflow_type.as_ref()
55    }
56    /// <p>The ID of a run to duplicate.</p>
57    pub fn run_id(&self) -> ::std::option::Option<&str> {
58        self.run_id.as_deref()
59    }
60    /// <p>A service role for the run.</p>
61    pub fn role_arn(&self) -> ::std::option::Option<&str> {
62        self.role_arn.as_deref()
63    }
64    /// <p>A name for the run.</p>
65    pub fn name(&self) -> ::std::option::Option<&str> {
66        self.name.as_deref()
67    }
68    /// <p>Identifier of the cache associated with this run. If you don't specify a cache ID, no task outputs are cached for this run.</p>
69    pub fn cache_id(&self) -> ::std::option::Option<&str> {
70        self.cache_id.as_deref()
71    }
72    /// <p>The cache behavior for the run. You specify this value if you want to override the default behavior for the cache. You had set the default value when you created the cache. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/how-run-cache.html#run-cache-behavior">Run cache behavior</a> in the Amazon Web Services HealthOmics User Guide.</p>
73    pub fn cache_behavior(&self) -> ::std::option::Option<&crate::types::CacheBehavior> {
74        self.cache_behavior.as_ref()
75    }
76    /// <p>The run's group ID.</p>
77    pub fn run_group_id(&self) -> ::std::option::Option<&str> {
78        self.run_group_id.as_deref()
79    }
80    /// <p>A priority for the run.</p>
81    pub fn priority(&self) -> ::std::option::Option<i32> {
82        self.priority
83    }
84    /// <p>Parameters for the run.</p>
85    pub fn parameters(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
86        self.parameters.as_ref()
87    }
88    /// <p>The static storage capacity (in gibibytes) for this run. This field is not required if the storage type is dynamic (the system ignores any value that you enter).</p>
89    pub fn storage_capacity(&self) -> ::std::option::Option<i32> {
90        self.storage_capacity
91    }
92    /// <p>An output URI for the run.</p>
93    pub fn output_uri(&self) -> ::std::option::Option<&str> {
94        self.output_uri.as_deref()
95    }
96    /// <p>A log level for the run.</p>
97    pub fn log_level(&self) -> ::std::option::Option<&crate::types::RunLogLevel> {
98        self.log_level.as_ref()
99    }
100    /// <p>Tags for the run.</p>
101    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
102        self.tags.as_ref()
103    }
104    /// <p>To ensure that requests don't run multiple times, specify a unique ID for each request.</p>
105    pub fn request_id(&self) -> ::std::option::Option<&str> {
106        self.request_id.as_deref()
107    }
108    /// <p>The retention mode for the run. The default value is RETAIN.</p>
109    /// <p>Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode (RETAIN), you need to remove runs manually when the number of run exceeds the maximum. If you set the retention mode to <code>REMOVE</code>, Amazon Web Services HealthOmics automatically removes runs (that have mode set to REMOVE) when the number of run exceeds the maximum. All run logs are available in CloudWatch logs, if you need information about a run that is no longer available to the API.</p>
110    /// <p>For more information about retention mode, see <a href="https://docs.aws.amazon.com/omics/latest/dev/starting-a-run.html">Specifying run retention mode</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
111    pub fn retention_mode(&self) -> ::std::option::Option<&crate::types::RunRetentionMode> {
112        self.retention_mode.as_ref()
113    }
114    /// <p>The storage type for the run. By default, the run uses STATIC storage type, which allocates a fixed amount of storage. If you set the storage type to DYNAMIC, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. For more information about static and dynamic storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/Using-workflows.html">Running workflows</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
115    pub fn storage_type(&self) -> ::std::option::Option<&crate::types::StorageType> {
116        self.storage_type.as_ref()
117    }
118    /// <p>The ID of the workflow owner.</p>
119    pub fn workflow_owner_id(&self) -> ::std::option::Option<&str> {
120        self.workflow_owner_id.as_deref()
121    }
122    /// <p>The name of the workflow version.</p>
123    pub fn workflow_version_name(&self) -> ::std::option::Option<&str> {
124        self.workflow_version_name.as_deref()
125    }
126}
127impl StartRunInput {
128    /// Creates a new builder-style object to manufacture [`StartRunInput`](crate::operation::start_run::StartRunInput).
129    pub fn builder() -> crate::operation::start_run::builders::StartRunInputBuilder {
130        crate::operation::start_run::builders::StartRunInputBuilder::default()
131    }
132}
133
134/// A builder for [`StartRunInput`](crate::operation::start_run::StartRunInput).
135#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
136#[non_exhaustive]
137pub struct StartRunInputBuilder {
138    pub(crate) workflow_id: ::std::option::Option<::std::string::String>,
139    pub(crate) workflow_type: ::std::option::Option<crate::types::WorkflowType>,
140    pub(crate) run_id: ::std::option::Option<::std::string::String>,
141    pub(crate) role_arn: ::std::option::Option<::std::string::String>,
142    pub(crate) name: ::std::option::Option<::std::string::String>,
143    pub(crate) cache_id: ::std::option::Option<::std::string::String>,
144    pub(crate) cache_behavior: ::std::option::Option<crate::types::CacheBehavior>,
145    pub(crate) run_group_id: ::std::option::Option<::std::string::String>,
146    pub(crate) priority: ::std::option::Option<i32>,
147    pub(crate) parameters: ::std::option::Option<::aws_smithy_types::Document>,
148    pub(crate) storage_capacity: ::std::option::Option<i32>,
149    pub(crate) output_uri: ::std::option::Option<::std::string::String>,
150    pub(crate) log_level: ::std::option::Option<crate::types::RunLogLevel>,
151    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
152    pub(crate) request_id: ::std::option::Option<::std::string::String>,
153    pub(crate) retention_mode: ::std::option::Option<crate::types::RunRetentionMode>,
154    pub(crate) storage_type: ::std::option::Option<crate::types::StorageType>,
155    pub(crate) workflow_owner_id: ::std::option::Option<::std::string::String>,
156    pub(crate) workflow_version_name: ::std::option::Option<::std::string::String>,
157}
158impl StartRunInputBuilder {
159    /// <p>The run's workflow ID.</p>
160    pub fn workflow_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
161        self.workflow_id = ::std::option::Option::Some(input.into());
162        self
163    }
164    /// <p>The run's workflow ID.</p>
165    pub fn set_workflow_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
166        self.workflow_id = input;
167        self
168    }
169    /// <p>The run's workflow ID.</p>
170    pub fn get_workflow_id(&self) -> &::std::option::Option<::std::string::String> {
171        &self.workflow_id
172    }
173    /// <p>The run's workflow type.</p>
174    pub fn workflow_type(mut self, input: crate::types::WorkflowType) -> Self {
175        self.workflow_type = ::std::option::Option::Some(input);
176        self
177    }
178    /// <p>The run's workflow type.</p>
179    pub fn set_workflow_type(mut self, input: ::std::option::Option<crate::types::WorkflowType>) -> Self {
180        self.workflow_type = input;
181        self
182    }
183    /// <p>The run's workflow type.</p>
184    pub fn get_workflow_type(&self) -> &::std::option::Option<crate::types::WorkflowType> {
185        &self.workflow_type
186    }
187    /// <p>The ID of a run to duplicate.</p>
188    pub fn run_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
189        self.run_id = ::std::option::Option::Some(input.into());
190        self
191    }
192    /// <p>The ID of a run to duplicate.</p>
193    pub fn set_run_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
194        self.run_id = input;
195        self
196    }
197    /// <p>The ID of a run to duplicate.</p>
198    pub fn get_run_id(&self) -> &::std::option::Option<::std::string::String> {
199        &self.run_id
200    }
201    /// <p>A service role for the run.</p>
202    /// This field is required.
203    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
204        self.role_arn = ::std::option::Option::Some(input.into());
205        self
206    }
207    /// <p>A service role for the run.</p>
208    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
209        self.role_arn = input;
210        self
211    }
212    /// <p>A service role for the run.</p>
213    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
214        &self.role_arn
215    }
216    /// <p>A name for the run.</p>
217    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218        self.name = ::std::option::Option::Some(input.into());
219        self
220    }
221    /// <p>A name for the run.</p>
222    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
223        self.name = input;
224        self
225    }
226    /// <p>A name for the run.</p>
227    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
228        &self.name
229    }
230    /// <p>Identifier of the cache associated with this run. If you don't specify a cache ID, no task outputs are cached for this run.</p>
231    pub fn cache_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
232        self.cache_id = ::std::option::Option::Some(input.into());
233        self
234    }
235    /// <p>Identifier of the cache associated with this run. If you don't specify a cache ID, no task outputs are cached for this run.</p>
236    pub fn set_cache_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
237        self.cache_id = input;
238        self
239    }
240    /// <p>Identifier of the cache associated with this run. If you don't specify a cache ID, no task outputs are cached for this run.</p>
241    pub fn get_cache_id(&self) -> &::std::option::Option<::std::string::String> {
242        &self.cache_id
243    }
244    /// <p>The cache behavior for the run. You specify this value if you want to override the default behavior for the cache. You had set the default value when you created the cache. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/how-run-cache.html#run-cache-behavior">Run cache behavior</a> in the Amazon Web Services HealthOmics User Guide.</p>
245    pub fn cache_behavior(mut self, input: crate::types::CacheBehavior) -> Self {
246        self.cache_behavior = ::std::option::Option::Some(input);
247        self
248    }
249    /// <p>The cache behavior for the run. You specify this value if you want to override the default behavior for the cache. You had set the default value when you created the cache. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/how-run-cache.html#run-cache-behavior">Run cache behavior</a> in the Amazon Web Services HealthOmics User Guide.</p>
250    pub fn set_cache_behavior(mut self, input: ::std::option::Option<crate::types::CacheBehavior>) -> Self {
251        self.cache_behavior = input;
252        self
253    }
254    /// <p>The cache behavior for the run. You specify this value if you want to override the default behavior for the cache. You had set the default value when you created the cache. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/how-run-cache.html#run-cache-behavior">Run cache behavior</a> in the Amazon Web Services HealthOmics User Guide.</p>
255    pub fn get_cache_behavior(&self) -> &::std::option::Option<crate::types::CacheBehavior> {
256        &self.cache_behavior
257    }
258    /// <p>The run's group ID.</p>
259    pub fn run_group_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
260        self.run_group_id = ::std::option::Option::Some(input.into());
261        self
262    }
263    /// <p>The run's group ID.</p>
264    pub fn set_run_group_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
265        self.run_group_id = input;
266        self
267    }
268    /// <p>The run's group ID.</p>
269    pub fn get_run_group_id(&self) -> &::std::option::Option<::std::string::String> {
270        &self.run_group_id
271    }
272    /// <p>A priority for the run.</p>
273    pub fn priority(mut self, input: i32) -> Self {
274        self.priority = ::std::option::Option::Some(input);
275        self
276    }
277    /// <p>A priority for the run.</p>
278    pub fn set_priority(mut self, input: ::std::option::Option<i32>) -> Self {
279        self.priority = input;
280        self
281    }
282    /// <p>A priority for the run.</p>
283    pub fn get_priority(&self) -> &::std::option::Option<i32> {
284        &self.priority
285    }
286    /// <p>Parameters for the run.</p>
287    pub fn parameters(mut self, input: ::aws_smithy_types::Document) -> Self {
288        self.parameters = ::std::option::Option::Some(input);
289        self
290    }
291    /// <p>Parameters for the run.</p>
292    pub fn set_parameters(mut self, input: ::std::option::Option<::aws_smithy_types::Document>) -> Self {
293        self.parameters = input;
294        self
295    }
296    /// <p>Parameters for the run.</p>
297    pub fn get_parameters(&self) -> &::std::option::Option<::aws_smithy_types::Document> {
298        &self.parameters
299    }
300    /// <p>The static storage capacity (in gibibytes) for this run. This field is not required if the storage type is dynamic (the system ignores any value that you enter).</p>
301    pub fn storage_capacity(mut self, input: i32) -> Self {
302        self.storage_capacity = ::std::option::Option::Some(input);
303        self
304    }
305    /// <p>The static storage capacity (in gibibytes) for this run. This field is not required if the storage type is dynamic (the system ignores any value that you enter).</p>
306    pub fn set_storage_capacity(mut self, input: ::std::option::Option<i32>) -> Self {
307        self.storage_capacity = input;
308        self
309    }
310    /// <p>The static storage capacity (in gibibytes) for this run. This field is not required if the storage type is dynamic (the system ignores any value that you enter).</p>
311    pub fn get_storage_capacity(&self) -> &::std::option::Option<i32> {
312        &self.storage_capacity
313    }
314    /// <p>An output URI for the run.</p>
315    pub fn output_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
316        self.output_uri = ::std::option::Option::Some(input.into());
317        self
318    }
319    /// <p>An output URI for the run.</p>
320    pub fn set_output_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
321        self.output_uri = input;
322        self
323    }
324    /// <p>An output URI for the run.</p>
325    pub fn get_output_uri(&self) -> &::std::option::Option<::std::string::String> {
326        &self.output_uri
327    }
328    /// <p>A log level for the run.</p>
329    pub fn log_level(mut self, input: crate::types::RunLogLevel) -> Self {
330        self.log_level = ::std::option::Option::Some(input);
331        self
332    }
333    /// <p>A log level for the run.</p>
334    pub fn set_log_level(mut self, input: ::std::option::Option<crate::types::RunLogLevel>) -> Self {
335        self.log_level = input;
336        self
337    }
338    /// <p>A log level for the run.</p>
339    pub fn get_log_level(&self) -> &::std::option::Option<crate::types::RunLogLevel> {
340        &self.log_level
341    }
342    /// Adds a key-value pair to `tags`.
343    ///
344    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
345    ///
346    /// <p>Tags for the run.</p>
347    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
348        let mut hash_map = self.tags.unwrap_or_default();
349        hash_map.insert(k.into(), v.into());
350        self.tags = ::std::option::Option::Some(hash_map);
351        self
352    }
353    /// <p>Tags for the run.</p>
354    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
355        self.tags = input;
356        self
357    }
358    /// <p>Tags for the run.</p>
359    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
360        &self.tags
361    }
362    /// <p>To ensure that requests don't run multiple times, specify a unique ID for each request.</p>
363    /// This field is required.
364    pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
365        self.request_id = ::std::option::Option::Some(input.into());
366        self
367    }
368    /// <p>To ensure that requests don't run multiple times, specify a unique ID for each request.</p>
369    pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
370        self.request_id = input;
371        self
372    }
373    /// <p>To ensure that requests don't run multiple times, specify a unique ID for each request.</p>
374    pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
375        &self.request_id
376    }
377    /// <p>The retention mode for the run. The default value is RETAIN.</p>
378    /// <p>Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode (RETAIN), you need to remove runs manually when the number of run exceeds the maximum. If you set the retention mode to <code>REMOVE</code>, Amazon Web Services HealthOmics automatically removes runs (that have mode set to REMOVE) when the number of run exceeds the maximum. All run logs are available in CloudWatch logs, if you need information about a run that is no longer available to the API.</p>
379    /// <p>For more information about retention mode, see <a href="https://docs.aws.amazon.com/omics/latest/dev/starting-a-run.html">Specifying run retention mode</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
380    pub fn retention_mode(mut self, input: crate::types::RunRetentionMode) -> Self {
381        self.retention_mode = ::std::option::Option::Some(input);
382        self
383    }
384    /// <p>The retention mode for the run. The default value is RETAIN.</p>
385    /// <p>Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode (RETAIN), you need to remove runs manually when the number of run exceeds the maximum. If you set the retention mode to <code>REMOVE</code>, Amazon Web Services HealthOmics automatically removes runs (that have mode set to REMOVE) when the number of run exceeds the maximum. All run logs are available in CloudWatch logs, if you need information about a run that is no longer available to the API.</p>
386    /// <p>For more information about retention mode, see <a href="https://docs.aws.amazon.com/omics/latest/dev/starting-a-run.html">Specifying run retention mode</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
387    pub fn set_retention_mode(mut self, input: ::std::option::Option<crate::types::RunRetentionMode>) -> Self {
388        self.retention_mode = input;
389        self
390    }
391    /// <p>The retention mode for the run. The default value is RETAIN.</p>
392    /// <p>Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode (RETAIN), you need to remove runs manually when the number of run exceeds the maximum. If you set the retention mode to <code>REMOVE</code>, Amazon Web Services HealthOmics automatically removes runs (that have mode set to REMOVE) when the number of run exceeds the maximum. All run logs are available in CloudWatch logs, if you need information about a run that is no longer available to the API.</p>
393    /// <p>For more information about retention mode, see <a href="https://docs.aws.amazon.com/omics/latest/dev/starting-a-run.html">Specifying run retention mode</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
394    pub fn get_retention_mode(&self) -> &::std::option::Option<crate::types::RunRetentionMode> {
395        &self.retention_mode
396    }
397    /// <p>The storage type for the run. By default, the run uses STATIC storage type, which allocates a fixed amount of storage. If you set the storage type to DYNAMIC, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. For more information about static and dynamic storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/Using-workflows.html">Running workflows</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
398    pub fn storage_type(mut self, input: crate::types::StorageType) -> Self {
399        self.storage_type = ::std::option::Option::Some(input);
400        self
401    }
402    /// <p>The storage type for the run. By default, the run uses STATIC storage type, which allocates a fixed amount of storage. If you set the storage type to DYNAMIC, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. For more information about static and dynamic storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/Using-workflows.html">Running workflows</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
403    pub fn set_storage_type(mut self, input: ::std::option::Option<crate::types::StorageType>) -> Self {
404        self.storage_type = input;
405        self
406    }
407    /// <p>The storage type for the run. By default, the run uses STATIC storage type, which allocates a fixed amount of storage. If you set the storage type to DYNAMIC, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. For more information about static and dynamic storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/Using-workflows.html">Running workflows</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
408    pub fn get_storage_type(&self) -> &::std::option::Option<crate::types::StorageType> {
409        &self.storage_type
410    }
411    /// <p>The ID of the workflow owner.</p>
412    pub fn workflow_owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
413        self.workflow_owner_id = ::std::option::Option::Some(input.into());
414        self
415    }
416    /// <p>The ID of the workflow owner.</p>
417    pub fn set_workflow_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
418        self.workflow_owner_id = input;
419        self
420    }
421    /// <p>The ID of the workflow owner.</p>
422    pub fn get_workflow_owner_id(&self) -> &::std::option::Option<::std::string::String> {
423        &self.workflow_owner_id
424    }
425    /// <p>The name of the workflow version.</p>
426    pub fn workflow_version_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
427        self.workflow_version_name = ::std::option::Option::Some(input.into());
428        self
429    }
430    /// <p>The name of the workflow version.</p>
431    pub fn set_workflow_version_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
432        self.workflow_version_name = input;
433        self
434    }
435    /// <p>The name of the workflow version.</p>
436    pub fn get_workflow_version_name(&self) -> &::std::option::Option<::std::string::String> {
437        &self.workflow_version_name
438    }
439    /// Consumes the builder and constructs a [`StartRunInput`](crate::operation::start_run::StartRunInput).
440    pub fn build(self) -> ::std::result::Result<crate::operation::start_run::StartRunInput, ::aws_smithy_types::error::operation::BuildError> {
441        ::std::result::Result::Ok(crate::operation::start_run::StartRunInput {
442            workflow_id: self.workflow_id,
443            workflow_type: self.workflow_type,
444            run_id: self.run_id,
445            role_arn: self.role_arn,
446            name: self.name,
447            cache_id: self.cache_id,
448            cache_behavior: self.cache_behavior,
449            run_group_id: self.run_group_id,
450            priority: self.priority,
451            parameters: self.parameters,
452            storage_capacity: self.storage_capacity,
453            output_uri: self.output_uri,
454            log_level: self.log_level,
455            tags: self.tags,
456            request_id: self.request_id,
457            retention_mode: self.retention_mode,
458            storage_type: self.storage_type,
459            workflow_owner_id: self.workflow_owner_id,
460            workflow_version_name: self.workflow_version_name,
461        })
462    }
463}