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. The <code>workflowId</code> is not the UUID.</p>
7    pub workflow_id: ::std::option::Option<::std::string::String>,
8    /// <p>The run's workflow type. The <code>workflowType</code> must be specified if you are running a <code>READY2RUN</code> workflow. If you are running a <code>PRIVATE</code> workflow (default), you do not need to include the 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. The <code>roleArn</code> requires access to Amazon Web Services HealthOmics, S3, Cloudwatch logs, and EC2. An example <code>roleArn</code> is <code>arn:aws:iam::123456789012:role/omics-service-role-serviceRole-W8O1XMPL7QZ</code>. In this example, the AWS account ID is <code>123456789012</code> and the role name is <code>omics-service-role-serviceRole-W8O1XMPL7QZ</code>.</p>
13    pub role_arn: ::std::option::Option<::std::string::String>,
14    /// <p>A name for the run. This is recommended to view and organize runs in the Amazon Web Services HealthOmics console and CloudWatch logs.</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 <i>Amazon Web Services HealthOmics User Guide</i>.</p>
19    pub cache_behavior: ::std::option::Option<crate::types::CacheBehavior>,
20    /// <p>The run's group ID. Use a run group to cap the compute resources (and number of concurrent runs) for the runs that you add to the run group.</p>
21    pub run_group_id: ::std::option::Option<::std::string::String>,
22    /// <p>Use the run priority (highest: 1) to establish the order of runs in a run group when you start a run. If multiple runs share the same priority, the run that was initiated first will have the higher priority. Runs that do not belong to a run group can be assigned a priority. The priorities of these runs are ranked among other runs that are not in a run group. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/creating-run-groups.html#run-priority">Run priority</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
23    pub priority: ::std::option::Option<i32>,
24    /// <p>Parameters for the run. The run needs all required parameters and can include optional parameters. The run cannot include any parameters that are not defined in the parameter template. To retrieve parameters from the run, use the GetRun API operation.</p>
25    pub parameters: ::std::option::Option<::aws_smithy_types::Document>,
26    /// <p>The <code>STATIC</code> storage capacity (in gibibytes, GiB) for this run. The default run storage capacity is 1200 GiB. If your requested storage capacity is unavailable, the system rounds up the value to the nearest 1200 GiB multiple. If the requested storage capacity is still unavailable, the system rounds up the value to the nearest 2400 GiB multiple. This field is not required if the storage type is <code>DYNAMIC</code> (the system ignores any value that you enter).</p>
27    pub storage_capacity: ::std::option::Option<i32>,
28    /// <p>An output S3 URI for the run. The S3 bucket must be in the same region as the workflow. The role ARN must have permission to write to this S3 bucket.</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. You can add up to 50 tags per run. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/add-a-tag.html">Adding a tag</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
33    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
34    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
35    pub request_id: ::std::option::Option<::std::string::String>,
36    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</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 (<code>RETAIN</code>), 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 <code>REMOVE</code>) 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. If you set the storage type to <code>DYNAMIC</code>, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. By default, the run uses <code>STATIC</code> storage type, which allocates a fixed amount of storage. For more information about <code>DYNAMIC</code> and <code>STATIC</code> storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflows-run-types.html">Run storage types</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 12-digit account ID of the workflow owner that is used for running a shared workflow. The workflow owner ID can be retrieved using the <code>GetShare</code> API operation. If you are the workflow owner, you do not need to include this ID.</p>
43    pub workflow_owner_id: ::std::option::Option<::std::string::String>,
44    /// <p>The name of the workflow version. Use workflow versions to track and organize changes to the workflow. If your workflow has multiple versions, the run uses the default version unless you specify a version name. To learn more, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-versions.html">Workflow versioning</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
45    pub workflow_version_name: ::std::option::Option<::std::string::String>,
46}
47impl StartRunInput {
48    /// <p>The run's workflow ID. The <code>workflowId</code> is not the UUID.</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. The <code>workflowType</code> must be specified if you are running a <code>READY2RUN</code> workflow. If you are running a <code>PRIVATE</code> workflow (default), you do not need to include the 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. The <code>roleArn</code> requires access to Amazon Web Services HealthOmics, S3, Cloudwatch logs, and EC2. An example <code>roleArn</code> is <code>arn:aws:iam::123456789012:role/omics-service-role-serviceRole-W8O1XMPL7QZ</code>. In this example, the AWS account ID is <code>123456789012</code> and the role name is <code>omics-service-role-serviceRole-W8O1XMPL7QZ</code>.</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. This is recommended to view and organize runs in the Amazon Web Services HealthOmics console and CloudWatch logs.</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 <i>Amazon Web Services HealthOmics User Guide</i>.</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. Use a run group to cap the compute resources (and number of concurrent runs) for the runs that you add to the run group.</p>
77    pub fn run_group_id(&self) -> ::std::option::Option<&str> {
78        self.run_group_id.as_deref()
79    }
80    /// <p>Use the run priority (highest: 1) to establish the order of runs in a run group when you start a run. If multiple runs share the same priority, the run that was initiated first will have the higher priority. Runs that do not belong to a run group can be assigned a priority. The priorities of these runs are ranked among other runs that are not in a run group. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/creating-run-groups.html#run-priority">Run priority</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
81    pub fn priority(&self) -> ::std::option::Option<i32> {
82        self.priority
83    }
84    /// <p>Parameters for the run. The run needs all required parameters and can include optional parameters. The run cannot include any parameters that are not defined in the parameter template. To retrieve parameters from the run, use the GetRun API operation.</p>
85    pub fn parameters(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
86        self.parameters.as_ref()
87    }
88    /// <p>The <code>STATIC</code> storage capacity (in gibibytes, GiB) for this run. The default run storage capacity is 1200 GiB. If your requested storage capacity is unavailable, the system rounds up the value to the nearest 1200 GiB multiple. If the requested storage capacity is still unavailable, the system rounds up the value to the nearest 2400 GiB multiple. This field is not required if the storage type is <code>DYNAMIC</code> (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 S3 URI for the run. The S3 bucket must be in the same region as the workflow. The role ARN must have permission to write to this S3 bucket.</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. You can add up to 50 tags per run. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/add-a-tag.html">Adding a tag</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</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>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</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 <code>RETAIN</code>.</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 (<code>RETAIN</code>), 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 <code>REMOVE</code>) 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. If you set the storage type to <code>DYNAMIC</code>, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. By default, the run uses <code>STATIC</code> storage type, which allocates a fixed amount of storage. For more information about <code>DYNAMIC</code> and <code>STATIC</code> storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflows-run-types.html">Run storage types</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 12-digit account ID of the workflow owner that is used for running a shared workflow. The workflow owner ID can be retrieved using the <code>GetShare</code> API operation. If you are the workflow owner, you do not need to include this ID.</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. Use workflow versions to track and organize changes to the workflow. If your workflow has multiple versions, the run uses the default version unless you specify a version name. To learn more, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-versions.html">Workflow versioning</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</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. The <code>workflowId</code> is not the UUID.</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. The <code>workflowId</code> is not the UUID.</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. The <code>workflowId</code> is not the UUID.</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. The <code>workflowType</code> must be specified if you are running a <code>READY2RUN</code> workflow. If you are running a <code>PRIVATE</code> workflow (default), you do not need to include the 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. The <code>workflowType</code> must be specified if you are running a <code>READY2RUN</code> workflow. If you are running a <code>PRIVATE</code> workflow (default), you do not need to include the 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. The <code>workflowType</code> must be specified if you are running a <code>READY2RUN</code> workflow. If you are running a <code>PRIVATE</code> workflow (default), you do not need to include the 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. The <code>roleArn</code> requires access to Amazon Web Services HealthOmics, S3, Cloudwatch logs, and EC2. An example <code>roleArn</code> is <code>arn:aws:iam::123456789012:role/omics-service-role-serviceRole-W8O1XMPL7QZ</code>. In this example, the AWS account ID is <code>123456789012</code> and the role name is <code>omics-service-role-serviceRole-W8O1XMPL7QZ</code>.</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. The <code>roleArn</code> requires access to Amazon Web Services HealthOmics, S3, Cloudwatch logs, and EC2. An example <code>roleArn</code> is <code>arn:aws:iam::123456789012:role/omics-service-role-serviceRole-W8O1XMPL7QZ</code>. In this example, the AWS account ID is <code>123456789012</code> and the role name is <code>omics-service-role-serviceRole-W8O1XMPL7QZ</code>.</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. The <code>roleArn</code> requires access to Amazon Web Services HealthOmics, S3, Cloudwatch logs, and EC2. An example <code>roleArn</code> is <code>arn:aws:iam::123456789012:role/omics-service-role-serviceRole-W8O1XMPL7QZ</code>. In this example, the AWS account ID is <code>123456789012</code> and the role name is <code>omics-service-role-serviceRole-W8O1XMPL7QZ</code>.</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. This is recommended to view and organize runs in the Amazon Web Services HealthOmics console and CloudWatch logs.</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. This is recommended to view and organize runs in the Amazon Web Services HealthOmics console and CloudWatch logs.</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. This is recommended to view and organize runs in the Amazon Web Services HealthOmics console and CloudWatch logs.</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 <i>Amazon Web Services HealthOmics User Guide</i>.</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 <i>Amazon Web Services HealthOmics User Guide</i>.</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 <i>Amazon Web Services HealthOmics User Guide</i>.</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. Use a run group to cap the compute resources (and number of concurrent runs) for the runs that you add to the run group.</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. Use a run group to cap the compute resources (and number of concurrent runs) for the runs that you add to the run group.</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. Use a run group to cap the compute resources (and number of concurrent runs) for the runs that you add to the run group.</p>
269    pub fn get_run_group_id(&self) -> &::std::option::Option<::std::string::String> {
270        &self.run_group_id
271    }
272    /// <p>Use the run priority (highest: 1) to establish the order of runs in a run group when you start a run. If multiple runs share the same priority, the run that was initiated first will have the higher priority. Runs that do not belong to a run group can be assigned a priority. The priorities of these runs are ranked among other runs that are not in a run group. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/creating-run-groups.html#run-priority">Run priority</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
273    pub fn priority(mut self, input: i32) -> Self {
274        self.priority = ::std::option::Option::Some(input);
275        self
276    }
277    /// <p>Use the run priority (highest: 1) to establish the order of runs in a run group when you start a run. If multiple runs share the same priority, the run that was initiated first will have the higher priority. Runs that do not belong to a run group can be assigned a priority. The priorities of these runs are ranked among other runs that are not in a run group. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/creating-run-groups.html#run-priority">Run priority</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
278    pub fn set_priority(mut self, input: ::std::option::Option<i32>) -> Self {
279        self.priority = input;
280        self
281    }
282    /// <p>Use the run priority (highest: 1) to establish the order of runs in a run group when you start a run. If multiple runs share the same priority, the run that was initiated first will have the higher priority. Runs that do not belong to a run group can be assigned a priority. The priorities of these runs are ranked among other runs that are not in a run group. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/creating-run-groups.html#run-priority">Run priority</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
283    pub fn get_priority(&self) -> &::std::option::Option<i32> {
284        &self.priority
285    }
286    /// <p>Parameters for the run. The run needs all required parameters and can include optional parameters. The run cannot include any parameters that are not defined in the parameter template. To retrieve parameters from the run, use the GetRun API operation.</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. The run needs all required parameters and can include optional parameters. The run cannot include any parameters that are not defined in the parameter template. To retrieve parameters from the run, use the GetRun API operation.</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. The run needs all required parameters and can include optional parameters. The run cannot include any parameters that are not defined in the parameter template. To retrieve parameters from the run, use the GetRun API operation.</p>
297    pub fn get_parameters(&self) -> &::std::option::Option<::aws_smithy_types::Document> {
298        &self.parameters
299    }
300    /// <p>The <code>STATIC</code> storage capacity (in gibibytes, GiB) for this run. The default run storage capacity is 1200 GiB. If your requested storage capacity is unavailable, the system rounds up the value to the nearest 1200 GiB multiple. If the requested storage capacity is still unavailable, the system rounds up the value to the nearest 2400 GiB multiple. This field is not required if the storage type is <code>DYNAMIC</code> (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 <code>STATIC</code> storage capacity (in gibibytes, GiB) for this run. The default run storage capacity is 1200 GiB. If your requested storage capacity is unavailable, the system rounds up the value to the nearest 1200 GiB multiple. If the requested storage capacity is still unavailable, the system rounds up the value to the nearest 2400 GiB multiple. This field is not required if the storage type is <code>DYNAMIC</code> (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 <code>STATIC</code> storage capacity (in gibibytes, GiB) for this run. The default run storage capacity is 1200 GiB. If your requested storage capacity is unavailable, the system rounds up the value to the nearest 1200 GiB multiple. If the requested storage capacity is still unavailable, the system rounds up the value to the nearest 2400 GiB multiple. This field is not required if the storage type is <code>DYNAMIC</code> (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 S3 URI for the run. The S3 bucket must be in the same region as the workflow. The role ARN must have permission to write to this S3 bucket.</p>
315    /// This field is required.
316    pub fn output_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
317        self.output_uri = ::std::option::Option::Some(input.into());
318        self
319    }
320    /// <p>An output S3 URI for the run. The S3 bucket must be in the same region as the workflow. The role ARN must have permission to write to this S3 bucket.</p>
321    pub fn set_output_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
322        self.output_uri = input;
323        self
324    }
325    /// <p>An output S3 URI for the run. The S3 bucket must be in the same region as the workflow. The role ARN must have permission to write to this S3 bucket.</p>
326    pub fn get_output_uri(&self) -> &::std::option::Option<::std::string::String> {
327        &self.output_uri
328    }
329    /// <p>A log level for the run.</p>
330    pub fn log_level(mut self, input: crate::types::RunLogLevel) -> Self {
331        self.log_level = ::std::option::Option::Some(input);
332        self
333    }
334    /// <p>A log level for the run.</p>
335    pub fn set_log_level(mut self, input: ::std::option::Option<crate::types::RunLogLevel>) -> Self {
336        self.log_level = input;
337        self
338    }
339    /// <p>A log level for the run.</p>
340    pub fn get_log_level(&self) -> &::std::option::Option<crate::types::RunLogLevel> {
341        &self.log_level
342    }
343    /// Adds a key-value pair to `tags`.
344    ///
345    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
346    ///
347    /// <p>Tags for the run. You can add up to 50 tags per run. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/add-a-tag.html">Adding a tag</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
348    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
349        let mut hash_map = self.tags.unwrap_or_default();
350        hash_map.insert(k.into(), v.into());
351        self.tags = ::std::option::Option::Some(hash_map);
352        self
353    }
354    /// <p>Tags for the run. You can add up to 50 tags per run. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/add-a-tag.html">Adding a tag</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
355    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
356        self.tags = input;
357        self
358    }
359    /// <p>Tags for the run. You can add up to 50 tags per run. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/add-a-tag.html">Adding a tag</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
360    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
361        &self.tags
362    }
363    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
364    /// This field is required.
365    pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
366        self.request_id = ::std::option::Option::Some(input.into());
367        self
368    }
369    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
370    pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
371        self.request_id = input;
372        self
373    }
374    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
375    pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
376        &self.request_id
377    }
378    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
379    /// <p>Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode (<code>RETAIN</code>), 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 <code>REMOVE</code>) 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>
380    /// <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>
381    pub fn retention_mode(mut self, input: crate::types::RunRetentionMode) -> Self {
382        self.retention_mode = ::std::option::Option::Some(input);
383        self
384    }
385    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
386    /// <p>Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode (<code>RETAIN</code>), 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 <code>REMOVE</code>) 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>
387    /// <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>
388    pub fn set_retention_mode(mut self, input: ::std::option::Option<crate::types::RunRetentionMode>) -> Self {
389        self.retention_mode = input;
390        self
391    }
392    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
393    /// <p>Amazon Web Services HealthOmics stores a fixed number of runs that are available to the console and API. In the default mode (<code>RETAIN</code>), 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 <code>REMOVE</code>) 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>
394    /// <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>
395    pub fn get_retention_mode(&self) -> &::std::option::Option<crate::types::RunRetentionMode> {
396        &self.retention_mode
397    }
398    /// <p>The storage type for the run. If you set the storage type to <code>DYNAMIC</code>, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. By default, the run uses <code>STATIC</code> storage type, which allocates a fixed amount of storage. For more information about <code>DYNAMIC</code> and <code>STATIC</code> storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflows-run-types.html">Run storage types</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
399    pub fn storage_type(mut self, input: crate::types::StorageType) -> Self {
400        self.storage_type = ::std::option::Option::Some(input);
401        self
402    }
403    /// <p>The storage type for the run. If you set the storage type to <code>DYNAMIC</code>, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. By default, the run uses <code>STATIC</code> storage type, which allocates a fixed amount of storage. For more information about <code>DYNAMIC</code> and <code>STATIC</code> storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflows-run-types.html">Run storage types</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
404    pub fn set_storage_type(mut self, input: ::std::option::Option<crate::types::StorageType>) -> Self {
405        self.storage_type = input;
406        self
407    }
408    /// <p>The storage type for the run. If you set the storage type to <code>DYNAMIC</code>, Amazon Web Services HealthOmics dynamically scales the storage up or down, based on file system utilization. By default, the run uses <code>STATIC</code> storage type, which allocates a fixed amount of storage. For more information about <code>DYNAMIC</code> and <code>STATIC</code> storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflows-run-types.html">Run storage types</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
409    pub fn get_storage_type(&self) -> &::std::option::Option<crate::types::StorageType> {
410        &self.storage_type
411    }
412    /// <p>The 12-digit account ID of the workflow owner that is used for running a shared workflow. The workflow owner ID can be retrieved using the <code>GetShare</code> API operation. If you are the workflow owner, you do not need to include this ID.</p>
413    pub fn workflow_owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
414        self.workflow_owner_id = ::std::option::Option::Some(input.into());
415        self
416    }
417    /// <p>The 12-digit account ID of the workflow owner that is used for running a shared workflow. The workflow owner ID can be retrieved using the <code>GetShare</code> API operation. If you are the workflow owner, you do not need to include this ID.</p>
418    pub fn set_workflow_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
419        self.workflow_owner_id = input;
420        self
421    }
422    /// <p>The 12-digit account ID of the workflow owner that is used for running a shared workflow. The workflow owner ID can be retrieved using the <code>GetShare</code> API operation. If you are the workflow owner, you do not need to include this ID.</p>
423    pub fn get_workflow_owner_id(&self) -> &::std::option::Option<::std::string::String> {
424        &self.workflow_owner_id
425    }
426    /// <p>The name of the workflow version. Use workflow versions to track and organize changes to the workflow. If your workflow has multiple versions, the run uses the default version unless you specify a version name. To learn more, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-versions.html">Workflow versioning</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
427    pub fn workflow_version_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
428        self.workflow_version_name = ::std::option::Option::Some(input.into());
429        self
430    }
431    /// <p>The name of the workflow version. Use workflow versions to track and organize changes to the workflow. If your workflow has multiple versions, the run uses the default version unless you specify a version name. To learn more, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-versions.html">Workflow versioning</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
432    pub fn set_workflow_version_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
433        self.workflow_version_name = input;
434        self
435    }
436    /// <p>The name of the workflow version. Use workflow versions to track and organize changes to the workflow. If your workflow has multiple versions, the run uses the default version unless you specify a version name. To learn more, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-versions.html">Workflow versioning</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
437    pub fn get_workflow_version_name(&self) -> &::std::option::Option<::std::string::String> {
438        &self.workflow_version_name
439    }
440    /// Consumes the builder and constructs a [`StartRunInput`](crate::operation::start_run::StartRunInput).
441    pub fn build(self) -> ::std::result::Result<crate::operation::start_run::StartRunInput, ::aws_smithy_types::error::operation::BuildError> {
442        ::std::result::Result::Ok(crate::operation::start_run::StartRunInput {
443            workflow_id: self.workflow_id,
444            workflow_type: self.workflow_type,
445            run_id: self.run_id,
446            role_arn: self.role_arn,
447            name: self.name,
448            cache_id: self.cache_id,
449            cache_behavior: self.cache_behavior,
450            run_group_id: self.run_group_id,
451            priority: self.priority,
452            parameters: self.parameters,
453            storage_capacity: self.storage_capacity,
454            output_uri: self.output_uri,
455            log_level: self.log_level,
456            tags: self.tags,
457            request_id: self.request_id,
458            retention_mode: self.retention_mode,
459            storage_type: self.storage_type,
460            workflow_owner_id: self.workflow_owner_id,
461            workflow_version_name: self.workflow_version_name,
462        })
463    }
464}