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.8xlarge, r5.12xlarge, r5.16xlarge, 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.8xlarge, r5d.12xlarge, r5d.16xlarge, 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, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.12xlarge, m5a.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.12xlarge, m5d.24xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, 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: "customer-gateway", # accepts 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)


4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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)


4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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)


4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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.



4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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.



4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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)


4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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.



4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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:



4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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.



4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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)


4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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)


4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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)


4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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. The default end date is 7 days from the current date.

Returns:

  • (Time)


4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
# File 'lib/aws-sdk-ec2/types.rb', line 4728

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