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

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

Overview

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

Constant Summary collapse

SENSITIVE =
[:user_data]

Instance Attribute Summary collapse

Instance Attribute Details

#addressing_type ⇒ String

Deprecated.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#block_device_mappings ⇒ Array<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:



84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#ebs_optimized ⇒ Boolean

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)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#iam_instance_profile ⇒ Types::IamInstanceProfileSpecification

The IAM instance profile.



84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#image_id ⇒ String

The ID of the AMI.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#instance_requirements ⇒ Types::InstanceRequirements

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirements, you can't specify InstanceType.



84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#instance_type ⇒ String

The instance type.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#kernel_id ⇒ String

The ID of the kernel.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#key_name ⇒ String

The name of the key pair.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#monitoring ⇒ Types::SpotFleetMonitoring

Enable or disable monitoring for the instances.



84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#network_interfaces ⇒ Array<Types::InstanceNetworkInterfaceSpecification>

The network interfaces.

SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). You must use LaunchTemplateConfig instead.



84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#placement ⇒ Types::SpotPlacement

The placement information.



84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#ramdisk_id ⇒ String

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 Amazon Web Services Resource Center and search for the kernel ID.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#security_groups ⇒ Array<Types::GroupIdentifier>

The security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

Returns:



84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#spot_price ⇒ String

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#subnet_id ⇒ String

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#tag_specifications ⇒ Array<Types::SpotFleetTagSpecification>

The tags to apply during creation.



84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#user_data ⇒ String

The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

Returns:

  • (String)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end

#weighted_capacity ⇒ Float

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.

When specifying weights, the price used in the lowestPrice and priceCapacityOptimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

Returns:

  • (Float)


84097
84098
84099
84100
84101
84102
84103
84104
84105
84106
84107
84108
84109
84110
84111
84112
84113
84114
84115
84116
84117
84118
84119
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 84097

class SpotFleetLaunchSpecification < Struct.new(
  :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,
  :instance_requirements,
  :security_groups)
  SENSITIVE = [:user_data]
  include Aws::Structure
end