Class: Aws::EC2::Types::CreateFleetRequest

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

{
  dry_run: false,
  client_token: "String",
  spot_options: {
    allocation_strategy: "lowest-price", # accepts lowest-price, diversified
    instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
    instance_pools_to_use_count: 1,
    single_instance_type: false,
    single_availability_zone: false,
    min_target_capacity: 1,
  },
  on_demand_options: {
    allocation_strategy: "lowest-price", # accepts lowest-price, prioritized
    single_instance_type: false,
    single_availability_zone: false,
    min_target_capacity: 1,
  },
  excess_capacity_termination_policy: "no-termination", # accepts no-termination, termination
  launch_template_configs: [ # required
    {
      launch_template_specification: {
        launch_template_id: "String",
        launch_template_name: "LaunchTemplateName",
        version: "String",
      },
      overrides: [
        {
          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, 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.12xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.12xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.12xlarge, r5d.24xlarge, r5d.metal, 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, 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.18xlarge, 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.12xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.12xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.12xlarge, m5d.24xlarge, m5d.metal, 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
          max_price: "String",
          subnet_id: "String",
          availability_zone: "String",
          weighted_capacity: 1.0,
          priority: 1.0,
          placement: {
            availability_zone: "String",
            affinity: "String",
            group_name: "String",
            partition_number: 1,
            host_id: "String",
            tenancy: "default", # accepts default, dedicated, host
            spread_domain: "String",
          },
        },
      ],
    },
  ],
  target_capacity_specification: { # required
    total_target_capacity: 1, # required
    on_demand_target_capacity: 1,
    spot_target_capacity: 1,
    default_target_capacity_type: "spot", # accepts spot, on-demand
  },
  terminate_instances_with_expiration: false,
  type: "request", # accepts request, maintain, instant
  valid_from: Time.now,
  valid_until: Time.now,
  replace_unhealthy_instances: false,
  tag_specifications: [
    {
      resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, elastic-ip, fleet, fpga-image, image, instance, internet-gateway, launch-template, natgateway, network-acl, network-interface, reserved-instances, route-table, security-group, snapshot, spot-instances-request, subnet, transit-gateway, transit-gateway-attachment, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
}

Instance Attribute Summary collapse

Instance Attribute Details

#client_tokenString

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see [Ensuring Idempotency].

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

Returns:

  • (String)


4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#dry_runBoolean

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is ‘DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.

Returns:

  • (Boolean)


4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#excess_capacity_termination_policyString

Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

Returns:

  • (String)


4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#launch_template_configsArray<Types::FleetLaunchTemplateConfigRequest>

The configuration for the EC2 Fleet.



4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#on_demand_optionsTypes::OnDemandOptionsRequest

The allocation strategy of On-Demand Instances in an EC2 Fleet.



4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#replace_unhealthy_instancesBoolean

Indicates whether EC2 Fleet should replace unhealthy instances.

Returns:

  • (Boolean)


4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#spot_optionsTypes::SpotOptionsRequest

Describes the configuration of Spot Instances in an EC2 Fleet.



4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#tag_specificationsArray<Types::TagSpecification>

The key-value pair for tagging the EC2 Fleet request on creation. The value for ‘ResourceType` must be `fleet`, otherwise the fleet request fails. To tag instances at launch, specify the tags in the [launch template]. For information about tagging after launch, see [Tagging Your Resources].

[1]: docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template [2]: docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources

Returns:



4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#target_capacity_specificationTypes::TargetCapacitySpecificationRequest

The ‘TotalTargetCapacity`, `OnDemandTargetCapacity`, `SpotTargetCapacity`, and `DefaultCapacityType` structure.



4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#terminate_instances_with_expirationBoolean

Indicates whether running instances should be terminated when the EC2 Fleet expires.

Returns:

  • (Boolean)


4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end

#typeString

The type of the request. By default, the EC2 Fleet places an asynchronous request for your desired capacity, and maintains it by replenishing interrupted Spot Instances (‘maintain`). A value of `instant` places a synchronous one-time request, and returns errors for any instances that could not be launched. A value of `request` places an asynchronous one-time request without maintaining capacity or submitting requests in alternative capacity pools if capacity is unavailable. For more information, see [EC2 Fleet Request Types] in the *Amazon Elastic Compute Cloud User Guide*.

[1]: docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type

Returns:

  • (String)


4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  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)


4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  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 EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

Returns:

  • (Time)


4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
# File 'lib/aws-sdk-ec2/types.rb', line 4773

class CreateFleetRequest < Struct.new(
  :dry_run,
  :client_token,
  :spot_options,
  :on_demand_options,
  :excess_capacity_termination_policy,
  :launch_template_configs,
  :target_capacity_specification,
  :terminate_instances_with_expiration,
  :type,
  :valid_from,
  :valid_until,
  :replace_unhealthy_instances,
  :tag_specifications)
  include Aws::Structure
end