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}