/* * 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 cloud9-2017-09-23.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.Cloud9.Model { /// /// Container for the parameters to the CreateEnvironmentEC2 operation. /// Creates an Cloud9 development environment, launches an Amazon Elastic Compute Cloud /// (Amazon EC2) instance, and then connects from the instance to the environment. /// public partial class CreateEnvironmentEC2Request : AmazonCloud9Request { private int? _automaticStopTimeMinutes; private string _clientRequestToken; private ConnectionType _connectionType; private string _description; private bool? _dryRun; private string _imageId; private string _instanceType; private string _name; private string _ownerArn; private string _subnetId; private List _tags = new List(); /// /// Gets and sets the property AutomaticStopTimeMinutes. /// /// The number of minutes until the running instance is shut down after the environment /// has last been used. /// /// [AWSProperty(Min=0, Max=20160)] public int AutomaticStopTimeMinutes { get { return this._automaticStopTimeMinutes.GetValueOrDefault(); } set { this._automaticStopTimeMinutes = value; } } // Check to see if AutomaticStopTimeMinutes property is set internal bool IsSetAutomaticStopTimeMinutes() { return this._automaticStopTimeMinutes.HasValue; } /// /// Gets and sets the property ClientRequestToken. /// /// A unique, case-sensitive string that helps Cloud9 to ensure this operation completes /// no more than one time. /// /// /// /// For more information, see Client /// Tokens in the Amazon EC2 API Reference. /// /// public string ClientRequestToken { get { return this._clientRequestToken; } set { this._clientRequestToken = value; } } // Check to see if ClientRequestToken property is set internal bool IsSetClientRequestToken() { return this._clientRequestToken != null; } /// /// Gets and sets the property ConnectionType. /// /// The connection type used for connecting to an Amazon EC2 environment. Valid values /// are CONNECT_SSH (default) and CONNECT_SSM (connected through /// Amazon EC2 Systems Manager). /// /// /// /// For more information, see Accessing /// no-ingress EC2 instances with Amazon EC2 Systems Manager in the Cloud9 User /// Guide. /// /// public ConnectionType ConnectionType { get { return this._connectionType; } set { this._connectionType = value; } } // Check to see if ConnectionType property is set internal bool IsSetConnectionType() { return this._connectionType != null; } /// /// Gets and sets the property Description. /// /// The description of the environment to create. /// /// [AWSProperty(Sensitive=true, Max=200)] 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 DryRun. /// /// Checks whether you have the required permissions for the action, without actually /// making the request, and provides an error response. If you have the required permissions, /// the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. /// /// public bool DryRun { get { return this._dryRun.GetValueOrDefault(); } set { this._dryRun = value; } } // Check to see if DryRun property is set internal bool IsSetDryRun() { return this._dryRun.HasValue; } /// /// Gets and sets the property ImageId. /// /// The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. /// To choose an AMI for the instance, you must specify a valid AMI alias or a valid Amazon /// EC2 Systems Manager (SSM) path. /// /// /// /// The default Amazon Linux AMI is currently used if the parameter isn't explicitly assigned /// a value in the request. /// /// /// /// In the future the parameter for Amazon Linux will no longer be available when you /// specify an AMI for your instance. Amazon Linux 2 will then become the default AMI, /// which is used to launch your instance if no parameter is explicitly defined. /// /// /// /// AMI aliases /// ///
  • /// /// Amazon Linux (default): amazonlinux-1-x86_64 /// ///
  • /// /// Amazon Linux 2: amazonlinux-2-x86_64 /// ///
  • /// /// Ubuntu 18.04: ubuntu-18.04-x86_64 /// ///
/// /// SSM paths /// ///
  • /// /// Amazon Linux (default): resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64 /// /// ///
  • /// /// Amazon Linux 2: resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64 /// /// ///
  • /// /// Ubuntu 18.04: resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64 /// /// ///
///
[AWSProperty(Max=512)] public string ImageId { get { return this._imageId; } set { this._imageId = value; } } // Check to see if ImageId property is set internal bool IsSetImageId() { return this._imageId != null; } /// /// Gets and sets the property InstanceType. /// /// The type of instance to connect to the environment (for example, t2.micro). /// /// [AWSProperty(Required=true, Min=5, Max=20)] public string InstanceType { get { return this._instanceType; } set { this._instanceType = value; } } // Check to see if InstanceType property is set internal bool IsSetInstanceType() { return this._instanceType != null; } /// /// Gets and sets the property Name. /// /// The name of the environment to create. /// /// /// /// This name is visible to other IAM users in the same Amazon Web Services account. /// /// [AWSProperty(Required=true, Min=1, Max=60)] 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 OwnerArn. /// /// The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of /// any IAM principal. If this value is not specified, the ARN defaults to this environment's /// creator. /// /// public string OwnerArn { get { return this._ownerArn; } set { this._ownerArn = value; } } // Check to see if OwnerArn property is set internal bool IsSetOwnerArn() { return this._ownerArn != null; } /// /// Gets and sets the property SubnetId. /// /// The ID of the subnet in Amazon VPC that Cloud9 will use to communicate with the Amazon /// EC2 instance. /// /// [AWSProperty(Min=15, Max=24)] public string SubnetId { get { return this._subnetId; } set { this._subnetId = value; } } // Check to see if SubnetId property is set internal bool IsSetSubnetId() { return this._subnetId != null; } /// /// Gets and sets the property Tags. /// /// An array of key-value pairs that will be associated with the new Cloud9 development /// environment. /// /// [AWSProperty(Sensitive=true, Min=0, Max=200)] 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; } } }