class Aws::OpsWorks::Types::CreateInstanceRequest

@note When making an API call, you may pass CreateInstanceRequest

data as a hash:

    {
      stack_id: "String", # required
      layer_ids: ["String"], # required
      instance_type: "String", # required
      auto_scaling_type: "load", # accepts load, timer
      hostname: "String",
      os: "String",
      ami_id: "String",
      ssh_key_name: "String",
      availability_zone: "String",
      virtualization_type: "String",
      subnet_id: "String",
      architecture: "x86_64", # accepts x86_64, i386
      root_device_type: "ebs", # accepts ebs, instance-store
      block_device_mappings: [
        {
          device_name: "String",
          no_device: "String",
          virtual_name: "String",
          ebs: {
            snapshot_id: "String",
            iops: 1,
            volume_size: 1,
            volume_type: "gp2", # accepts gp2, io1, standard
            delete_on_termination: false,
          },
        },
      ],
      install_updates_on_boot: false,
      ebs_optimized: false,
      agent_version: "String",
      tenancy: "String",
    }

@!attribute [rw] stack_id

The stack ID.
@return [String]

@!attribute [rw] layer_ids

An array that contains the instance's layer IDs.
@return [Array<String>]

@!attribute [rw] instance_type

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][1]. The parameter values that you use to specify the various
types are in the **API Name** column of the **Available Instance
Types** table.

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
@return [String]

@!attribute [rw] auto_scaling_type

For load-based or time-based instances, the type. Windows stacks can
use only time-based instances.
@return [String]

@!attribute [rw] hostname

The instance host name.
@return [String]

@!attribute [rw] 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][1].

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 Systems][1]For more information about how to use
custom AMIs with AWS OpsWorks Stacks, see [Using Custom AMIs][2].

[1]: https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html
[2]: https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html
@return [String]

@!attribute [rw] ami_id

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][1].

<note markdown="1"> If you specify a custom AMI, you must set `Os` to `Custom`.

 </note>

[1]: https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html
@return [String]

@!attribute [rw] ssh_key_name

The instance's Amazon EC2 key-pair name.
@return [String]

@!attribute [rw] availability_zone

The instance Availability Zone. For more information, see [Regions
and Endpoints][1].

[1]: https://docs.aws.amazon.com/general/latest/gr/rande.html
@return [String]

@!attribute [rw] virtualization_type

The instance's virtualization type, `paravirtual` or `hvm`.
@return [String]

@!attribute [rw] subnet_id

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.
@return [String]

@!attribute [rw] 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][1].

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
@return [String]

@!attribute [rw] root_device_type

The instance root device type. For more information, see [Storage
for the Root Device][1].

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device
@return [String]

@!attribute [rw] block_device_mappings

An array of `BlockDeviceMapping` objects that specify the
instance's block devices. For more information, see [Block Device
Mapping][1]. Note that block device mappings are not supported for
custom AMIs.

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html
@return [Array<Types::BlockDeviceMapping>]

@!attribute [rw] install_updates_on_boot

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.

<note markdown="1"> We strongly recommend using the default value of `true` to ensure
that your instances have the latest security updates.

 </note>
@return [Boolean]

@!attribute [rw] ebs_optimized

Whether to create an Amazon EBS-optimized instance.
@return [Boolean]

@!attribute [rw] agent_version

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.
@return [String]

@!attribute [rw] 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][1] and [Amazon EC2 Dedicated Hosts][1]. For more
information about dedicated instances, see [Dedicated Instances][2]
and [Amazon EC2 Dedicated Instances][3].

[1]: http://aws.amazon.com/ec2/dedicated-hosts/
[2]: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html
[3]: http://aws.amazon.com/ec2/purchasing-options/dedicated-instances/
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/CreateInstanceRequest AWS API Documentation

Constants

SENSITIVE