Skip to main content

aws_sdk_omics/operation/create_workflow/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_workflow::_create_workflow_input::CreateWorkflowInputBuilder;
3
4pub use crate::operation::create_workflow::_create_workflow_output::CreateWorkflowOutputBuilder;
5
6impl crate::operation::create_workflow::builders::CreateWorkflowInputBuilder {
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::create_workflow::CreateWorkflowOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_workflow::CreateWorkflowError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_workflow();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateWorkflow`.
24///
25/// <p>Creates a private workflow. Before you create a private workflow, you must create and configure these required resources:</p>
26/// <ul>
27/// <li>
28/// <p><i>Workflow definition file:</i> A workflow definition file written in WDL, Nextflow, or CWL. The workflow definition specifies the inputs and outputs for runs that use the workflow. It also includes specifications for the runs and run tasks for your workflow, including compute and memory requirements. The workflow definition file must be in <code>.zip</code> format. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-definition-files.html">Workflow definition files</a> in Amazon Web Services HealthOmics.</p>
29/// <ul>
30/// <li>
31/// <p>You can use Amazon Q CLI to build and validate your workflow definition files in WDL, Nextflow, and CWL. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/getting-started.html#omics-q-prompts">Example prompts for Amazon Q CLI</a> and the <a href="https://github.com/aws-samples/aws-healthomics-tutorials/tree/main/generative-ai">Amazon Web Services HealthOmics Agentic generative AI tutorial</a> on GitHub.</p></li>
32/// </ul></li>
33/// <li>
34/// <p><i>(Optional) Parameter template file:</i> A parameter template file written in JSON. Create the file to define the run parameters, or Amazon Web Services HealthOmics generates the parameter template for you. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/parameter-templates.html">Parameter template files for HealthOmics workflows</a>.</p></li>
35/// <li>
36/// <p><i>ECR container images:</i> Create container images for the workflow in a private ECR repository, or synchronize images from a supported upstream registry with your Amazon ECR private repository.</p></li>
37/// <li>
38/// <p><i>(Optional) Sentieon licenses:</i> Request a Sentieon license to use the Sentieon software in private workflows.</p></li>
39/// </ul>
40/// <p>For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/creating-private-workflows.html">Creating or updating a private workflow in Amazon Web Services HealthOmics</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
41#[derive(::std::clone::Clone, ::std::fmt::Debug)]
42pub struct CreateWorkflowFluentBuilder {
43    handle: ::std::sync::Arc<crate::client::Handle>,
44    inner: crate::operation::create_workflow::builders::CreateWorkflowInputBuilder,
45    config_override: ::std::option::Option<crate::config::Builder>,
46}
47impl
48    crate::client::customize::internal::CustomizableSend<
49        crate::operation::create_workflow::CreateWorkflowOutput,
50        crate::operation::create_workflow::CreateWorkflowError,
51    > for CreateWorkflowFluentBuilder
52{
53    fn send(
54        self,
55        config_override: crate::config::Builder,
56    ) -> crate::client::customize::internal::BoxFuture<
57        crate::client::customize::internal::SendResult<
58            crate::operation::create_workflow::CreateWorkflowOutput,
59            crate::operation::create_workflow::CreateWorkflowError,
60        >,
61    > {
62        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
63    }
64}
65impl CreateWorkflowFluentBuilder {
66    /// Creates a new `CreateWorkflowFluentBuilder`.
67    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
68        Self {
69            handle,
70            inner: ::std::default::Default::default(),
71            config_override: ::std::option::Option::None,
72        }
73    }
74    /// Access the CreateWorkflow as a reference.
75    pub fn as_input(&self) -> &crate::operation::create_workflow::builders::CreateWorkflowInputBuilder {
76        &self.inner
77    }
78    /// Sends the request and returns the response.
79    ///
80    /// If an error occurs, an `SdkError` will be returned with additional details that
81    /// can be matched against.
82    ///
83    /// By default, any retryable failures will be retried twice. Retry behavior
84    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
85    /// set when configuring the client.
86    pub async fn send(
87        self,
88    ) -> ::std::result::Result<
89        crate::operation::create_workflow::CreateWorkflowOutput,
90        ::aws_smithy_runtime_api::client::result::SdkError<
91            crate::operation::create_workflow::CreateWorkflowError,
92            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
93        >,
94    > {
95        let input = self
96            .inner
97            .build()
98            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
99        let runtime_plugins = crate::operation::create_workflow::CreateWorkflow::operation_runtime_plugins(
100            self.handle.runtime_plugins.clone(),
101            &self.handle.conf,
102            self.config_override,
103        );
104        crate::operation::create_workflow::CreateWorkflow::orchestrate(&runtime_plugins, input).await
105    }
106
107    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
108    pub fn customize(
109        self,
110    ) -> crate::client::customize::CustomizableOperation<
111        crate::operation::create_workflow::CreateWorkflowOutput,
112        crate::operation::create_workflow::CreateWorkflowError,
113        Self,
114    > {
115        crate::client::customize::CustomizableOperation::new(self)
116    }
117    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
118        self.set_config_override(::std::option::Option::Some(config_override.into()));
119        self
120    }
121
122    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
123        self.config_override = config_override;
124        self
125    }
126    /// <p>Name (optional but highly recommended) for the workflow to locate relevant information in the CloudWatch logs and Amazon Web Services HealthOmics console.</p>
127    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128        self.inner = self.inner.name(input.into());
129        self
130    }
131    /// <p>Name (optional but highly recommended) for the workflow to locate relevant information in the CloudWatch logs and Amazon Web Services HealthOmics console.</p>
132    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133        self.inner = self.inner.set_name(input);
134        self
135    }
136    /// <p>Name (optional but highly recommended) for the workflow to locate relevant information in the CloudWatch logs and Amazon Web Services HealthOmics console.</p>
137    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
138        self.inner.get_name()
139    }
140    /// <p>A description for the workflow.</p>
141    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142        self.inner = self.inner.description(input.into());
143        self
144    }
145    /// <p>A description for the workflow.</p>
146    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147        self.inner = self.inner.set_description(input);
148        self
149    }
150    /// <p>A description for the workflow.</p>
151    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
152        self.inner.get_description()
153    }
154    /// <p>The workflow engine for the workflow. By default, Amazon Web Services HealthOmics detects the engine automatically from your workflow definition. Provide a value if you have workflow definition files from more than one engine in your zip file, or to use WDL lenient.</p>
155    /// <p>WDL lenient is designed to handle workflows migrated from Cromwell. It supports customer Cromwell directives and some non-conformant logic. For details, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-wdl-type-conversion.html">Implicit type conversion in WDL lenient</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
156    pub fn engine(mut self, input: crate::types::WorkflowEngine) -> Self {
157        self.inner = self.inner.engine(input);
158        self
159    }
160    /// <p>The workflow engine for the workflow. By default, Amazon Web Services HealthOmics detects the engine automatically from your workflow definition. Provide a value if you have workflow definition files from more than one engine in your zip file, or to use WDL lenient.</p>
161    /// <p>WDL lenient is designed to handle workflows migrated from Cromwell. It supports customer Cromwell directives and some non-conformant logic. For details, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-wdl-type-conversion.html">Implicit type conversion in WDL lenient</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
162    pub fn set_engine(mut self, input: ::std::option::Option<crate::types::WorkflowEngine>) -> Self {
163        self.inner = self.inner.set_engine(input);
164        self
165    }
166    /// <p>The workflow engine for the workflow. By default, Amazon Web Services HealthOmics detects the engine automatically from your workflow definition. Provide a value if you have workflow definition files from more than one engine in your zip file, or to use WDL lenient.</p>
167    /// <p>WDL lenient is designed to handle workflows migrated from Cromwell. It supports customer Cromwell directives and some non-conformant logic. For details, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-wdl-type-conversion.html">Implicit type conversion in WDL lenient</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
168    pub fn get_engine(&self) -> &::std::option::Option<crate::types::WorkflowEngine> {
169        self.inner.get_engine()
170    }
171    /// <p>A ZIP archive containing the main workflow definition file and dependencies that it imports for the workflow. You can use a file with a ://fileb prefix instead of the Base64 string. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-defn-requirements.html">Workflow definition requirements</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
172    pub fn definition_zip(mut self, input: ::aws_smithy_types::Blob) -> Self {
173        self.inner = self.inner.definition_zip(input);
174        self
175    }
176    /// <p>A ZIP archive containing the main workflow definition file and dependencies that it imports for the workflow. You can use a file with a ://fileb prefix instead of the Base64 string. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-defn-requirements.html">Workflow definition requirements</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
177    pub fn set_definition_zip(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
178        self.inner = self.inner.set_definition_zip(input);
179        self
180    }
181    /// <p>A ZIP archive containing the main workflow definition file and dependencies that it imports for the workflow. You can use a file with a ://fileb prefix instead of the Base64 string. For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/workflow-defn-requirements.html">Workflow definition requirements</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>
182    pub fn get_definition_zip(&self) -> &::std::option::Option<::aws_smithy_types::Blob> {
183        self.inner.get_definition_zip()
184    }
185    /// <p>The S3 URI of a definition for the workflow. The S3 bucket must be in the same region as the workflow.</p>
186    pub fn definition_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
187        self.inner = self.inner.definition_uri(input.into());
188        self
189    }
190    /// <p>The S3 URI of a definition for the workflow. The S3 bucket must be in the same region as the workflow.</p>
191    pub fn set_definition_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
192        self.inner = self.inner.set_definition_uri(input);
193        self
194    }
195    /// <p>The S3 URI of a definition for the workflow. The S3 bucket must be in the same region as the workflow.</p>
196    pub fn get_definition_uri(&self) -> &::std::option::Option<::std::string::String> {
197        self.inner.get_definition_uri()
198    }
199    /// <p>The path of the main definition file for the workflow. 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>
200    pub fn main(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
201        self.inner = self.inner.main(input.into());
202        self
203    }
204    /// <p>The path of the main definition file for the workflow. 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>
205    pub fn set_main(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
206        self.inner = self.inner.set_main(input);
207        self
208    }
209    /// <p>The path of the main definition file for the workflow. 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>
210    pub fn get_main(&self) -> &::std::option::Option<::std::string::String> {
211        self.inner.get_main()
212    }
213    ///
214    /// Adds a key-value pair to `parameterTemplate`.
215    ///
216    /// To override the contents of this collection use [`set_parameter_template`](Self::set_parameter_template).
217    ///
218    /// <p>A parameter template for the workflow. 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>
219    pub fn parameter_template(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::WorkflowParameter) -> Self {
220        self.inner = self.inner.parameter_template(k.into(), v);
221        self
222    }
223    /// <p>A parameter template for the workflow. 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>
224    pub fn set_parameter_template(
225        mut self,
226        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkflowParameter>>,
227    ) -> Self {
228        self.inner = self.inner.set_parameter_template(input);
229        self
230    }
231    /// <p>A parameter template for the workflow. 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>
232    pub fn get_parameter_template(
233        &self,
234    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkflowParameter>> {
235        self.inner.get_parameter_template()
236    }
237    /// <p>The default static storage capacity (in gibibytes) for runs that use this workflow or 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>
238    pub fn storage_capacity(mut self, input: i32) -> Self {
239        self.inner = self.inner.storage_capacity(input);
240        self
241    }
242    /// <p>The default static storage capacity (in gibibytes) for runs that use this workflow or 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>
243    pub fn set_storage_capacity(mut self, input: ::std::option::Option<i32>) -> Self {
244        self.inner = self.inner.set_storage_capacity(input);
245        self
246    }
247    /// <p>The default static storage capacity (in gibibytes) for runs that use this workflow or 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>
248    pub fn get_storage_capacity(&self) -> &::std::option::Option<i32> {
249        self.inner.get_storage_capacity()
250    }
251    ///
252    /// Adds a key-value pair to `tags`.
253    ///
254    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
255    ///
256    /// <p>Tags for the workflow. 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>
257    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
258        self.inner = self.inner.tags(k.into(), v.into());
259        self
260    }
261    /// <p>Tags for the workflow. 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>
262    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
263        self.inner = self.inner.set_tags(input);
264        self
265    }
266    /// <p>Tags for the workflow. 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>
267    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
268        self.inner.get_tags()
269    }
270    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
271    pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
272        self.inner = self.inner.request_id(input.into());
273        self
274    }
275    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
276    pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
277        self.inner = self.inner.set_request_id(input);
278        self
279    }
280    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
281    pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
282        self.inner.get_request_id()
283    }
284    /// <p>The computational accelerator specified to run the workflow.</p>
285    pub fn accelerators(mut self, input: crate::types::Accelerators) -> Self {
286        self.inner = self.inner.accelerators(input);
287        self
288    }
289    /// <p>The computational accelerator specified to run the workflow.</p>
290    pub fn set_accelerators(mut self, input: ::std::option::Option<crate::types::Accelerators>) -> Self {
291        self.inner = self.inner.set_accelerators(input);
292        self
293    }
294    /// <p>The computational accelerator specified to run the workflow.</p>
295    pub fn get_accelerators(&self) -> &::std::option::Option<crate::types::Accelerators> {
296        self.inner.get_accelerators()
297    }
298    /// <p>The default storage type for runs that use this workflow. 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. <code>STATIC</code> 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>
299    pub fn storage_type(mut self, input: crate::types::StorageType) -> Self {
300        self.inner = self.inner.storage_type(input);
301        self
302    }
303    /// <p>The default storage type for runs that use this workflow. 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. <code>STATIC</code> 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>
304    pub fn set_storage_type(mut self, input: ::std::option::Option<crate::types::StorageType>) -> Self {
305        self.inner = self.inner.set_storage_type(input);
306        self
307    }
308    /// <p>The default storage type for runs that use this workflow. 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. <code>STATIC</code> 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>
309    pub fn get_storage_type(&self) -> &::std::option::Option<crate::types::StorageType> {
310        self.inner.get_storage_type()
311    }
312    /// <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>
313    pub fn container_registry_map(mut self, input: crate::types::ContainerRegistryMap) -> Self {
314        self.inner = self.inner.container_registry_map(input);
315        self
316    }
317    /// <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>
318    pub fn set_container_registry_map(mut self, input: ::std::option::Option<crate::types::ContainerRegistryMap>) -> Self {
319        self.inner = self.inner.set_container_registry_map(input);
320        self
321    }
322    /// <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>
323    pub fn get_container_registry_map(&self) -> &::std::option::Option<crate::types::ContainerRegistryMap> {
324        self.inner.get_container_registry_map()
325    }
326    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
327    pub fn container_registry_map_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
328        self.inner = self.inner.container_registry_map_uri(input.into());
329        self
330    }
331    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
332    pub fn set_container_registry_map_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
333        self.inner = self.inner.set_container_registry_map_uri(input);
334        self
335    }
336    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
337    pub fn get_container_registry_map_uri(&self) -> &::std::option::Option<::std::string::String> {
338        self.inner.get_container_registry_map_uri()
339    }
340    /// <p>The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.</p>
341    pub fn readme_markdown(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
342        self.inner = self.inner.readme_markdown(input.into());
343        self
344    }
345    /// <p>The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.</p>
346    pub fn set_readme_markdown(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
347        self.inner = self.inner.set_readme_markdown(input);
348        self
349    }
350    /// <p>The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.</p>
351    pub fn get_readme_markdown(&self) -> &::std::option::Option<::std::string::String> {
352        self.inner.get_readme_markdown()
353    }
354    /// <p>The path to the workflow parameter template JSON file within the repository. This file defines the input parameters for runs that use this workflow. If not specified, the workflow will be created without a parameter template.</p>
355    pub fn parameter_template_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
356        self.inner = self.inner.parameter_template_path(input.into());
357        self
358    }
359    /// <p>The path to the workflow parameter template JSON file within the repository. This file defines the input parameters for runs that use this workflow. If not specified, the workflow will be created without a parameter template.</p>
360    pub fn set_parameter_template_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
361        self.inner = self.inner.set_parameter_template_path(input);
362        self
363    }
364    /// <p>The path to the workflow parameter template JSON file within the repository. This file defines the input parameters for runs that use this workflow. If not specified, the workflow will be created without a parameter template.</p>
365    pub fn get_parameter_template_path(&self) -> &::std::option::Option<::std::string::String> {
366        self.inner.get_parameter_template_path()
367    }
368    /// <p>The path to the workflow 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>
369    pub fn readme_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
370        self.inner = self.inner.readme_path(input.into());
371        self
372    }
373    /// <p>The path to the workflow 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>
374    pub fn set_readme_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
375        self.inner = self.inner.set_readme_path(input);
376        self
377    }
378    /// <p>The path to the workflow 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>
379    pub fn get_readme_path(&self) -> &::std::option::Option<::std::string::String> {
380        self.inner.get_readme_path()
381    }
382    /// <p>The repository information for the workflow definition. This allows you to source your workflow definition directly from a code repository.</p>
383    pub fn definition_repository(mut self, input: crate::types::DefinitionRepository) -> Self {
384        self.inner = self.inner.definition_repository(input);
385        self
386    }
387    /// <p>The repository information for the workflow definition. This allows you to source your workflow definition directly from a code repository.</p>
388    pub fn set_definition_repository(mut self, input: ::std::option::Option<crate::types::DefinitionRepository>) -> Self {
389        self.inner = self.inner.set_definition_repository(input);
390        self
391    }
392    /// <p>The repository information for the workflow definition. This allows you to source your workflow definition directly from a code repository.</p>
393    pub fn get_definition_repository(&self) -> &::std::option::Option<crate::types::DefinitionRepository> {
394        self.inner.get_definition_repository()
395    }
396    /// <p>The Amazon Web Services account ID of the expected owner of the S3 bucket that contains the workflow definition. If not specified, the service skips the validation.</p>
397    pub fn workflow_bucket_owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
398        self.inner = self.inner.workflow_bucket_owner_id(input.into());
399        self
400    }
401    /// <p>The Amazon Web Services account ID of the expected owner of the S3 bucket that contains the workflow definition. If not specified, the service skips the validation.</p>
402    pub fn set_workflow_bucket_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
403        self.inner = self.inner.set_workflow_bucket_owner_id(input);
404        self
405    }
406    /// <p>The Amazon Web Services account ID of the expected owner of the S3 bucket that contains the workflow definition. If not specified, the service skips the validation.</p>
407    pub fn get_workflow_bucket_owner_id(&self) -> &::std::option::Option<::std::string::String> {
408        self.inner.get_workflow_bucket_owner_id()
409    }
410    /// <p>The S3 URI of the README file for the workflow. This file provides documentation and usage information for the workflow. Requirements include:</p>
411    /// <ul>
412    /// <li>
413    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
414    /// <li>
415    /// <p>The requester must have access to the S3 bucket and object.</p></li>
416    /// <li>
417    /// <p>The max README content length is 500 KiB.</p></li>
418    /// </ul>
419    pub fn readme_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
420        self.inner = self.inner.readme_uri(input.into());
421        self
422    }
423    /// <p>The S3 URI of the README file for the workflow. This file provides documentation and usage information for the workflow. Requirements include:</p>
424    /// <ul>
425    /// <li>
426    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
427    /// <li>
428    /// <p>The requester must have access to the S3 bucket and object.</p></li>
429    /// <li>
430    /// <p>The max README content length is 500 KiB.</p></li>
431    /// </ul>
432    pub fn set_readme_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
433        self.inner = self.inner.set_readme_uri(input);
434        self
435    }
436    /// <p>The S3 URI of the README file for the workflow. This file provides documentation and usage information for the workflow. Requirements include:</p>
437    /// <ul>
438    /// <li>
439    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
440    /// <li>
441    /// <p>The requester must have access to the S3 bucket and object.</p></li>
442    /// <li>
443    /// <p>The max README content length is 500 KiB.</p></li>
444    /// </ul>
445    pub fn get_readme_uri(&self) -> &::std::option::Option<::std::string::String> {
446        self.inner.get_readme_uri()
447    }
448}