aws_sdk_omics/client/
create_workflow_version.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreateWorkflowVersion`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`workflow_id(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::workflow_id) / [`set_workflow_id(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_workflow_id):<br>required: **true**<br><p>The ID of the workflow where you are creating the new version. The <code>workflowId</code> is not the UUID.</p><br>
7    ///   - [`version_name(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::version_name) / [`set_version_name(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_version_name):<br>required: **true**<br><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><br>
8    ///   - [`definition_zip(Blob)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::definition_zip) / [`set_definition_zip(Option<Blob>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_definition_zip):<br>required: **false**<br><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><br>
9    ///   - [`definition_uri(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::definition_uri) / [`set_definition_uri(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_definition_uri):<br>required: **false**<br><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><br>
10    ///   - [`accelerators(Accelerators)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::accelerators) / [`set_accelerators(Option<Accelerators>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_accelerators):<br>required: **false**<br><p>The computational accelerator for this workflow version.</p><br>
11    ///   - [`description(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_description):<br>required: **false**<br><p>A description for this workflow version.</p><br>
12    ///   - [`engine(WorkflowEngine)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::engine) / [`set_engine(Option<WorkflowEngine>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_engine):<br>required: **false**<br><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><br>
13    ///   - [`main(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::main) / [`set_main(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_main):<br>required: **false**<br><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><br>
14    ///   - [`parameter_template(impl Into<String>, WorkflowParameter)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::parameter_template) / [`set_parameter_template(Option<HashMap::<String, WorkflowParameter>>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_parameter_template):<br>required: **false**<br><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><br>
15    ///   - [`request_id(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::request_id) / [`set_request_id(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_request_id):<br>required: **true**<br><p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p><br>
16    ///   - [`storage_type(StorageType)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::storage_type) / [`set_storage_type(Option<StorageType>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_storage_type):<br>required: **false**<br><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><br>
17    ///   - [`storage_capacity(i32)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::storage_capacity) / [`set_storage_capacity(Option<i32>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_storage_capacity):<br>required: **false**<br><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><br>
18    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_tags):<br>required: **false**<br><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><br>
19    ///   - [`workflow_bucket_owner_id(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::workflow_bucket_owner_id) / [`set_workflow_bucket_owner_id(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_workflow_bucket_owner_id):<br>required: **false**<br><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><br>
20    ///   - [`container_registry_map(ContainerRegistryMap)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::container_registry_map) / [`set_container_registry_map(Option<ContainerRegistryMap>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_container_registry_map):<br>required: **false**<br><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><br>
21    ///   - [`container_registry_map_uri(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::container_registry_map_uri) / [`set_container_registry_map_uri(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_container_registry_map_uri):<br>required: **false**<br><p>(Optional) URI of the S3 location for the registry mapping file.</p><br>
22    ///   - [`readme_markdown(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::readme_markdown) / [`set_readme_markdown(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_readme_markdown):<br>required: **false**<br><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><br>
23    ///   - [`parameter_template_path(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::parameter_template_path) / [`set_parameter_template_path(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_parameter_template_path):<br>required: **false**<br><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><br>
24    ///   - [`readme_path(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::readme_path) / [`set_readme_path(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_readme_path):<br>required: **false**<br><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><br>
25    ///   - [`definition_repository(DefinitionRepository)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::definition_repository) / [`set_definition_repository(Option<DefinitionRepository>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_definition_repository):<br>required: **false**<br><p>The repository information for the workflow version definition. This allows you to source your workflow version definition directly from a code repository.</p><br>
26    ///   - [`readme_uri(impl Into<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::readme_uri) / [`set_readme_uri(Option<String>)`](crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::set_readme_uri):<br>required: **false**<br><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><br>
27    /// - On success, responds with [`CreateWorkflowVersionOutput`](crate::operation::create_workflow_version::CreateWorkflowVersionOutput) with field(s):
28    ///   - [`arn(Option<String>)`](crate::operation::create_workflow_version::CreateWorkflowVersionOutput::arn): <p>ARN of the workflow version.</p>
29    ///   - [`workflow_id(Option<String>)`](crate::operation::create_workflow_version::CreateWorkflowVersionOutput::workflow_id): <p>The workflow's ID.</p>
30    ///   - [`version_name(Option<String>)`](crate::operation::create_workflow_version::CreateWorkflowVersionOutput::version_name): <p>The workflow version name.</p>
31    ///   - [`status(Option<WorkflowStatus>)`](crate::operation::create_workflow_version::CreateWorkflowVersionOutput::status): <p>The workflow version status.</p>
32    ///   - [`tags(Option<HashMap::<String, String>>)`](crate::operation::create_workflow_version::CreateWorkflowVersionOutput::tags): <p>The workflow version's tags.</p>
33    ///   - [`uuid(Option<String>)`](crate::operation::create_workflow_version::CreateWorkflowVersionOutput::uuid): <p>The universally unique identifier (UUID) value for this workflow version.</p>
34    /// - On failure, responds with [`SdkError<CreateWorkflowVersionError>`](crate::operation::create_workflow_version::CreateWorkflowVersionError)
35    pub fn create_workflow_version(&self) -> crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder {
36        crate::operation::create_workflow_version::builders::CreateWorkflowVersionFluentBuilder::new(self.handle.clone())
37    }
38}