/* * 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 opsworks-2013-02-18.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.OpsWorks.Model { /// /// Container for the parameters to the CreateInstance operation. /// Creates an instance in a specified stack. For more information, see Adding /// an Instance to a Layer. /// /// /// /// Required Permissions: To use this action, an IAM user must have a Manage permissions /// level for the stack, or an attached policy that explicitly grants permissions. For /// more information on user permissions, see Managing /// User Permissions. /// /// public partial class CreateInstanceRequest : AmazonOpsWorksRequest { private string _agentVersion; private string _amiId; private Architecture _architecture; private AutoScalingType _autoScalingType; private string _availabilityZone; private List _blockDeviceMappings = new List(); private bool? _ebsOptimized; private string _hostname; private bool? _installUpdatesOnBoot; private string _instanceType; private List _layerIds = new List(); private string _os; private RootDeviceType _rootDeviceType; private string _sshKeyName; private string _stackId; private string _subnetId; private string _tenancy; private VirtualizationType _virtualizationType; /// /// Gets and sets the property AgentVersion. /// /// The default AWS OpsWorks Stacks agent version. You have the following options: /// ///
  • /// /// INHERIT - Use the stack's default agent version setting. /// ///
  • /// /// version_number - Use the specified agent version. This value overrides the /// stack's default setting. To update the agent version, edit the instance configuration /// and specify a new version. AWS OpsWorks Stacks then automatically installs that version /// on the instance. /// ///
/// /// The default setting is INHERIT. To specify an agent version, you must /// use the complete version number, not the abbreviated number shown on the console. /// For a list of available agent version numbers, call DescribeAgentVersions. /// AgentVersion cannot be set to Chef 12.2. /// ///
public string AgentVersion { get { return this._agentVersion; } set { this._agentVersion = value; } } // Check to see if AgentVersion property is set internal bool IsSetAgentVersion() { return this._agentVersion != null; } /// /// Gets and sets the property AmiId. /// /// A custom AMI ID to be used to create the instance. The AMI should be based on one /// of the supported operating systems. For more information, see Using /// Custom AMIs. /// /// /// /// If you specify a custom AMI, you must set Os to Custom. /// /// /// public string AmiId { get { return this._amiId; } set { this._amiId = value; } } // Check to see if AmiId property is set internal bool IsSetAmiId() { return this._amiId != null; } /// /// Gets and sets the property Architecture. /// /// The instance architecture. The default option is x86_64. Instance types /// do not necessarily support both architectures. For a list of the architectures that /// are supported by the different instance types, see Instance /// Families and Types. /// /// public Architecture Architecture { get { return this._architecture; } set { this._architecture = value; } } // Check to see if Architecture property is set internal bool IsSetArchitecture() { return this._architecture != null; } /// /// Gets and sets the property AutoScalingType. /// /// For load-based or time-based instances, the type. Windows stacks can use only time-based /// instances. /// /// public AutoScalingType AutoScalingType { get { return this._autoScalingType; } set { this._autoScalingType = value; } } // Check to see if AutoScalingType property is set internal bool IsSetAutoScalingType() { return this._autoScalingType != null; } /// /// Gets and sets the property AvailabilityZone. /// /// The instance Availability Zone. For more information, see Regions /// and Endpoints. /// /// public string AvailabilityZone { get { return this._availabilityZone; } set { this._availabilityZone = value; } } // Check to see if AvailabilityZone property is set internal bool IsSetAvailabilityZone() { return this._availabilityZone != null; } /// /// Gets and sets the property BlockDeviceMappings. /// /// An array of BlockDeviceMapping objects that specify the instance's block /// devices. For more information, see Block /// Device Mapping. Note that block device mappings are not supported for custom AMIs. /// /// public List BlockDeviceMappings { get { return this._blockDeviceMappings; } set { this._blockDeviceMappings = value; } } // Check to see if BlockDeviceMappings property is set internal bool IsSetBlockDeviceMappings() { return this._blockDeviceMappings != null && this._blockDeviceMappings.Count > 0; } /// /// Gets and sets the property EbsOptimized. /// /// Whether to create an Amazon EBS-optimized instance. /// /// public bool EbsOptimized { get { return this._ebsOptimized.GetValueOrDefault(); } set { this._ebsOptimized = value; } } // Check to see if EbsOptimized property is set internal bool IsSetEbsOptimized() { return this._ebsOptimized.HasValue; } /// /// Gets and sets the property Hostname. /// /// The instance host name. /// /// public string Hostname { get { return this._hostname; } set { this._hostname = value; } } // Check to see if Hostname property is set internal bool IsSetHostname() { return this._hostname != null; } /// /// Gets and sets the property InstallUpdatesOnBoot. /// /// Whether to install operating system and package updates when the instance boots. The /// default value is true. To control when updates are installed, set this /// value to false. You must then update your instances manually by using /// CreateDeployment to run the update_dependencies stack command /// or by manually running yum (Amazon Linux) or apt-get (Ubuntu) /// on the instances. /// /// /// /// We strongly recommend using the default value of true to ensure that /// your instances have the latest security updates. /// /// /// public bool InstallUpdatesOnBoot { get { return this._installUpdatesOnBoot.GetValueOrDefault(); } set { this._installUpdatesOnBoot = value; } } // Check to see if InstallUpdatesOnBoot property is set internal bool IsSetInstallUpdatesOnBoot() { return this._installUpdatesOnBoot.HasValue; } /// /// Gets and sets the property InstanceType. /// /// The instance type, such as t2.micro. For a list of supported instance /// types, open the stack in the console, choose Instances, and choose + Instance. /// The Size list contains the currently supported types. For more information, /// see Instance /// Families and Types. The parameter values that you use to specify the various types /// are in the API Name column of the Available Instance Types table. /// /// [AWSProperty(Required=true)] 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 LayerIds. /// /// An array that contains the instance's layer IDs. /// /// [AWSProperty(Required=true)] public List LayerIds { get { return this._layerIds; } set { this._layerIds = value; } } // Check to see if LayerIds property is set internal bool IsSetLayerIds() { return this._layerIds != null && this._layerIds.Count > 0; } /// /// Gets and sets the property Os. /// /// The instance's operating system, which must be set to one of the following. /// ///
  • /// /// A supported Linux operating system: An Amazon Linux version, such as Amazon /// Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, /// Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon /// Linux 2015.09, or Amazon Linux 2015.03. /// ///
  • /// /// A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu /// 14.04 LTS, or Ubuntu 12.04 LTS. /// ///
  • /// /// CentOS Linux 7 /// ///
  • /// /// Red Hat Enterprise Linux 7 /// ///
  • /// /// A supported Windows operating system, such as Microsoft Windows Server 2012 /// R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, /// Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft /// Windows Server 2012 R2 with SQL Server Web. /// ///
  • /// /// A custom AMI: Custom. /// ///
/// /// For more information about the supported operating systems, see AWS /// OpsWorks Stacks Operating Systems. /// /// /// /// The default option is the current Amazon Linux version. If you set this parameter /// to Custom, you must use the CreateInstance action's AmiId parameter /// to specify the custom AMI that you want to use. Block device mappings are not supported /// if the value is Custom. For more information about supported operating /// systems, see Operating /// SystemsFor more information about how to use custom AMIs with AWS OpsWorks Stacks, /// see Using /// Custom AMIs. /// ///
public string Os { get { return this._os; } set { this._os = value; } } // Check to see if Os property is set internal bool IsSetOs() { return this._os != null; } /// /// Gets and sets the property RootDeviceType. /// /// The instance root device type. For more information, see Storage /// for the Root Device. /// /// public RootDeviceType RootDeviceType { get { return this._rootDeviceType; } set { this._rootDeviceType = value; } } // Check to see if RootDeviceType property is set internal bool IsSetRootDeviceType() { return this._rootDeviceType != null; } /// /// Gets and sets the property SshKeyName. /// /// The instance's Amazon EC2 key-pair name. /// /// public string SshKeyName { get { return this._sshKeyName; } set { this._sshKeyName = value; } } // Check to see if SshKeyName property is set internal bool IsSetSshKeyName() { return this._sshKeyName != null; } /// /// Gets and sets the property StackId. /// /// The stack ID. /// /// [AWSProperty(Required=true)] public string StackId { get { return this._stackId; } set { this._stackId = value; } } // Check to see if StackId property is set internal bool IsSetStackId() { return this._stackId != null; } /// /// Gets and sets the property SubnetId. /// /// The ID of the instance's subnet. If the stack is running in a VPC, you can use this /// parameter to override the stack's default subnet ID value and direct AWS OpsWorks /// Stacks to launch the instance in a different subnet. /// /// 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 Tenancy. /// /// The instance's tenancy option. The default option is no tenancy, or if the instance /// is running in a VPC, inherit tenancy settings from the VPC. The following are valid /// values for this parameter: dedicated, default, or host. /// Because there are costs associated with changes in tenancy options, we recommend that /// you research tenancy options before choosing them for your instances. For more information /// about dedicated hosts, see Dedicated /// Hosts Overview and Amazon /// EC2 Dedicated Hosts. For more information about dedicated instances, see Dedicated /// Instances and Amazon /// EC2 Dedicated Instances. /// /// public string Tenancy { get { return this._tenancy; } set { this._tenancy = value; } } // Check to see if Tenancy property is set internal bool IsSetTenancy() { return this._tenancy != null; } /// /// Gets and sets the property VirtualizationType. /// /// The instance's virtualization type, paravirtual or hvm. /// /// public VirtualizationType VirtualizationType { get { return this._virtualizationType; } set { this._virtualizationType = value; } } // Check to see if VirtualizationType property is set internal bool IsSetVirtualizationType() { return this._virtualizationType != null; } } }