/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the proton-2020-07-20.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Proton.Model { /// /// Container for the parameters to the CreateEnvironment operation. /// Deploy a new environment. An Proton environment is created from an environment template /// that defines infrastructure and resources that can be shared across services. /// ///

You can provision environments using the following methods: /// /// ///

/// /// For more information, see Environments /// and Provisioning /// methods in the Proton User Guide. /// ///
public partial class CreateEnvironmentRequest : AmazonProtonRequest { private string _codebuildRoleArn; private string _componentRoleArn; private string _description; private string _environmentAccountConnectionId; private string _name; private string _protonServiceRoleArn; private RepositoryBranchInput _provisioningRepository; private string _spec; private List _tags = new List(); private string _templateMajorVersion; private string _templateMinorVersion; private string _templateName; /// /// Gets and sets the property CodebuildRoleArn. /// /// The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision /// infrastructure using CodeBuild-based provisioning on your behalf. /// /// /// /// To use CodeBuild-based provisioning for the environment or for any service instance /// running in the environment, specify either the environmentAccountConnectionId /// or codebuildRoleArn parameter. /// /// [AWSProperty(Min=1, Max=2048)] public string CodebuildRoleArn { get { return this._codebuildRoleArn; } set { this._codebuildRoleArn = value; } } // Check to see if CodebuildRoleArn property is set internal bool IsSetCodebuildRoleArn() { return this._codebuildRoleArn != null; } /// /// Gets and sets the property ComponentRoleArn. /// /// 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. /// /// /// /// You must specify componentRoleArn to allow directly defined components /// to be associated with this environment. /// /// /// /// For more information about components, see Proton /// components in the Proton User Guide. /// /// [AWSProperty(Min=1, Max=2048)] public string ComponentRoleArn { get { return this._componentRoleArn; } set { this._componentRoleArn = value; } } // Check to see if ComponentRoleArn property is set internal bool IsSetComponentRoleArn() { return this._componentRoleArn != null; } /// /// Gets and sets the property Description. /// /// A description of the environment that's being created and deployed. /// /// [AWSProperty(Sensitive=true, Min=0, Max=500)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property EnvironmentAccountConnectionId. /// /// 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 Environment /// account connections in the Proton User guide. /// /// /// /// To use Amazon Web Services-managed provisioning for the environment, specify either /// the environmentAccountConnectionId or protonServiceRoleArn /// parameter and omit the provisioningRepository parameter. /// /// public string EnvironmentAccountConnectionId { get { return this._environmentAccountConnectionId; } set { this._environmentAccountConnectionId = value; } } // Check to see if EnvironmentAccountConnectionId property is set internal bool IsSetEnvironmentAccountConnectionId() { return this._environmentAccountConnectionId != null; } /// /// Gets and sets the property Name. /// /// The name of the environment. /// /// [AWSProperty(Required=true, Min=1, Max=100)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property ProtonServiceRoleArn. /// /// The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make /// calls to other services on your behalf. /// /// /// /// To use Amazon Web Services-managed provisioning for the environment, specify either /// the environmentAccountConnectionId or protonServiceRoleArn /// parameter and omit the provisioningRepository parameter. /// /// [AWSProperty(Min=1, Max=200)] public string ProtonServiceRoleArn { get { return this._protonServiceRoleArn; } set { this._protonServiceRoleArn = value; } } // Check to see if ProtonServiceRoleArn property is set internal bool IsSetProtonServiceRoleArn() { return this._protonServiceRoleArn != null; } /// /// Gets and sets the property ProvisioningRepository. /// /// 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 CreateRepository. /// /// /// /// To use self-managed provisioning for the environment, specify this parameter and omit /// the environmentAccountConnectionId and protonServiceRoleArn /// parameters. /// /// public RepositoryBranchInput ProvisioningRepository { get { return this._provisioningRepository; } set { this._provisioningRepository = value; } } // Check to see if ProvisioningRepository property is set internal bool IsSetProvisioningRepository() { return this._provisioningRepository != null; } /// /// Gets and sets the property Spec. /// /// A YAML formatted string that provides inputs as defined in the environment template /// bundle schema file. For more information, see Environments /// in the Proton User Guide. /// /// [AWSProperty(Required=true, Sensitive=true, Min=1, Max=51200)] public string Spec { get { return this._spec; } set { this._spec = value; } } // Check to see if Spec property is set internal bool IsSetSpec() { return this._spec != null; } /// /// Gets and sets the property Tags. /// /// An optional list of metadata items that you can associate with the Proton environment. /// A tag is a key-value pair. /// /// /// /// For more information, see Proton /// resources and tagging in the Proton User Guide. /// /// [AWSProperty(Min=0, Max=50)] public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property TemplateMajorVersion. /// /// The major version of the environment template. /// /// [AWSProperty(Required=true, Min=1, Max=20)] public string TemplateMajorVersion { get { return this._templateMajorVersion; } set { this._templateMajorVersion = value; } } // Check to see if TemplateMajorVersion property is set internal bool IsSetTemplateMajorVersion() { return this._templateMajorVersion != null; } /// /// Gets and sets the property TemplateMinorVersion. /// /// The minor version of the environment template. /// /// [AWSProperty(Min=1, Max=20)] public string TemplateMinorVersion { get { return this._templateMinorVersion; } set { this._templateMinorVersion = value; } } // Check to see if TemplateMinorVersion property is set internal bool IsSetTemplateMinorVersion() { return this._templateMinorVersion != null; } /// /// Gets and sets the property TemplateName. /// /// The name of the environment template. For more information, see Environment /// Templates in the Proton User Guide. /// /// [AWSProperty(Required=true, Min=1, Max=100)] public string TemplateName { get { return this._templateName; } set { this._templateName = value; } } // Check to see if TemplateName property is set internal bool IsSetTemplateName() { return this._templateName != null; } } }