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/// <p>You can use Amazon Q CLI to analyze run logs and make performance optimization recommendations. To get started, see the <a href="https://github.com/awslabs/mcp/tree/main/src/aws-healthomics-mcp-server">Amazon Web Services HealthOmics MCP server</a> on GitHub.</p>
58#[derive(::std::clone::Clone, ::std::fmt::Debug)]
59pub struct StartRunFluentBuilder {
60    handle: ::std::sync::Arc<crate::client::Handle>,
61    inner: crate::operation::start_run::builders::StartRunInputBuilder,
62    config_override: ::std::option::Option<crate::config::Builder>,
63}
64impl crate::client::customize::internal::CustomizableSend<crate::operation::start_run::StartRunOutput, crate::operation::start_run::StartRunError>
65    for StartRunFluentBuilder
66{
67    fn send(
68        self,
69        config_override: crate::config::Builder,
70    ) -> crate::client::customize::internal::BoxFuture<
71        crate::client::customize::internal::SendResult<crate::operation::start_run::StartRunOutput, crate::operation::start_run::StartRunError>,
72    > {
73        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
74    }
75}
76impl StartRunFluentBuilder {
77    /// Creates a new `StartRunFluentBuilder`.
78    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
79        Self {
80            handle,
81            inner: ::std::default::Default::default(),
82            config_override: ::std::option::Option::None,
83        }
84    }
85    /// Access the StartRun as a reference.
86    pub fn as_input(&self) -> &crate::operation::start_run::builders::StartRunInputBuilder {
87        &self.inner
88    }
89    /// Sends the request and returns the response.
90    ///
91    /// If an error occurs, an `SdkError` will be returned with additional details that
92    /// can be matched against.
93    ///
94    /// By default, any retryable failures will be retried twice. Retry behavior
95    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
96    /// set when configuring the client.
97    pub async fn send(
98        self,
99    ) -> ::std::result::Result<
100        crate::operation::start_run::StartRunOutput,
101        ::aws_smithy_runtime_api::client::result::SdkError<
102            crate::operation::start_run::StartRunError,
103            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
104        >,
105    > {
106        let input = self
107            .inner
108            .build()
109            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
110        let runtime_plugins = crate::operation::start_run::StartRun::operation_runtime_plugins(
111            self.handle.runtime_plugins.clone(),
112            &self.handle.conf,
113            self.config_override,
114        );
115        crate::operation::start_run::StartRun::orchestrate(&runtime_plugins, input).await
116    }
117
118    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
119    pub fn customize(
120        self,
121    ) -> crate::client::customize::CustomizableOperation<crate::operation::start_run::StartRunOutput, crate::operation::start_run::StartRunError, Self>
122    {
123        crate::client::customize::CustomizableOperation::new(self)
124    }
125    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
126        self.set_config_override(::std::option::Option::Some(config_override.into()));
127        self
128    }
129
130    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
131        self.config_override = config_override;
132        self
133    }
134    /// <p>The run's workflow ID. The <code>workflowId</code> is not the UUID.</p>
135    pub fn workflow_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
136        self.inner = self.inner.workflow_id(input.into());
137        self
138    }
139    /// <p>The run's workflow ID. The <code>workflowId</code> is not the UUID.</p>
140    pub fn set_workflow_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
141        self.inner = self.inner.set_workflow_id(input);
142        self
143    }
144    /// <p>The run's workflow ID. The <code>workflowId</code> is not the UUID.</p>
145    pub fn get_workflow_id(&self) -> &::std::option::Option<::std::string::String> {
146        self.inner.get_workflow_id()
147    }
148    /// <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>
149    pub fn workflow_type(mut self, input: crate::types::WorkflowType) -> Self {
150        self.inner = self.inner.workflow_type(input);
151        self
152    }
153    /// <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>
154    pub fn set_workflow_type(mut self, input: ::std::option::Option<crate::types::WorkflowType>) -> Self {
155        self.inner = self.inner.set_workflow_type(input);
156        self
157    }
158    /// <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>
159    pub fn get_workflow_type(&self) -> &::std::option::Option<crate::types::WorkflowType> {
160        self.inner.get_workflow_type()
161    }
162    /// <p>The ID of a run to duplicate.</p>
163    pub fn run_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
164        self.inner = self.inner.run_id(input.into());
165        self
166    }
167    /// <p>The ID of a run to duplicate.</p>
168    pub fn set_run_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
169        self.inner = self.inner.set_run_id(input);
170        self
171    }
172    /// <p>The ID of a run to duplicate.</p>
173    pub fn get_run_id(&self) -> &::std::option::Option<::std::string::String> {
174        self.inner.get_run_id()
175    }
176    /// <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>
177    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
178        self.inner = self.inner.role_arn(input.into());
179        self
180    }
181    /// <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>
182    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
183        self.inner = self.inner.set_role_arn(input);
184        self
185    }
186    /// <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>
187    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
188        self.inner.get_role_arn()
189    }
190    /// <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>
191    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
192        self.inner = self.inner.name(input.into());
193        self
194    }
195    /// <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>
196    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
197        self.inner = self.inner.set_name(input);
198        self
199    }
200    /// <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>
201    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
202        self.inner.get_name()
203    }
204    /// <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>
205    pub fn cache_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
206        self.inner = self.inner.cache_id(input.into());
207        self
208    }
209    /// <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>
210    pub fn set_cache_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
211        self.inner = self.inner.set_cache_id(input);
212        self
213    }
214    /// <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>
215    pub fn get_cache_id(&self) -> &::std::option::Option<::std::string::String> {
216        self.inner.get_cache_id()
217    }
218    /// <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>
219    pub fn cache_behavior(mut self, input: crate::types::CacheBehavior) -> Self {
220        self.inner = self.inner.cache_behavior(input);
221        self
222    }
223    /// <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>
224    pub fn set_cache_behavior(mut self, input: ::std::option::Option<crate::types::CacheBehavior>) -> Self {
225        self.inner = self.inner.set_cache_behavior(input);
226        self
227    }
228    /// <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>
229    pub fn get_cache_behavior(&self) -> &::std::option::Option<crate::types::CacheBehavior> {
230        self.inner.get_cache_behavior()
231    }
232    /// <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>
233    pub fn run_group_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
234        self.inner = self.inner.run_group_id(input.into());
235        self
236    }
237    /// <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>
238    pub fn set_run_group_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
239        self.inner = self.inner.set_run_group_id(input);
240        self
241    }
242    /// <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>
243    pub fn get_run_group_id(&self) -> &::std::option::Option<::std::string::String> {
244        self.inner.get_run_group_id()
245    }
246    /// <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>
247    pub fn priority(mut self, input: i32) -> Self {
248        self.inner = self.inner.priority(input);
249        self
250    }
251    /// <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>
252    pub fn set_priority(mut self, input: ::std::option::Option<i32>) -> Self {
253        self.inner = self.inner.set_priority(input);
254        self
255    }
256    /// <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>
257    pub fn get_priority(&self) -> &::std::option::Option<i32> {
258        self.inner.get_priority()
259    }
260    /// <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>
261    pub fn parameters(mut self, input: ::aws_smithy_types::Document) -> Self {
262        self.inner = self.inner.parameters(input);
263        self
264    }
265    /// <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>
266    pub fn set_parameters(mut self, input: ::std::option::Option<::aws_smithy_types::Document>) -> Self {
267        self.inner = self.inner.set_parameters(input);
268        self
269    }
270    /// <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>
271    pub fn get_parameters(&self) -> &::std::option::Option<::aws_smithy_types::Document> {
272        self.inner.get_parameters()
273    }
274    /// <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>
275    pub fn storage_capacity(mut self, input: i32) -> Self {
276        self.inner = self.inner.storage_capacity(input);
277        self
278    }
279    /// <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>
280    pub fn set_storage_capacity(mut self, input: ::std::option::Option<i32>) -> Self {
281        self.inner = self.inner.set_storage_capacity(input);
282        self
283    }
284    /// <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>
285    pub fn get_storage_capacity(&self) -> &::std::option::Option<i32> {
286        self.inner.get_storage_capacity()
287    }
288    /// <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>
289    pub fn output_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
290        self.inner = self.inner.output_uri(input.into());
291        self
292    }
293    /// <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>
294    pub fn set_output_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
295        self.inner = self.inner.set_output_uri(input);
296        self
297    }
298    /// <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>
299    pub fn get_output_uri(&self) -> &::std::option::Option<::std::string::String> {
300        self.inner.get_output_uri()
301    }
302    /// <p>A log level for the run.</p>
303    pub fn log_level(mut self, input: crate::types::RunLogLevel) -> Self {
304        self.inner = self.inner.log_level(input);
305        self
306    }
307    /// <p>A log level for the run.</p>
308    pub fn set_log_level(mut self, input: ::std::option::Option<crate::types::RunLogLevel>) -> Self {
309        self.inner = self.inner.set_log_level(input);
310        self
311    }
312    /// <p>A log level for the run.</p>
313    pub fn get_log_level(&self) -> &::std::option::Option<crate::types::RunLogLevel> {
314        self.inner.get_log_level()
315    }
316    ///
317    /// Adds a key-value pair to `tags`.
318    ///
319    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
320    ///
321    /// <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>
322    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
323        self.inner = self.inner.tags(k.into(), v.into());
324        self
325    }
326    /// <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>
327    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
328        self.inner = self.inner.set_tags(input);
329        self
330    }
331    /// <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>
332    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
333        self.inner.get_tags()
334    }
335    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
336    pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
337        self.inner = self.inner.request_id(input.into());
338        self
339    }
340    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
341    pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
342        self.inner = self.inner.set_request_id(input);
343        self
344    }
345    /// <p>An idempotency token used to dedupe retry requests so that duplicate runs are not created.</p>
346    pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
347        self.inner.get_request_id()
348    }
349    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
350    /// <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>
351    /// <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>
352    pub fn retention_mode(mut self, input: crate::types::RunRetentionMode) -> Self {
353        self.inner = self.inner.retention_mode(input);
354        self
355    }
356    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
357    /// <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>
358    /// <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>
359    pub fn set_retention_mode(mut self, input: ::std::option::Option<crate::types::RunRetentionMode>) -> Self {
360        self.inner = self.inner.set_retention_mode(input);
361        self
362    }
363    /// <p>The retention mode for the run. The default value is <code>RETAIN</code>.</p>
364    /// <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>
365    /// <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>
366    pub fn get_retention_mode(&self) -> &::std::option::Option<crate::types::RunRetentionMode> {
367        self.inner.get_retention_mode()
368    }
369    /// <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>
370    pub fn storage_type(mut self, input: crate::types::StorageType) -> Self {
371        self.inner = self.inner.storage_type(input);
372        self
373    }
374    /// <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>
375    pub fn set_storage_type(mut self, input: ::std::option::Option<crate::types::StorageType>) -> Self {
376        self.inner = self.inner.set_storage_type(input);
377        self
378    }
379    /// <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>
380    pub fn get_storage_type(&self) -> &::std::option::Option<crate::types::StorageType> {
381        self.inner.get_storage_type()
382    }
383    /// <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>
384    pub fn workflow_owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
385        self.inner = self.inner.workflow_owner_id(input.into());
386        self
387    }
388    /// <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>
389    pub fn set_workflow_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
390        self.inner = self.inner.set_workflow_owner_id(input);
391        self
392    }
393    /// <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>
394    pub fn get_workflow_owner_id(&self) -> &::std::option::Option<::std::string::String> {
395        self.inner.get_workflow_owner_id()
396    }
397    /// <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>
398    pub fn workflow_version_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
399        self.inner = self.inner.workflow_version_name(input.into());
400        self
401    }
402    /// <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>
403    pub fn set_workflow_version_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
404        self.inner = self.inner.set_workflow_version_name(input);
405        self
406    }
407    /// <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>
408    pub fn get_workflow_version_name(&self) -> &::std::option::Option<::std::string::String> {
409        self.inner.get_workflow_version_name()
410    }
411}