aws_sdk_proton/client/create_environment.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 [`CreateEnvironment`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`name(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_name):<br>required: **true**<br><p>The name of the environment.</p><br>
7 /// - [`template_name(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::template_name) / [`set_template_name(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_template_name):<br>required: **true**<br><p>The name of the environment template. For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-templates.html">Environment Templates</a> in the <i>Proton User Guide</i>.</p><br>
8 /// - [`template_major_version(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::template_major_version) / [`set_template_major_version(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_template_major_version):<br>required: **true**<br><p>The major version of the environment template.</p><br>
9 /// - [`template_minor_version(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::template_minor_version) / [`set_template_minor_version(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_template_minor_version):<br>required: **false**<br><p>The minor version of the environment template.</p><br>
10 /// - [`description(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_description):<br>required: **false**<br><p>A description of the environment that's being created and deployed.</p><br>
11 /// - [`spec(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::spec) / [`set_spec(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_spec):<br>required: **true**<br><p>A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-environments.html">Environments</a> in the <i>Proton User Guide</i>.</p><br>
12 /// - [`proton_service_role_arn(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::proton_service_role_arn) / [`set_proton_service_role_arn(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_proton_service_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.</p> <p>To use Amazon Web Services-managed provisioning for the environment, specify either the <code>environmentAccountConnectionId</code> or <code>protonServiceRoleArn</code> parameter and omit the <code>provisioningRepository</code> parameter.</p><br>
13 /// - [`environment_account_connection_id(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::environment_account_connection_id) / [`set_environment_account_connection_id(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_environment_account_connection_id):<br>required: **false**<br><p>The ID of the environment account connection that you provide if you're provisioning your environment infrastructure resources to an environment account. For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html">Environment account connections</a> in the <i>Proton User guide</i>.</p> <p>To use Amazon Web Services-managed provisioning for the environment, specify either the <code>environmentAccountConnectionId</code> or <code>protonServiceRoleArn</code> parameter and omit the <code>provisioningRepository</code> parameter.</p><br>
14 /// - [`tags(Tag)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_tags):<br>required: **false**<br><p>An optional list of metadata items that you can associate with the Proton environment. 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><br>
15 /// - [`provisioning_repository(RepositoryBranchInput)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::provisioning_repository) / [`set_provisioning_repository(Option<RepositoryBranchInput>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_provisioning_repository):<br>required: **false**<br><p>The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. A linked repository is a repository that has been registered with Proton. For more information, see <code>CreateRepository</code>.</p> <p>To use self-managed provisioning for the environment, specify this parameter and omit the <code>environmentAccountConnectionId</code> and <code>protonServiceRoleArn</code> parameters.</p><br>
16 /// - [`component_role_arn(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::component_role_arn) / [`set_component_role_arn(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_component_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.</p> <p>You must specify <code>componentRoleArn</code> to allow directly defined components to be associated with this environment.</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><br>
17 /// - [`codebuild_role_arn(impl Into<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::codebuild_role_arn) / [`set_codebuild_role_arn(Option<String>)`](crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::set_codebuild_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using CodeBuild-based provisioning on your behalf.</p> <p>To use CodeBuild-based provisioning for the environment or for any service instance running in the environment, specify either the <code>environmentAccountConnectionId</code> or <code>codebuildRoleArn</code> parameter.</p><br>
18 /// - On success, responds with [`CreateEnvironmentOutput`](crate::operation::create_environment::CreateEnvironmentOutput) with field(s):
19 /// - [`environment(Option<Environment>)`](crate::operation::create_environment::CreateEnvironmentOutput::environment): <p>The environment detail data that's returned by Proton.</p>
20 /// - On failure, responds with [`SdkError<CreateEnvironmentError>`](crate::operation::create_environment::CreateEnvironmentError)
21 pub fn create_environment(&self) -> crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder {
22 crate::operation::create_environment::builders::CreateEnvironmentFluentBuilder::new(self.handle.clone())
23 }
24}