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_output::CreateWorkflowOutputBuilder;
3
4pub use crate::operation::create_workflow::_create_workflow_input::CreateWorkflowInputBuilder;
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. 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>
155    pub fn engine(mut self, input: crate::types::WorkflowEngine) -> Self {
156        self.inner = self.inner.engine(input);
157        self
158    }
159    /// <p>The workflow engine for the workflow. 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>
160    pub fn set_engine(mut self, input: ::std::option::Option<crate::types::WorkflowEngine>) -> Self {
161        self.inner = self.inner.set_engine(input);
162        self
163    }
164    /// <p>The workflow engine for the workflow. 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>
165    pub fn get_engine(&self) -> &::std::option::Option<crate::types::WorkflowEngine> {
166        self.inner.get_engine()
167    }
168    /// <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>
169    pub fn definition_zip(mut self, input: ::aws_smithy_types::Blob) -> Self {
170        self.inner = self.inner.definition_zip(input);
171        self
172    }
173    /// <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>
174    pub fn set_definition_zip(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
175        self.inner = self.inner.set_definition_zip(input);
176        self
177    }
178    /// <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>
179    pub fn get_definition_zip(&self) -> &::std::option::Option<::aws_smithy_types::Blob> {
180        self.inner.get_definition_zip()
181    }
182    /// <p>The S3 URI of a definition for the workflow. The S3 bucket must be in the same region as the workflow.</p>
183    pub fn definition_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
184        self.inner = self.inner.definition_uri(input.into());
185        self
186    }
187    /// <p>The S3 URI of a definition for the workflow. The S3 bucket must be in the same region as the workflow.</p>
188    pub fn set_definition_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
189        self.inner = self.inner.set_definition_uri(input);
190        self
191    }
192    /// <p>The S3 URI of a definition for the workflow. The S3 bucket must be in the same region as the workflow.</p>
193    pub fn get_definition_uri(&self) -> &::std::option::Option<::std::string::String> {
194        self.inner.get_definition_uri()
195    }
196    /// <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>
197    pub fn main(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
198        self.inner = self.inner.main(input.into());
199        self
200    }
201    /// <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>
202    pub fn set_main(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
203        self.inner = self.inner.set_main(input);
204        self
205    }
206    /// <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>
207    pub fn get_main(&self) -> &::std::option::Option<::std::string::String> {
208        self.inner.get_main()
209    }
210    ///
211    /// Adds a key-value pair to `parameterTemplate`.
212    ///
213    /// To override the contents of this collection use [`set_parameter_template`](Self::set_parameter_template).
214    ///
215    /// <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>
216    pub fn parameter_template(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::WorkflowParameter) -> Self {
217        self.inner = self.inner.parameter_template(k.into(), v);
218        self
219    }
220    /// <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>
221    pub fn set_parameter_template(
222        mut self,
223        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkflowParameter>>,
224    ) -> Self {
225        self.inner = self.inner.set_parameter_template(input);
226        self
227    }
228    /// <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>
229    pub fn get_parameter_template(
230        &self,
231    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkflowParameter>> {
232        self.inner.get_parameter_template()
233    }
234    /// <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>
235    pub fn storage_capacity(mut self, input: i32) -> Self {
236        self.inner = self.inner.storage_capacity(input);
237        self
238    }
239    /// <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>
240    pub fn set_storage_capacity(mut self, input: ::std::option::Option<i32>) -> Self {
241        self.inner = self.inner.set_storage_capacity(input);
242        self
243    }
244    /// <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>
245    pub fn get_storage_capacity(&self) -> &::std::option::Option<i32> {
246        self.inner.get_storage_capacity()
247    }
248    ///
249    /// Adds a key-value pair to `tags`.
250    ///
251    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
252    ///
253    /// <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>
254    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
255        self.inner = self.inner.tags(k.into(), v.into());
256        self
257    }
258    /// <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>
259    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
260        self.inner = self.inner.set_tags(input);
261        self
262    }
263    /// <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>
264    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
265        self.inner.get_tags()
266    }
267    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
268    pub fn request_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
269        self.inner = self.inner.request_id(input.into());
270        self
271    }
272    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
273    pub fn set_request_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
274        self.inner = self.inner.set_request_id(input);
275        self
276    }
277    /// <p>An idempotency token to ensure that duplicate workflows are not created when Amazon Web Services HealthOmics submits retry requests.</p>
278    pub fn get_request_id(&self) -> &::std::option::Option<::std::string::String> {
279        self.inner.get_request_id()
280    }
281    /// <p>The computational accelerator specified to run the workflow.</p>
282    pub fn accelerators(mut self, input: crate::types::Accelerators) -> Self {
283        self.inner = self.inner.accelerators(input);
284        self
285    }
286    /// <p>The computational accelerator specified to run the workflow.</p>
287    pub fn set_accelerators(mut self, input: ::std::option::Option<crate::types::Accelerators>) -> Self {
288        self.inner = self.inner.set_accelerators(input);
289        self
290    }
291    /// <p>The computational accelerator specified to run the workflow.</p>
292    pub fn get_accelerators(&self) -> &::std::option::Option<crate::types::Accelerators> {
293        self.inner.get_accelerators()
294    }
295    /// <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>
296    pub fn storage_type(mut self, input: crate::types::StorageType) -> Self {
297        self.inner = self.inner.storage_type(input);
298        self
299    }
300    /// <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>
301    pub fn set_storage_type(mut self, input: ::std::option::Option<crate::types::StorageType>) -> Self {
302        self.inner = self.inner.set_storage_type(input);
303        self
304    }
305    /// <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>
306    pub fn get_storage_type(&self) -> &::std::option::Option<crate::types::StorageType> {
307        self.inner.get_storage_type()
308    }
309    /// <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>
310    pub fn container_registry_map(mut self, input: crate::types::ContainerRegistryMap) -> Self {
311        self.inner = self.inner.container_registry_map(input);
312        self
313    }
314    /// <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>
315    pub fn set_container_registry_map(mut self, input: ::std::option::Option<crate::types::ContainerRegistryMap>) -> Self {
316        self.inner = self.inner.set_container_registry_map(input);
317        self
318    }
319    /// <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>
320    pub fn get_container_registry_map(&self) -> &::std::option::Option<crate::types::ContainerRegistryMap> {
321        self.inner.get_container_registry_map()
322    }
323    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
324    pub fn container_registry_map_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
325        self.inner = self.inner.container_registry_map_uri(input.into());
326        self
327    }
328    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
329    pub fn set_container_registry_map_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
330        self.inner = self.inner.set_container_registry_map_uri(input);
331        self
332    }
333    /// <p>(Optional) URI of the S3 location for the registry mapping file.</p>
334    pub fn get_container_registry_map_uri(&self) -> &::std::option::Option<::std::string::String> {
335        self.inner.get_container_registry_map_uri()
336    }
337    /// <p>The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.</p>
338    pub fn readme_markdown(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
339        self.inner = self.inner.readme_markdown(input.into());
340        self
341    }
342    /// <p>The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.</p>
343    pub fn set_readme_markdown(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
344        self.inner = self.inner.set_readme_markdown(input);
345        self
346    }
347    /// <p>The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.</p>
348    pub fn get_readme_markdown(&self) -> &::std::option::Option<::std::string::String> {
349        self.inner.get_readme_markdown()
350    }
351    /// <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>
352    pub fn parameter_template_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
353        self.inner = self.inner.parameter_template_path(input.into());
354        self
355    }
356    /// <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>
357    pub fn set_parameter_template_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
358        self.inner = self.inner.set_parameter_template_path(input);
359        self
360    }
361    /// <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>
362    pub fn get_parameter_template_path(&self) -> &::std::option::Option<::std::string::String> {
363        self.inner.get_parameter_template_path()
364    }
365    /// <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>
366    pub fn readme_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
367        self.inner = self.inner.readme_path(input.into());
368        self
369    }
370    /// <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>
371    pub fn set_readme_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
372        self.inner = self.inner.set_readme_path(input);
373        self
374    }
375    /// <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>
376    pub fn get_readme_path(&self) -> &::std::option::Option<::std::string::String> {
377        self.inner.get_readme_path()
378    }
379    /// <p>The repository information for the workflow definition. This allows you to source your workflow definition directly from a code repository.</p>
380    pub fn definition_repository(mut self, input: crate::types::DefinitionRepository) -> Self {
381        self.inner = self.inner.definition_repository(input);
382        self
383    }
384    /// <p>The repository information for the workflow definition. This allows you to source your workflow definition directly from a code repository.</p>
385    pub fn set_definition_repository(mut self, input: ::std::option::Option<crate::types::DefinitionRepository>) -> Self {
386        self.inner = self.inner.set_definition_repository(input);
387        self
388    }
389    /// <p>The repository information for the workflow definition. This allows you to source your workflow definition directly from a code repository.</p>
390    pub fn get_definition_repository(&self) -> &::std::option::Option<crate::types::DefinitionRepository> {
391        self.inner.get_definition_repository()
392    }
393    /// <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>
394    pub fn workflow_bucket_owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
395        self.inner = self.inner.workflow_bucket_owner_id(input.into());
396        self
397    }
398    /// <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>
399    pub fn set_workflow_bucket_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
400        self.inner = self.inner.set_workflow_bucket_owner_id(input);
401        self
402    }
403    /// <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>
404    pub fn get_workflow_bucket_owner_id(&self) -> &::std::option::Option<::std::string::String> {
405        self.inner.get_workflow_bucket_owner_id()
406    }
407    /// <p>The S3 URI of the README file for the workflow. This file provides documentation and usage information for the workflow. Requirements include:</p>
408    /// <ul>
409    /// <li>
410    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
411    /// <li>
412    /// <p>The requester must have access to the S3 bucket and object.</p></li>
413    /// <li>
414    /// <p>The max README content length is 500 KiB.</p></li>
415    /// </ul>
416    pub fn readme_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
417        self.inner = self.inner.readme_uri(input.into());
418        self
419    }
420    /// <p>The S3 URI of the README file for the workflow. This file provides documentation and usage information for the workflow. Requirements include:</p>
421    /// <ul>
422    /// <li>
423    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
424    /// <li>
425    /// <p>The requester must have access to the S3 bucket and object.</p></li>
426    /// <li>
427    /// <p>The max README content length is 500 KiB.</p></li>
428    /// </ul>
429    pub fn set_readme_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
430        self.inner = self.inner.set_readme_uri(input);
431        self
432    }
433    /// <p>The S3 URI of the README file for the workflow. This file provides documentation and usage information for the workflow. Requirements include:</p>
434    /// <ul>
435    /// <li>
436    /// <p>The S3 URI must begin with <code>s3://USER-OWNED-BUCKET/</code></p></li>
437    /// <li>
438    /// <p>The requester must have access to the S3 bucket and object.</p></li>
439    /// <li>
440    /// <p>The max README content length is 500 KiB.</p></li>
441    /// </ul>
442    pub fn get_readme_uri(&self) -> &::std::option::Option<::std::string::String> {
443        self.inner.get_readme_uri()
444    }
445}