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, capacity-optimized
    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
    capacity_reservation_options: {
      usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
    },
    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: "LaunchTemplateId",
        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, r6g.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, 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, i3en.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.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c6g.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, cc1.4xlarge, cc2.8xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, 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, u-18tb1.metal, u-24tb1.metal, a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge
          max_price: "String",
          subnet_id: "SubnetId",
          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",
            host_resource_group_arn: "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, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, internet-gateway, key-pair, launch-template, local-gateway-route-table-vpc-association, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
    },
  ],
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#client_tokenString

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

Returns:

  • (String)


5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  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)


5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  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)


5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  include Aws::Structure
end

#launch_template_configsArray<Types::FleetLaunchTemplateConfigRequest>

The configuration for the EC2 Fleet.



5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  include Aws::Structure
end

#on_demand_optionsTypes::OnDemandOptionsRequest

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



5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  include Aws::Structure
end

#replace_unhealthy_instancesBoolean

Indicates whether EC2 Fleet should replace unhealthy instances.

Returns:

  • (Boolean)


5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  include Aws::Structure
end

#spot_optionsTypes::SpotOptionsRequest

Describes the configuration of Spot Instances in an EC2 Fleet.



5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  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:



5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  include Aws::Structure
end

#target_capacity_specificationTypes::TargetCapacitySpecificationRequest

The number of units to request.



5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  include Aws::Structure
end

#terminate_instances_with_expirationBoolean

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

Returns:

  • (Boolean)


5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  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)


5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  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)


5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  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)


5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
# File 'gems/aws-sdk-ec2/lib/aws-sdk-ec2/types.rb', line 5608

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)
  SENSITIVE = []
  include Aws::Structure
end