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

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

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing SpotFleetRequestConfigData as input to an Aws::Client method, you can use a vanilla 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, x1e.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,
  instance_interruption_behavior: "stop", # accepts stop, terminate
}

Describes the configuration of a Spot fleet request.

Returned by:

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.

Possible values:

  • lowestPrice
  • diversified

Returns:

  • (String)

    Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request.

#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)

    A unique, case-sensitive identifier you provide to ensure idempotency of your listings.

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

Possible values:

  • noTermination
  • default

Returns:

  • (String)

    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.

#fulfilled_capacityFloat

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

Returns:

  • (Float)

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

#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)

    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.

#instance_interruption_behaviorString

Indicates whether a Spot instance stops or terminates when it is interrupted.

Possible values:

  • stop
  • terminate

Returns:

  • (String)

    Indicates whether a Spot instance stops or terminates when it is interrupted.

#launch_specificationsArray<Types::SpotFleetLaunchSpecification>

Information about the launch specifications for the Spot fleet request.

Returns:

#replace_unhealthy_instancesBoolean

Indicates whether Spot fleet should replace unhealthy instances.

Returns:

  • (Boolean)

    Indicates whether Spot fleet should replace unhealthy instances.

#spot_priceString

The bid price per unit hour.

Returns:

  • (String)

    The bid price per unit hour.

#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)

    The number of units to request.

#terminate_instances_with_expirationBoolean

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

Returns:

  • (Boolean)

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

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

Possible values:

  • request
  • maintain

Returns:

  • (String)

    The type of request.

#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)

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

#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)

    The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).