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,
    max_total_price: "String",
  },
  on_demand_options: {
    allocation_strategy: "lowest-price", # accepts lowest-price, prioritized
    single_instance_type: false,
    single_availability_zone: false,
    min_target_capacity: 1,
    max_total_price: "String",
  },
  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.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, 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, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, 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.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, 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.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, 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, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, 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)


4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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)


4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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)


4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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.



4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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

Describes the configuration of On-Demand Instances in an EC2 Fleet.



4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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)


4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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.



4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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:



4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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 number of units to request.



4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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)


4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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)


4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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)


4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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)


4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 4863

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