AWS::EC2::CapacityReservationFleet - AWS CloudFormation

AWS::EC2::CapacityReservationFleet

Creates a new Capacity Reservation Fleet with the specified attributes. For more information, see Capacity Reservation Fleets in the Amazon EC2 User Guide.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::EC2::CapacityReservationFleet", "Properties" : { "AllocationStrategy" : String, "EndDate" : String, "InstanceMatchCriteria" : String, "InstanceTypeSpecifications" : [ InstanceTypeSpecification, ... ], "NoRemoveEndDate" : Boolean, "RemoveEndDate" : Boolean, "TagSpecifications" : [ TagSpecification, ... ], "Tenancy" : String, "TotalTargetCapacity" : Integer } }

YAML

Type: AWS::EC2::CapacityReservationFleet Properties: AllocationStrategy: String EndDate: String InstanceMatchCriteria: String InstanceTypeSpecifications: - InstanceTypeSpecification NoRemoveEndDate: Boolean RemoveEndDate: Boolean TagSpecifications: - TagSpecification Tenancy: String TotalTargetCapacity: Integer

Properties

AllocationStrategy

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the prioritized allocation strategy is supported. For more information, see Allocation strategy in the Amazon EC2 User Guide.

Valid values: prioritized

Required: No

Type: String

Update requires: Replacement

EndDate

The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation Fleet expires, its state changes to expired and all of the Capacity Reservations in the Fleet expire.

The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed to expire between 13:30:55 and 14:30:55 on 5/31/2019.

Required: No

Type: String

Update requires: Replacement

InstanceMatchCriteria

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All Capacity Reservations in the Fleet inherit this instance matching criteria.

Currently, Capacity Reservation Fleets support open instance matching criteria only. This means that instances that have matching attributes (instance type, platform, and Availability Zone) run in the Capacity Reservations automatically. Instances do not need to explicitly target a Capacity Reservation Fleet to use its reserved capacity.

Required: No

Type: String

Allowed values: open

Update requires: Replacement

InstanceTypeSpecifications

Information about the instance types for which to reserve the capacity.

Required: No

Type: Array of InstanceTypeSpecification

Maximum: 50

Update requires: Replacement

NoRemoveEndDate

Used to add an end date to a Capacity Reservation Fleet that has no end date and time. To add an end date to a Capacity Reservation Fleet, specify true for this paramater and specify the end date and time (in UTC time format) for the EndDate parameter.

Required: No

Type: Boolean

Update requires: No interruption

RemoveEndDate

Used to remove an end date from a Capacity Reservation Fleet that is configured to end automatically at a specific date and time. To remove the end date from a Capacity Reservation Fleet, specify true for this paramater and omit the EndDate parameter.

Required: No

Type: Boolean

Update requires: No interruption

TagSpecifications

The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned to the Capacity Reservations in the Fleet.

Required: No

Type: Array of TagSpecification

Update requires: Replacement

Tenancy

Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the following tenancy settings:

  • default - The Capacity Reservation Fleet is created on hardware that is shared with other AWS accounts.

  • dedicated - The Capacity Reservations are created on single-tenant hardware that is dedicated to a single AWS account.

Required: No

Type: String

Allowed values: default

Update requires: Replacement

TotalTargetCapacity

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

Required: No

Type: Integer

Minimum: 1

Maximum: 25000

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the resource ID, such as crf-abcdef01234567890.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

CapacityReservationFleetId

The ID of the Capacity Reservation Fleet.

Examples

Creating a Capacity Reservation Fleet

The following example creates a Capacity Feservation Fleet that creates Capacity Reservations for 2 c4.large or c5.large instances. The Fleet prioritizes c4.large over c5.large and both instance types have the same weight.

YAML

AWSTemplateFormatVersion: 2010-09-09 Resources: EC2CapacityReservationFleetCanary: Type: 'AWS::EC2::CapacityReservationFleet' Properties: AllocationStrategy: "prioritized" InstanceTypeSpecifications: - InstanceType: "c4.large" InstancePlatform: "Linux/UNIX" AvailabilityZone: "us-east-1a" Weight: 1 Priority: 1 - InstanceType: "c5.large" InstancePlatform: "Linux/UNIX" AvailabilityZone: "us-east-1a" Weight: 1 Priority: 2 Tenancy: "default" TotalTargetCapacity: 2 InstanceMatchCriteria: "open"