aws_sdk_omics/operation/start_run/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::start_run::_start_run_output::StartRunOutputBuilder;
3
4pub use crate::operation::start_run::_start_run_input::StartRunInputBuilder;
5
6impl crate::operation::start_run::builders::StartRunInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::start_run::StartRunOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::start_run::StartRunError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.start_run();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `StartRun`.
24///
25/// <p>Starts a new run and returns details about the run, or duplicates an existing run. A run is a single invocation of a workflow. If you provide request IDs, Amazon Web Services HealthOmics identifies duplicate requests and starts the run only once. Monitor the progress of the run by calling the <code>GetRun</code> API operation.</p>
26/// <p>To start a new run, the following inputs are required:</p>
27/// <ul>
28/// <li>
29/// <p>A service role ARN (<code>roleArn</code>).</p></li>
30/// <li>
31/// <p>The run's workflow ID (<code>workflowId</code>, not the <code>uuid</code> or <code>runId</code>).</p></li>
32/// <li>
33/// <p>An Amazon S3 location (<code>outputUri</code>) where the run outputs will be saved.</p></li>
34/// <li>
35/// <p>All required workflow parameters (<code>parameter</code>), which can include optional parameters from the parameter template. The run cannot include any parameters that are not defined in the parameter template. To see all possible parameters, use the <code>GetRun</code> API operation.</p></li>
36/// <li>
37/// <p>For runs with a <code>STATIC</code> (default) storage type, specify the required storage capacity (in gibibytes). A storage capacity value is not required for runs that use <code>DYNAMIC</code> storage.</p></li>
38/// </ul>
39/// <p><code>StartRun</code> can also duplicate an existing run using the run's default values. You can modify these default values and/or add other optional inputs. To duplicate a run, the following inputs are required:</p>
40/// <ul>
41/// <li>
42/// <p>A service role ARN (<code>roleArn</code>).</p></li>
43/// <li>
44/// <p>The ID of the run to duplicate (<code>runId</code>).</p></li>
45/// <li>
46/// <p>An Amazon S3 location where the run outputs will be saved (<code>outputUri</code>).</p></li>
47/// </ul>
48/// <p>To learn more about the optional parameters for <code>StartRun</code>, see <a href="https://docs.aws.amazon.com/omics/latest/dev/starting-a-run.html">Starting a run</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
49/// <p>Use the <code>retentionMode</code> input to control how long the metadata for each run is stored in CloudWatch. There are two retention modes:</p>
50/// <ul>
51/// <li>
52/// <p>Specify <code>REMOVE</code> to automatically remove the oldest runs when you reach the maximum service retention limit for runs. It is recommended that you use the <code>REMOVE</code> mode to initiate major run requests so that your runs do not fail when you reach the limit.</p></li>
53/// <li>
54/// <p>The <code>retentionMode</code> is set to the <code>RETAIN</code> mode by default, which allows you to manually remove runs after reaching the maximum service retention limit. Under this setting, you cannot create additional runs until you remove the excess runs.</p></li>
55/// </ul>
56/// <p>To learn more about the retention modes, see <a href="https://docs.aws.amazon.com/omics/latest/dev/run-retention.html">Run retention mode</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
57#[derive(::std::clone::Clone, ::std::fmt::Debug)]
58pub struct StartRunFluentBuilder {
59    handle: ::std::sync::Arc<crate::client::Handle>,
60    inner: crate::operation::start_run::builders::StartRunInputBuilder,
61    config_override: ::std::option::Option<crate::config::Builder>,
62}
63impl crate::client::customize::internal::CustomizableSend<crate::operation::start_run::StartRunOutput, crate::operation::start_run::StartRunError>
64    for StartRunFluentBuilder
65{
66    fn send(
67        self,
68        config_override: crate::config::Builder,
69    ) -> crate::client::customize::internal::BoxFuture<
70        crate::client::customize::internal::SendResult<crate::operation::start_run::StartRunOutput, crate::operation::start_run::StartRunError>,
71    > {
72        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
73    }
74}
75impl StartRunFluentBuilder {
76    /// Creates a new `StartRunFluentBuilder`.
77    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
78        Self {
79            handle,
80            inner: ::std::default::Default::default(),
81            config_override: ::std::option::Option::None,
82        }
83    }
84    /// Access the StartRun as a reference.
85    pub fn as_input(&self) -> &crate::operation::start_run::builders::StartRunInputBuilder {
86        &self.inner
87    }
88    /// Sends the request and returns the response.
89    ///
90    /// If an error occurs, an `SdkError` will be returned with additional details that
91    /// can be matched against.
92    ///
93    /// By default, any retryable failures will be retried twice. Retry behavior
94    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
95    /// set when configuring the client.
96    pub async fn send(
97        self,
98    ) -> ::std::result::Result<
99        crate::operation::start_run::StartRunOutput,
100        ::aws_smithy_runtime_api::client::result::SdkError<
101            crate::operation::start_run::StartRunError,
102            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
103        >,
104    > {
105        let input = self
106            .inner
107            .build()
108            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
109        let runtime_plugins = crate::operation::start_run::StartRun::operation_runtime_plugins(
110            self.handle.runtime_plugins.clone(),
111            &self.handle.conf,
112            self.config_override,
113        );
114        crate::operation::start_run::StartRun::orchestrate(&runtime_plugins, input).await
115    }
116
117    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
118    pub fn customize(
119        self,
120    ) -> crate::client::customize::CustomizableOperation<crate::operation::start_run::StartRunOutput, crate::operation::start_run::StartRunError, Self>
121    {
122        crate::client::customize::CustomizableOperation::new(self)
123    }
124    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
125        self.set_config_override(::std::option::Option::Some(config_override.into()));
126        self
127    }
128
129    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
130        self.config_override = config_override;
131        self
132    }
133    /// <p>The run's workflow ID. The <code>workflowId</code> is not the UUID.</p>
134    pub fn workflow_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
135        self.inner = self.inner.workflow_id(input.into());
136        self
137    }
138    /// <p>The run's workflow ID. The <code>workflowId</code> is not the UUID.</p>
139    pub fn set_workflow_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
140        self.inner = self.inner.set_workflow_id(input);
141        self
142    }
143    /// <p>The run's workflow ID. The <code>workflowId</code> is not the UUID.</p>
144    pub fn get_workflow_id(&self) -> &::std::option::Option<::std::string::String> {
145        self.inner.get_workflow_id()
146    }
147    /// <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>
148    pub fn workflow_type(mut self, input: crate::types::WorkflowType) -> Self {
149        self.inner = self.inner.workflow_type(input);
150        self
151    }
152    /// <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>
153    pub fn set_workflow_type(mut self, input: ::std::option::Option<crate::types::WorkflowType>) -> Self {
154        self.inner = self.inner.set_workflow_type(input);
155        self
156    }
157    /// <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>
158    pub fn get_workflow_type(&self) -> &::std::option::Option<crate::types::WorkflowType> {
159        self.inner.get_workflow_type()
160    }
161    /// <p>The ID of a run to duplicate.</p>
162    pub fn run_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
163        self.inner = self.inner.run_id(input.into());
164        self
165    }
166    /// <p>The ID of a run to duplicate.</p>
167    pub fn set_run_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
168        self.inner = self.inner.set_run_id(input);
169        self
170    }
171    /// <p>The ID of a run to duplicate.</p>
172    pub fn get_run_id(&self) -> &::std::option::Option<::std::string::String> {
173        self.inner.get_run_id()
174    }
175    /// <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>
176    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
177        self.inner = self.inner.role_arn(input.into());
178        self
179    }
180    /// <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>
181    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
182        self.inner = self.inner.set_role_arn(input);
183        self
184    }
185    /// <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>
186    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
187        self.inner.get_role_arn()
188    }
189    /// <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>
190    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
191        self.inner = self.inner.name(input.into());
192        self
193    }
194    /// <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>
195    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
196        self.inner = self.inner.set_name(input);
197        self
198    }
199    /// <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>
200    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
201        self.inner.get_name()
202    }
203    /// <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>
204    pub fn cache_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
205        self.inner = self.inner.cache_id(input.into());
206        self
207    }
208    /// <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>
209    pub fn set_cache_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
210        self.inner = self.inner.set_cache_id(input);
211        self
212    }
213    /// <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>
214    pub fn get_cache_id(&self) -> &::std::option::Option<::std::string::String> {
215        self.inner.get_cache_id()
216    }
217    /// <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>
218    pub fn cache_behavior(mut self, input: crate::types::CacheBehavior) -> Self {
219        self.inner = self.inner.cache_behavior(input);
220        self
221    }
222    /// <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>
223    pub fn set_cache_behavior(mut self, input: ::std::option::Option<crate::types::CacheBehavior>) -> Self {
224        self.inner = self.inner.set_cache_behavior(input);
225        self
226    }
227    /// <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>
228    pub fn get_cache_behavior(&self) -> &::std::option::Option<crate::types::CacheBehavior> {
229        self.inner.get_cache_behavior()
230    }
231    /// <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>
232    pub fn run_group_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
233        self.inner = self.inner.run_group_id(input.into());
234        self
235    }
236    /// <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>
237    pub fn set_run_group_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
238        self.inner = self.inner.set_run_group_id(input);
239        self
240    }
241    /// <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>
242    pub fn get_run_group_id(&self) -> &::std::option::Option<::std::string::String> {
243        self.inner.get_run_group_id()
244    }
245    /// <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>
246    pub fn priority(mut self, input: i32) -> Self {
247        self.inner = self.inner.priority(input);
248        self
249    }
250    /// <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>
251    pub fn set_priority(mut self, input: ::std::option::Option<i32>) -> Self {
252        self.inner = self.inner.set_priority(input);
253        self
254    }
255    /// <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>
256    pub fn get_priority(&self) -> &::std::option::Option<i32> {
257        self.inner.get_priority()
258    }
259    /// <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>
260    pub fn parameters(mut self, input: ::aws_smithy_types::Document) -> Self {
261        self.inner = self.inner.parameters(input);
262        self
263    }
264    /// <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>
265    pub fn set_parameters(mut self, input: ::std::option::Option<::aws_smithy_types::Document>) -> Self {
266        self.inner = self.inner.set_parameters(input);
267        self
268    }
269    /// <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>
270    pub fn get_parameters(&self) -> &::std::option::Option<::aws_smithy_types::Document> {
271        self.inner.get_parameters()
272    }
273    /// <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>
274    pub fn storage_capacity(mut self, input: i32) -> Self {
275        self.inner = self.inner.storage_capacity(input);
276        self
277    }
278    /// <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>
279    pub fn set_storage_capacity(mut self, input: ::std::option::Option<i32>) -> Self {
280        self.inner = self.inner.set_storage_capacity(input);
281        self
282    }
283    /// <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>
284    pub fn get_storage_capacity(&self) -> &::std::option::Option<i32> {
285        self.inner.get_storage_capacity()
286    }
287    /// <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>
288    pub fn output_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
289        self.inner = self.inner.output_uri(input.into());
290        self
291    }
292    /// <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>
293    pub fn set_output_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
294        self.inner = self.inner.set_output_uri(input);
295        self
296    }
297    /// <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>
298    pub fn get_output_uri(&self) -> &::std::option::Option<::std::string::String> {
299        self.inner.get_output_uri()
300    }
301    /// <p>A log level for the run.</p>
302    pub fn log_level(mut self, input: crate::types::RunLogLevel) -> Self {
303        self.inner = self.inner.log_level(input);
304        self
305    }
306    /// <p>A log level for the run.</p>
307    pub fn set_log_level(mut self, input: ::std::option::Option<crate::types::RunLogLevel>) -> Self {
308        self.inner = self.inner.set_log_level(input);
309        self
310    }
311    /// <p>A log level for the run.</p>
312    pub fn get_log_level(&self) -> &::std::option::Option<crate::types::RunLogLevel> {
313        self.inner.get_log_level()
314    }
315    ///
316    /// Adds a key-value pair to `tags`.
317    ///
318    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
319    ///
320    /// <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>
321    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
322        self.inner = self.inner.tags(k.into(), v.into());
323        self
324    }
325    /// <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>
326    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
327        self.inner = self.inner.set_tags(input);
328        self
329    }
330    /// <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>
331    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
332        self.inner.get_tags()
333    }
334    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
335    pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
336        self.inner = self.inner.request_id(input.into());
337        self
338    }
339    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
340    pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
341        self.inner = self.inner.set_request_id(input);
342        self
343    }
344    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
345    pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
346        self.inner.get_request_id()
347    }
348    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
349    /// <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>
350    /// <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>
351    pub fn retention_mode(mut self, input: crate::types::RunRetentionMode) -> Self {
352        self.inner = self.inner.retention_mode(input);
353        self
354    }
355    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
356    /// <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>
357    /// <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>
358    pub fn set_retention_mode(mut self, input: ::std::option::Option<crate::types::RunRetentionMode>) -> Self {
359        self.inner = self.inner.set_retention_mode(input);
360        self
361    }
362    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
363    /// <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>
364    /// <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>
365    pub fn get_retention_mode(&self) -> &::std::option::Option<crate::types::RunRetentionMode> {
366        self.inner.get_retention_mode()
367    }
368    /// <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>
369    pub fn storage_type(mut self, input: crate::types::StorageType) -> Self {
370        self.inner = self.inner.storage_type(input);
371        self
372    }
373    /// <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>
374    pub fn set_storage_type(mut self, input: ::std::option::Option<crate::types::StorageType>) -> Self {
375        self.inner = self.inner.set_storage_type(input);
376        self
377    }
378    /// <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>
379    pub fn get_storage_type(&self) -> &::std::option::Option<crate::types::StorageType> {
380        self.inner.get_storage_type()
381    }
382    /// <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>
383    pub fn workflow_owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
384        self.inner = self.inner.workflow_owner_id(input.into());
385        self
386    }
387    /// <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>
388    pub fn set_workflow_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
389        self.inner = self.inner.set_workflow_owner_id(input);
390        self
391    }
392    /// <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>
393    pub fn get_workflow_owner_id(&self) -> &::std::option::Option<::std::string::String> {
394        self.inner.get_workflow_owner_id()
395    }
396    /// <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>
397    pub fn workflow_version_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
398        self.inner = self.inner.workflow_version_name(input.into());
399        self
400    }
401    /// <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>
402    pub fn set_workflow_version_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
403        self.inner = self.inner.set_workflow_version_name(input);
404        self
405    }
406    /// <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>
407    pub fn get_workflow_version_name(&self) -> &::std::option::Option<::std::string::String> {
408        self.inner.get_workflow_version_name()
409    }
410}