// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateServiceTemplateVersion`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`client_token(impl Into<String>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::set_client_token): <p>When included, if two identical requests are made with the same client token, Proton returns the service template version that the first request created.</p>
/// - [`template_name(impl Into<String>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::template_name) / [`set_template_name(Option<String>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::set_template_name): <p>The name of the service template.</p>
/// - [`description(impl Into<String>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::set_description): <p>A description of the new version of a service template.</p>
/// - [`major_version(impl Into<String>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::major_version) / [`set_major_version(Option<String>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::set_major_version): <p>To create a new minor version of the service template, include a <code>major Version</code>.</p> <p>To create a new major and minor version of the service template, <i>exclude</i> <code>major Version</code>.</p>
/// - [`source(TemplateVersionSourceInput)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::source) / [`set_source(Option<TemplateVersionSourceInput>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::set_source): <p>An object that includes the template bundle S3 bucket path and name for the new version of a service template.</p>
/// - [`compatible_environment_templates(Vec<CompatibleEnvironmentTemplateInput>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::compatible_environment_templates) / [`set_compatible_environment_templates(Option<Vec<CompatibleEnvironmentTemplateInput>>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::set_compatible_environment_templates): <p>An array of environment template objects that are compatible with the new service template version. A service instance based on this service template version can run in environments based on compatible templates.</p>
/// - [`tags(Vec<Tag>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::set_tags): <p>An optional list of metadata items that you can associate with the Proton service template version. A tag is a key-value pair.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/resources.html">Proton resources and tagging</a> in the <i>Proton User Guide</i>.</p>
/// - [`supported_component_sources(Vec<ServiceTemplateSupportedComponentSourceType>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::supported_component_sources) / [`set_supported_component_sources(Option<Vec<ServiceTemplateSupportedComponentSourceType>>)`](crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::set_supported_component_sources): <p>An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.</p> <p>For more information about components, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html">Proton components</a> in the <i>Proton User Guide</i>.</p>
/// - On success, responds with [`CreateServiceTemplateVersionOutput`](crate::operation::create_service_template_version::CreateServiceTemplateVersionOutput) with field(s):
/// - [`service_template_version(Option<ServiceTemplateVersion>)`](crate::operation::create_service_template_version::CreateServiceTemplateVersionOutput::service_template_version): <p>The service template version summary of detail data that's returned by Proton.</p>
/// - On failure, responds with [`SdkError<CreateServiceTemplateVersionError>`](crate::operation::create_service_template_version::CreateServiceTemplateVersionError)
pub fn create_service_template_version(&self) -> crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder{
crate::operation::create_service_template_version::builders::CreateServiceTemplateVersionFluentBuilder::new(self.handle.clone())
}
}