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

Class: Aws::EC2::Types::RequestSpotLaunchSpecification

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 RequestSpotLaunchSpecification data as a hash:

{
  security_group_ids: ["String"],
  security_groups: ["String"],
  addressing_type: "String",
  block_device_mappings: [
    {
      device_name: "String",
      virtual_name: "String",
      ebs: {
        delete_on_termination: false,
        iops: 1,
        snapshot_id: "String",
        volume_size: 1,
        volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
        encrypted: false,
        kms_key_id: "String",
      },
      no_device: "String",
    },
  ],
  ebs_optimized: false,
  iam_instance_profile: {
    arn: "String",
    name: "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, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.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, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.12xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.12xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.12xlarge, r5d.24xlarge, r5d.metal, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, 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, i3.metal, 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, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.18xlarge, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.12xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.12xlarge, m5d.24xlarge, m5d.metal, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge
  kernel_id: "String",
  key_name: "String",
  monitoring: {
    enabled: false, # required
  },
  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",
        },
      ],
      secondary_private_ip_address_count: 1,
      subnet_id: "String",
    },
  ],
  placement: {
    availability_zone: "String",
    group_name: "String",
    tenancy: "default", # accepts default, dedicated, host
  },
  ramdisk_id: "String",
  subnet_id: "String",
  user_data: "String",
}

Describes the launch specification for an instance.

Instance Attribute Summary collapse

Instance Attribute Details

#addressing_typeString

Deprecated.

Returns:

  • (String)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#block_device_mappingsArray<Types::BlockDeviceMapping>

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

Returns:



30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#ebs_optimizedBoolean

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

Default: false

Returns:

  • (Boolean)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#iam_instance_profileTypes::IamInstanceProfileSpecification

The IAM instance profile.



30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#image_idString

The ID of the AMI.

Returns:

  • (String)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#instance_typeString

The instance type.

Returns:

  • (String)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#kernel_idString

The ID of the kernel.

Returns:

  • (String)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#key_nameString

The name of the key pair.

Returns:

  • (String)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#monitoringTypes::RunInstancesMonitoringEnabled

Indicates whether basic or detailed monitoring is enabled for the instance.

Default: Disabled



30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#network_interfacesArray<Types::InstanceNetworkInterfaceSpecification>

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.



30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#placementTypes::SpotPlacement

The placement information for the instance.



30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#ramdisk_idString

The ID of the RAM disk.

Returns:

  • (String)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#security_group_idsArray<String>

One or more security group IDs.

Returns:

  • (Array<String>)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#security_groupsArray<String>

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

Returns:

  • (Array<String>)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#subnet_idString

The ID of the subnet in which to launch the instance.

Returns:

  • (String)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end

#user_dataString

The Base64-encoded user data for the instance.

Returns:

  • (String)


30465
30466
30467
30468
30469
30470
30471
30472
30473
30474
30475
30476
30477
30478
30479
30480
30481
30482
30483
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 30465

class RequestSpotLaunchSpecification < Struct.new(
  :security_group_ids,
  :security_groups,
  :addressing_type,
  :block_device_mappings,
  :ebs_optimized,
  :iam_instance_profile,
  :image_id,
  :instance_type,
  :kernel_id,
  :key_name,
  :monitoring,
  :network_interfaces,
  :placement,
  :ramdisk_id,
  :subnet_id,
  :user_data)
  include Aws::Structure
end