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

Class: Aws::EC2::Types::SpotFleetRequestConfigData

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

{
  allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified
  client_token: "String",
  excess_capacity_termination_policy: "noTermination", # accepts noTermination, default
  fulfilled_capacity: 1.0,
  iam_fleet_role: "String", # required
  launch_specifications: [ # required
    {
      security_groups: [
        {
          group_name: "String",
          group_id: "String",
        },
      ],
      addressing_type: "String",
      block_device_mappings: [
        {
          device_name: "String",
          virtual_name: "String",
          ebs: {
            encrypted: false,
            delete_on_termination: false,
            iops: 1,
            snapshot_id: "String",
            volume_size: 1,
            volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
          },
          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, 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, 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, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, cg1.4xlarge, p2.xlarge, p2.8xlarge, p2.16xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, f1.2xlarge, f1.16xlarge
      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", # required
            },
          ],
          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",
      spot_price: "String",
      subnet_id: "String",
      user_data: "String",
      weighted_capacity: 1.0,
      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",
            },
          ],
        },
      ],
    },
  ],
  spot_price: "String", # required
  target_capacity: 1, # required
  terminate_instances_with_expiration: false,
  type: "request", # accepts request, maintain
  valid_from: Time.now,
  valid_until: Time.now,
  replace_unhealthy_instances: false,
}

Describes the configuration of a Spot fleet request.

Instance Attribute Summary collapse

Instance Attribute Details

#allocation_strategyString

Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

Returns:

  • (String)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#client_tokenString

A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

Returns:

  • (String)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#excess_capacity_termination_policyString

Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.

Returns:

  • (String)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#fulfilled_capacityFloat

The number of units fulfilled by this request compared to the set target capacity.

Returns:

  • (Float)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#iam_fleet_roleString

Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.

Returns:

  • (String)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#launch_specificationsArray<Types::SpotFleetLaunchSpecification>

Information about the launch specifications for the Spot fleet request.



23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#replace_unhealthy_instancesBoolean

Indicates whether Spot fleet should replace unhealthy instances.

Returns:

  • (Boolean)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#spot_priceString

The bid price per unit hour.

Returns:

  • (String)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#target_capacityInteger

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.

Returns:

  • (Integer)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#terminate_instances_with_expirationBoolean

Indicates whether running Spot instances should be terminated when the Spot fleet request expires.

Returns:

  • (Boolean)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#typeString

The type of request. Indicates whether the fleet will only request the target capacity or also attempt to maintain it. When you request a certain target capacity, the fleet will only place the required bids. It will not attempt to replenish Spot instances if capacity is diminished, nor will it submit bids in alternative Spot pools if capacity is not available. When you want to maintain a certain target capacity, fleet will place the required bids to meet this target capacity. It will also automatically replenish any interrupted instances. Default: maintain.

Returns:

  • (String)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#valid_fromTime

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

Returns:

  • (Time)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end

#valid_untilTime

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.

Returns:

  • (Time)


23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
23099
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 23084

class SpotFleetRequestConfigData < Struct.new(
  :allocation_strategy,
  :client_token,
  :excess_capacity_termination_policy,
  :fulfilled_capacity,
  :iam_fleet_role,
  :launch_specifications,
  :spot_price,
  :target_capacity,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances)
  include Aws::Structure
end