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

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

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 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, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.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, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, 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, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, 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, host-reservation, 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.

Returns:

  • (String)


4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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)


4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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)


4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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.



4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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.



4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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)


4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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.



4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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.

Returns:



4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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.



4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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)


4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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.

Returns:

  • (String)


4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

Returns:

  • (Time)


4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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-DDTHH:MM:SSZ). 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)


4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4779

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