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

Class: Aws::EC2::Types::SpotFleetLaunchSpecification

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

{
  security_groups: [
    {
      group_name: "String",
      group_id: "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, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.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.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, 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, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, 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.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, 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.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, 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,
  },
  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",
      interface_type: "String",
    },
  ],
  placement: {
    availability_zone: "String",
    group_name: "String",
    tenancy: "default", # accepts default, dedicated, host
  },
  ramdisk_id: "String",
  spot_price: "String",
  subnet_id: "String",
  user_data: "String",
  weighted_capacity: 1.0,
  tag_specifications: [
    {
      resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, host-reservation, image, instance, internet-gateway, launch-template, natgateway, network-acl, network-interface, reserved-instances, route-table, security-group, snapshot, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
}

Describes the launch specification for one or more Spot Instances. If you include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

Instance Attribute Summary collapse

Instance Attribute Details

#addressing_typeString

Deprecated.

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#block_device_mappingsArray<Types::BlockDeviceMapping>

One or more block devices that are mapped to the Spot instances. 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:



36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#ebs_optimizedBoolean

Indicates whether the instances are 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)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#iam_instance_profileTypes::IamInstanceProfileSpecification

The IAM instance profile.



36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#image_idString

The ID of the AMI.

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#instance_typeString

The instance type.

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#kernel_idString

The ID of the kernel.

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#key_nameString

The name of the key pair.

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#monitoringTypes::SpotFleetMonitoring

Enable or disable monitoring for the instances.



36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  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.



36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#placementTypes::SpotPlacement

The placement information.



36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#ramdisk_idString

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#security_groupsArray<Types::GroupIdentifier>

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:



36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#spot_priceString

The maximum price per unit hour that you are willing to pay for a Spot Instance. If this value is not specified, the default is the Spot price specified for the fleet. To determine the Spot price per unit hour, divide the Spot price by the value of WeightedCapacity.

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#subnet_idString

The ID of the subnet in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#tag_specificationsArray<Types::SpotFleetTagSpecification>

The tags to apply during creation.



36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#user_dataString

The Base64-encoded user data that instances use when starting up.

Returns:

  • (String)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end

#weighted_capacityFloat

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

Returns:

  • (Float)


36054
36055
36056
36057
36058
36059
36060
36061
36062
36063
36064
36065
36066
36067
36068
36069
36070
36071
36072
36073
36074
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 36054

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :spot_price,
  :subnet_id,
  :user_data,
  :weighted_capacity,
  :tag_specifications)
  include Aws::Structure
end