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

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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].

[1]: docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html

Returns:

  • (String)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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.



23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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-*DD*T*HH*:MM:*SS*Z). The default is to start fulfilling the request immediately.

Returns:

  • (Time)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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-*DD*T*HH*:MM:*SS*Z). At this point, no new Spot instance requests are placed or enabled to fulfill the request.

Returns:

  • (Time)


23123
23124
23125
23126
23127
23128
23129
23130
23131
23132
23133
23134
23135
23136
23137
23138
# File 'lib/aws-sdk-ec2/types.rb', line 23123

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