aws-sdk-omics 1.99.0

AWS SDK for Amazon Omics
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::create_workflow_version::_create_workflow_version_output::CreateWorkflowVersionOutputBuilder;

pub use crate::operation::create_workflow_version::_create_workflow_version_input::CreateWorkflowVersionInputBuilder;

impl crate::operation::create_workflow_version::builders::CreateWorkflowVersionInputBuilder {
    /// Sends a request with this input using the given client.
    pub async fn send_with(
        self,
        client: &crate::Client,
    ) -> ::std::result::Result<
        crate::operation::create_workflow_version::CreateWorkflowVersionOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_workflow_version::CreateWorkflowVersionError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.create_workflow_version();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `CreateWorkflowVersion`.
///
/// <p>Creates a new workflow version for the workflow that you specify with the <code>workflowId</code> parameter.</p>
/// <p>When you create a new version of a workflow, you need to specify the configuration for the new version. It doesn't inherit any configuration values from the workflow.</p>
/// <p>Provide a version name that is unique for this workflow. You cannot change the name after HealthOmics creates the version.</p><note>
/// <p>Don't include any personally identifiable information (PII) in the version name. Version names appear in the workflow version ARN.</p>
/// </note>
/// <p>For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-versions.html">Workflow versioning in Amazon Web Services HealthOmics</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct CreateWorkflowVersionFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::create_workflow_version::builders::CreateWorkflowVersionInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::create_workflow_version::CreateWorkflowVersionOutput,
        crate::operation::create_workflow_version::CreateWorkflowVersionError,
    > for CreateWorkflowVersionFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::create_workflow_version::CreateWorkflowVersionOutput,
            crate::operation::create_workflow_version::CreateWorkflowVersionError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl CreateWorkflowVersionFluentBuilder {
    /// Creates a new `CreateWorkflowVersionFluentBuilder`.
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: ::std::default::Default::default(),
            config_override: ::std::option::Option::None,
        }
    }
    /// Access the CreateWorkflowVersion as a reference.
    pub fn as_input(&self) -> &crate::operation::create_workflow_version::builders::CreateWorkflowVersionInputBuilder {
        &self.inner
    }
    /// Sends the request and returns the response.
    ///
    /// If an error occurs, an `SdkError` will be returned with additional details that
    /// can be matched against.
    ///
    /// By default, any retryable failures will be retried twice. Retry behavior
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
    /// set when configuring the client.
    pub async fn send(
        self,
    ) -> ::std::result::Result<
        crate::operation::create_workflow_version::CreateWorkflowVersionOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_workflow_version::CreateWorkflowVersionError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let input = self
            .inner
            .build()
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
        let runtime_plugins = crate::operation::create_workflow_version::CreateWorkflowVersion::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::create_workflow_version::CreateWorkflowVersion::orchestrate(&runtime_plugins, input).await
    }

    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
    pub fn customize(
        self,
    ) -> crate::client::customize::CustomizableOperation<
        crate::operation::create_workflow_version::CreateWorkflowVersionOutput,
        crate::operation::create_workflow_version::CreateWorkflowVersionError,
        Self,
    > {
        crate::client::customize::CustomizableOperation::new(self)
    }
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
        self.set_config_override(::std::option::Option::Some(config_override.into()));
        self
    }

    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
        self.config_override = config_override;
        self
    }
    /// <p>The ID of the workflow where you are creating the new version. The <code>workflowId</code> is not the UUID.</p>
    pub fn workflow_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.workflow_id(input.into());
        self
    }
    /// <p>The ID of the workflow where you are creating the new version. The <code>workflowId</code> is not the UUID.</p>
    pub fn set_workflow_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_workflow_id(input);
        self
    }
    /// <p>The ID of the workflow where you are creating the new version. The <code>workflowId</code> is not the UUID.</p>
    pub fn get_workflow_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_workflow_id()
    }
    /// <p>A name for the workflow version. Provide a version name that is unique for this workflow. You cannot change the name after HealthOmics creates the version.</p>
    /// <p>The version name must start with a letter or number and it can include upper-case and lower-case letters, numbers, hyphens, periods and underscores. The maximum length is 64 characters. You can use a simple naming scheme, such as version1, version2, version3. You can also match your workflow versions with your own internal versioning conventions, such as 2.7.0, 2.7.1, 2.7.2.</p>
    pub fn version_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.version_name(input.into());
        self
    }
    /// <p>A name for the workflow version. Provide a version name that is unique for this workflow. You cannot change the name after HealthOmics creates the version.</p>
    /// <p>The version name must start with a letter or number and it can include upper-case and lower-case letters, numbers, hyphens, periods and underscores. The maximum length is 64 characters. You can use a simple naming scheme, such as version1, version2, version3. You can also match your workflow versions with your own internal versioning conventions, such as 2.7.0, 2.7.1, 2.7.2.</p>
    pub fn set_version_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_version_name(input);
        self
    }
    /// <p>A name for the workflow version. Provide a version name that is unique for this workflow. You cannot change the name after HealthOmics creates the version.</p>
    /// <p>The version name must start with a letter or number and it can include upper-case and lower-case letters, numbers, hyphens, periods and underscores. The maximum length is 64 characters. You can use a simple naming scheme, such as version1, version2, version3. You can also match your workflow versions with your own internal versioning conventions, such as 2.7.0, 2.7.1, 2.7.2.</p>
    pub fn get_version_name(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_version_name()
    }
    /// <p>A ZIP archive containing the main workflow definition file and dependencies that it imports for this workflow version. You can use a file with a ://fileb prefix instead of the Base64 string. For more information, see Workflow definition requirements in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn definition_zip(mut self, input: ::aws_smithy_types::Blob) -> Self {
        self.inner = self.inner.definition_zip(input);
        self
    }
    /// <p>A ZIP archive containing the main workflow definition file and dependencies that it imports for this workflow version. You can use a file with a ://fileb prefix instead of the Base64 string. For more information, see Workflow definition requirements in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn set_definition_zip(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
        self.inner = self.inner.set_definition_zip(input);
        self
    }
    /// <p>A ZIP archive containing the main workflow definition file and dependencies that it imports for this workflow version. You can use a file with a ://fileb prefix instead of the Base64 string. For more information, see Workflow definition requirements in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn get_definition_zip(&self) -> &::std::option::Option<::aws_smithy_types::Blob> {
        self.inner.get_definition_zip()
    }
    /// <p>The S3 URI of a definition for this workflow version. The S3 bucket must be in the same region as this workflow version.</p>
    pub fn definition_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.definition_uri(input.into());
        self
    }
    /// <p>The S3 URI of a definition for this workflow version. The S3 bucket must be in the same region as this workflow version.</p>
    pub fn set_definition_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_definition_uri(input);
        self
    }
    /// <p>The S3 URI of a definition for this workflow version. The S3 bucket must be in the same region as this workflow version.</p>
    pub fn get_definition_uri(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_definition_uri()
    }
    /// <p>The computational accelerator for this workflow version.</p>
    pub fn accelerators(mut self, input: crate::types::Accelerators) -> Self {
        self.inner = self.inner.accelerators(input);
        self
    }
    /// <p>The computational accelerator for this workflow version.</p>
    pub fn set_accelerators(mut self, input: ::std::option::Option<crate::types::Accelerators>) -> Self {
        self.inner = self.inner.set_accelerators(input);
        self
    }
    /// <p>The computational accelerator for this workflow version.</p>
    pub fn get_accelerators(&self) -> &::std::option::Option<crate::types::Accelerators> {
        self.inner.get_accelerators()
    }
    /// <p>A description for this workflow version.</p>
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.description(input.into());
        self
    }
    /// <p>A description for this workflow version.</p>
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_description(input);
        self
    }
    /// <p>A description for this workflow version.</p>
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_description()
    }
    /// <p>The workflow engine for this workflow version. This is only required if you have workflow definition files from more than one engine in your zip file. Otherwise, the service can detect the engine automatically from your workflow definition.</p>
    pub fn engine(mut self, input: crate::types::WorkflowEngine) -> Self {
        self.inner = self.inner.engine(input);
        self
    }
    /// <p>The workflow engine for this workflow version. This is only required if you have workflow definition files from more than one engine in your zip file. Otherwise, the service can detect the engine automatically from your workflow definition.</p>
    pub fn set_engine(mut self, input: ::std::option::Option<crate::types::WorkflowEngine>) -> Self {
        self.inner = self.inner.set_engine(input);
        self
    }
    /// <p>The workflow engine for this workflow version. This is only required if you have workflow definition files from more than one engine in your zip file. Otherwise, the service can detect the engine automatically from your workflow definition.</p>
    pub fn get_engine(&self) -> &::std::option::Option<crate::types::WorkflowEngine> {
        self.inner.get_engine()
    }
    /// <p>The path of the main definition file for this workflow version. This parameter is not required if the ZIP archive contains only one workflow definition file, or if the main definition file is named “main”. An example path is: <code>workflow-definition/main-file.wdl</code>.</p>
    pub fn main(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.main(input.into());
        self
    }
    /// <p>The path of the main definition file for this workflow version. This parameter is not required if the ZIP archive contains only one workflow definition file, or if the main definition file is named “main”. An example path is: <code>workflow-definition/main-file.wdl</code>.</p>
    pub fn set_main(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_main(input);
        self
    }
    /// <p>The path of the main definition file for this workflow version. This parameter is not required if the ZIP archive contains only one workflow definition file, or if the main definition file is named “main”. An example path is: <code>workflow-definition/main-file.wdl</code>.</p>
    pub fn get_main(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_main()
    }
    ///
    /// Adds a key-value pair to `parameterTemplate`.
    ///
    /// To override the contents of this collection use [`set_parameter_template`](Self::set_parameter_template).
    ///
    /// <p>A parameter template for this workflow version. If this field is blank, Amazon Web Services HealthOmics will automatically parse the parameter template values from your workflow definition file. To override these service generated default values, provide a parameter template. To view an example of a parameter template, see <a href="https://docs.aws.amazon.com/omics/latest/dev/parameter-templates.html">Parameter template files</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn parameter_template(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::WorkflowParameter) -> Self {
        self.inner = self.inner.parameter_template(k.into(), v);
        self
    }
    /// <p>A parameter template for this workflow version. If this field is blank, Amazon Web Services HealthOmics will automatically parse the parameter template values from your workflow definition file. To override these service generated default values, provide a parameter template. To view an example of a parameter template, see <a href="https://docs.aws.amazon.com/omics/latest/dev/parameter-templates.html">Parameter template files</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn set_parameter_template(
        mut self,
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkflowParameter>>,
    ) -> Self {
        self.inner = self.inner.set_parameter_template(input);
        self
    }
    /// <p>A parameter template for this workflow version. If this field is blank, Amazon Web Services HealthOmics will automatically parse the parameter template values from your workflow definition file. To override these service generated default values, provide a parameter template. To view an example of a parameter template, see <a href="https://docs.aws.amazon.com/omics/latest/dev/parameter-templates.html">Parameter template files</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn get_parameter_template(
        &self,
    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkflowParameter>> {
        self.inner.get_parameter_template()
    }
    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
    pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.request_id(input.into());
        self
    }
    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
    pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_request_id(input);
        self
    }
    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
    pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_request_id()
    }
    /// <p>The default storage type for runs that use this workflow version. The <code>storageType</code> can be overridden at run time. <code>DYNAMIC</code> storage dynamically scales the storage up or down, based on file system utilization. STATIC storage allocates a fixed amount of storage. For more information about dynamic and static storage types, 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>
    pub fn storage_type(mut self, input: crate::types::StorageType) -> Self {
        self.inner = self.inner.storage_type(input);
        self
    }
    /// <p>The default storage type for runs that use this workflow version. The <code>storageType</code> can be overridden at run time. <code>DYNAMIC</code> storage dynamically scales the storage up or down, based on file system utilization. STATIC storage allocates a fixed amount of storage. For more information about dynamic and static storage types, 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>
    pub fn set_storage_type(mut self, input: ::std::option::Option<crate::types::StorageType>) -> Self {
        self.inner = self.inner.set_storage_type(input);
        self
    }
    /// <p>The default storage type for runs that use this workflow version. The <code>storageType</code> can be overridden at run time. <code>DYNAMIC</code> storage dynamically scales the storage up or down, based on file system utilization. STATIC storage allocates a fixed amount of storage. For more information about dynamic and static storage types, 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>
    pub fn get_storage_type(&self) -> &::std::option::Option<crate::types::StorageType> {
        self.inner.get_storage_type()
    }
    /// <p>The default static storage capacity (in gibibytes) for runs that use this workflow version. The <code>storageCapacity</code> can be overwritten at run time. The storage capacity is not required for runs with a <code>DYNAMIC</code> storage type.</p>
    pub fn storage_capacity(mut self, input: i32) -> Self {
        self.inner = self.inner.storage_capacity(input);
        self
    }
    /// <p>The default static storage capacity (in gibibytes) for runs that use this workflow version. The <code>storageCapacity</code> can be overwritten at run time. The storage capacity is not required for runs with a <code>DYNAMIC</code> storage type.</p>
    pub fn set_storage_capacity(mut self, input: ::std::option::Option<i32>) -> Self {
        self.inner = self.inner.set_storage_capacity(input);
        self
    }
    /// <p>The default static storage capacity (in gibibytes) for runs that use this workflow version. The <code>storageCapacity</code> can be overwritten at run time. The storage capacity is not required for runs with a <code>DYNAMIC</code> storage type.</p>
    pub fn get_storage_capacity(&self) -> &::std::option::Option<i32> {
        self.inner.get_storage_capacity()
    }
    ///
    /// Adds a key-value pair to `tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// <p>Tags for this workflow version. You can define up to 50 tags for the workflow. 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>
    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.tags(k.into(), v.into());
        self
    }
    /// <p>Tags for this workflow version. You can define up to 50 tags for the workflow. 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>
    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
        self.inner = self.inner.set_tags(input);
        self
    }
    /// <p>Tags for this workflow version. You can define up to 50 tags for the workflow. 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>
    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        self.inner.get_tags()
    }
    /// <p>Amazon Web Services Id of the owner of the S3 bucket that contains the workflow definition. You need to specify this parameter if your account is not the bucket owner.</p>
    pub fn workflow_bucket_owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.workflow_bucket_owner_id(input.into());
        self
    }
    /// <p>Amazon Web Services Id of the owner of the S3 bucket that contains the workflow definition. You need to specify this parameter if your account is not the bucket owner.</p>
    pub fn set_workflow_bucket_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_workflow_bucket_owner_id(input);
        self
    }
    /// <p>Amazon Web Services Id of the owner of the S3 bucket that contains the workflow definition. You need to specify this parameter if your account is not the bucket owner.</p>
    pub fn get_workflow_bucket_owner_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_workflow_bucket_owner_id()
    }
    /// <p>(Optional) Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflows-ecr.html">Container images</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn container_registry_map(mut self, input: crate::types::ContainerRegistryMap) -> Self {
        self.inner = self.inner.container_registry_map(input);
        self
    }
    /// <p>(Optional) Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflows-ecr.html">Container images</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn set_container_registry_map(mut self, input: ::std::option::Option<crate::types::ContainerRegistryMap>) -> Self {
        self.inner = self.inner.set_container_registry_map(input);
        self
    }
    /// <p>(Optional) Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflows-ecr.html">Container images</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
    pub fn get_container_registry_map(&self) -> &::std::option::Option<crate::types::ContainerRegistryMap> {
        self.inner.get_container_registry_map()
    }
    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
    pub fn container_registry_map_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.container_registry_map_uri(input.into());
        self
    }
    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
    pub fn set_container_registry_map_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_container_registry_map_uri(input);
        self
    }
    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
    pub fn get_container_registry_map_uri(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_container_registry_map_uri()
    }
    /// <p>The markdown content for the workflow version's README file. This provides documentation and usage information for users of this specific workflow version.</p>
    pub fn readme_markdown(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.readme_markdown(input.into());
        self
    }
    /// <p>The markdown content for the workflow version's README file. This provides documentation and usage information for users of this specific workflow version.</p>
    pub fn set_readme_markdown(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_readme_markdown(input);
        self
    }
    /// <p>The markdown content for the workflow version's README file. This provides documentation and usage information for users of this specific workflow version.</p>
    pub fn get_readme_markdown(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_readme_markdown()
    }
    /// <p>The path to the workflow version parameter template JSON file within the repository. This file defines the input parameters for runs that use this workflow version. If not specified, the workflow version will be created without a parameter template.</p>
    pub fn parameter_template_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.parameter_template_path(input.into());
        self
    }
    /// <p>The path to the workflow version parameter template JSON file within the repository. This file defines the input parameters for runs that use this workflow version. If not specified, the workflow version will be created without a parameter template.</p>
    pub fn set_parameter_template_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_parameter_template_path(input);
        self
    }
    /// <p>The path to the workflow version parameter template JSON file within the repository. This file defines the input parameters for runs that use this workflow version. If not specified, the workflow version will be created without a parameter template.</p>
    pub fn get_parameter_template_path(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_parameter_template_path()
    }
    /// <p>The path to the workflow version README markdown file within the repository. This file provides documentation and usage information for the workflow. If not specified, the <code>README.md</code> file from the root directory of the repository will be used.</p>
    pub fn readme_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.readme_path(input.into());
        self
    }
    /// <p>The path to the workflow version README markdown file within the repository. This file provides documentation and usage information for the workflow. If not specified, the <code>README.md</code> file from the root directory of the repository will be used.</p>
    pub fn set_readme_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_readme_path(input);
        self
    }
    /// <p>The path to the workflow version README markdown file within the repository. This file provides documentation and usage information for the workflow. If not specified, the <code>README.md</code> file from the root directory of the repository will be used.</p>
    pub fn get_readme_path(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_readme_path()
    }
    /// <p>The repository information for the workflow version definition. This allows you to source your workflow version definition directly from a code repository.</p>
    pub fn definition_repository(mut self, input: crate::types::DefinitionRepository) -> Self {
        self.inner = self.inner.definition_repository(input);
        self
    }
    /// <p>The repository information for the workflow version definition. This allows you to source your workflow version definition directly from a code repository.</p>
    pub fn set_definition_repository(mut self, input: ::std::option::Option<crate::types::DefinitionRepository>) -> Self {
        self.inner = self.inner.set_definition_repository(input);
        self
    }
    /// <p>The repository information for the workflow version definition. This allows you to source your workflow version definition directly from a code repository.</p>
    pub fn get_definition_repository(&self) -> &::std::option::Option<crate::types::DefinitionRepository> {
        self.inner.get_definition_repository()
    }
    /// <p>The S3 URI of the README file for the workflow version. This file provides documentation and usage information for the workflow version. Requirements include:</p>
    /// <ul>
    /// <li>
    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
    /// <li>
    /// <p>The requester must have access to the S3 bucket and object.</p></li>
    /// <li>
    /// <p>The max README content length is 500 KiB.</p></li>
    /// </ul>
    pub fn readme_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.readme_uri(input.into());
        self
    }
    /// <p>The S3 URI of the README file for the workflow version. This file provides documentation and usage information for the workflow version. Requirements include:</p>
    /// <ul>
    /// <li>
    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
    /// <li>
    /// <p>The requester must have access to the S3 bucket and object.</p></li>
    /// <li>
    /// <p>The max README content length is 500 KiB.</p></li>
    /// </ul>
    pub fn set_readme_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_readme_uri(input);
        self
    }
    /// <p>The S3 URI of the README file for the workflow version. This file provides documentation and usage information for the workflow version. Requirements include:</p>
    /// <ul>
    /// <li>
    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
    /// <li>
    /// <p>The requester must have access to the S3 bucket and object.</p></li>
    /// <li>
    /// <p>The max README content length is 500 KiB.</p></li>
    /// </ul>
    pub fn get_readme_uri(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_readme_uri()
    }
}