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}