You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::EC2::Types::RequestLaunchTemplateData

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb

Overview

Note:

When making an API call, you may pass RequestLaunchTemplateData data as a hash:

{
  kernel_id: "String",
  ebs_optimized: false,
  iam_instance_profile: {
    arn: "String",
    name: "String",
  },
  block_device_mappings: [
    {
      device_name: "String",
      virtual_name: "String",
      ebs: {
        encrypted: false,
        delete_on_termination: false,
        iops: 1,
        kms_key_id: "String",
        snapshot_id: "String",
        volume_size: 1,
        volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
      },
      no_device: "String",
    },
  ],
  network_interfaces: [
    {
      associate_public_ip_address: false,
      delete_on_termination: false,
      description: "String",
      device_index: 1,
      groups: ["String"],
      ipv_6_address_count: 1,
      ipv_6_addresses: [
        {
          ipv_6_address: "String",
        },
      ],
      network_interface_id: "String",
      private_ip_address: "String",
      private_ip_addresses: [
        {
          primary: false,
          private_ip_address: "String", # required
        },
      ],
      secondary_private_ip_address_count: 1,
      subnet_id: "String",
    },
  ],
  image_id: "String",
  instance_type: "t1.micro", # accepts t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, cr1.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, hi1.4xlarge, hs1.8xlarge, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge
  key_name: "String",
  monitoring: {
    enabled: false,
  },
  placement: {
    availability_zone: "String",
    affinity: "String",
    group_name: "String",
    host_id: "String",
    tenancy: "default", # accepts default, dedicated, host
    spread_domain: "String",
  },
  ram_disk_id: "String",
  disable_api_termination: false,
  instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
  user_data: "String",
  tag_specifications: [
    {
      resource_type: "customer-gateway", # accepts customer-gateway, dhcp-options, image, instance, internet-gateway, network-acl, network-interface, reserved-instances, route-table, snapshot, spot-instances-request, subnet, security-group, volume, vpc, vpn-connection, vpn-gateway
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
  elastic_gpu_specifications: [
    {
      type: "String", # required
    },
  ],
  security_group_ids: ["String"],
  security_groups: ["String"],
  instance_market_options: {
    market_type: "spot", # accepts spot
    spot_options: {
      max_price: "String",
      spot_instance_type: "one-time", # accepts one-time, persistent
      block_duration_minutes: 1,
      valid_until: Time.now,
      instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
    },
  },
  credit_specification: {
    cpu_credits: "String", # required
  },
}

The information to include in the launch template.

Instance Attribute Summary collapse

Instance Attribute Details

#block_device_mappingsArray<Types::LaunchTemplateBlockDeviceMappingRequest>

The block device mapping.

Supplying both a snapshot ID and an encryption value as arguments for block-device mapping results in an error. This is because only blank volumes can be encrypted on start, and these are not created from a snapshot. If a snapshot is the basis for the volume, it contains data by definition and its encryption status cannot be changed using this action.



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#credit_specificationTypes::CreditSpecificationRequest

The credit option for CPU usage of the instance. Valid for T2 instances only.



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#disable_api_terminationBoolean

If set to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API. To change this attribute to false after launch, use ModifyInstanceAttribute.

Returns:

  • (Boolean)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#ebs_optimizedBoolean

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Returns:

  • (Boolean)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#elastic_gpu_specificationsArray<Types::ElasticGpuSpecification>

An elastic GPU to associate with the instance.

Returns:



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#iam_instance_profileTypes::LaunchTemplateIamInstanceProfileSpecificationRequest

The IAM instance profile.



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#image_idString

The ID of the AMI, which you can get by using DescribeImages.

Returns:

  • (String)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#instance_initiated_shutdown_behaviorString

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

Returns:

  • (String)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#instance_market_optionsTypes::LaunchTemplateInstanceMarketOptionsRequest

The market (purchasing) option for the instances.



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#instance_typeString

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Returns:

  • (String)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#kernel_idString

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

Returns:

  • (String)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#key_nameString

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

Returns:

  • (String)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#monitoringTypes::LaunchTemplatesMonitoringRequest

The monitoring for the instance.



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#network_interfacesArray<Types::LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>

One or more network interfaces.



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#placementTypes::LaunchTemplatePlacementRequest

The placement for the instance.



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#ram_disk_idString

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

Returns:

  • (String)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#security_group_idsArray<String>

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

Returns:

  • (Array<String>)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#security_groupsArray<String>

[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you must use security group IDs instead. You cannot specify both a security group ID and security name in the same request.

Returns:

  • (Array<String>)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#tag_specificationsArray<Types::LaunchTemplateTagSpecificationRequest>

The tags to apply to the resources during launch. You can tag instances and volumes. The specified tags are applied to all instances or volumes that are created during launch.



23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end

#user_dataString

The Base64-encoded user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows).

Returns:

  • (String)


23522
23523
23524
23525
23526
23527
23528
23529
23530
23531
23532
23533
23534
23535
23536
23537
23538
23539
23540
23541
23542
23543
23544
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23522

class RequestLaunchTemplateData < Struct.new(
  :kernel_id,
  :ebs_optimized,
  :iam_instance_profile,
  :block_device_mappings,
  :network_interfaces,
  :image_id,
  :instance_type,
  :key_name,
  :monitoring,
  :placement,
  :ram_disk_id,
  :disable_api_termination,
  :instance_initiated_shutdown_behavior,
  :user_data,
  :tag_specifications,
  :elastic_gpu_specifications,
  :security_group_ids,
  :security_groups,
  :instance_market_options,
  :credit_specification)
  include Aws::Structure
end