Class CfnEC2Fleet
A CloudFormation AWS::EC2::EC2Fleet
.
Inherited Members
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.AWS.EC2.dll
Syntax (csharp)
public class CfnEC2Fleet : CfnResource, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnEC2Fleet
Inherits CfnResource
Implements IConstruct, IDependable, IInspectable
Remarks
Specifies the configuration information to launch a fleet--or group--of instances. An EC2 Fleet can launch multiple instance types across multiple Availability Zones, using the On-Demand Instance, Reserved Instance, and Spot Instance purchasing models together. Using EC2 Fleet, you can define separate On-Demand and Spot capacity targets, specify the instance types that work best for your applications, and specify how Amazon EC2 should distribute your fleet capacity within each purchasing model. For more information, see Launching an EC2 Fleet in the Amazon EC2 User Guide for Linux Instances .
CloudformationResource: AWS::EC2::EC2Fleet
Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EC2;
var cfnEC2Fleet = new CfnEC2Fleet(this, "MyCfnEC2Fleet", new CfnEC2FleetProps {
LaunchTemplateConfigs = new [] { new FleetLaunchTemplateConfigRequestProperty {
LaunchTemplateSpecification = new FleetLaunchTemplateSpecificationRequestProperty {
Version = "version",
// the properties below are optional
LaunchTemplateId = "launchTemplateId",
LaunchTemplateName = "launchTemplateName"
},
Overrides = new [] { new FleetLaunchTemplateOverridesRequestProperty {
AvailabilityZone = "availabilityZone",
InstanceRequirements = new InstanceRequirementsRequestProperty {
AcceleratorCount = new AcceleratorCountRequestProperty {
Max = 123,
Min = 123
},
AcceleratorManufacturers = new [] { "acceleratorManufacturers" },
AcceleratorNames = new [] { "acceleratorNames" },
AcceleratorTotalMemoryMiB = new AcceleratorTotalMemoryMiBRequestProperty {
Max = 123,
Min = 123
},
AcceleratorTypes = new [] { "acceleratorTypes" },
AllowedInstanceTypes = new [] { "allowedInstanceTypes" },
BareMetal = "bareMetal",
BaselineEbsBandwidthMbps = new BaselineEbsBandwidthMbpsRequestProperty {
Max = 123,
Min = 123
},
BurstablePerformance = "burstablePerformance",
CpuManufacturers = new [] { "cpuManufacturers" },
ExcludedInstanceTypes = new [] { "excludedInstanceTypes" },
InstanceGenerations = new [] { "instanceGenerations" },
LocalStorage = "localStorage",
LocalStorageTypes = new [] { "localStorageTypes" },
MemoryGiBPerVCpu = new MemoryGiBPerVCpuRequestProperty {
Max = 123,
Min = 123
},
MemoryMiB = new MemoryMiBRequestProperty {
Max = 123,
Min = 123
},
NetworkBandwidthGbps = new NetworkBandwidthGbpsRequestProperty {
Max = 123,
Min = 123
},
NetworkInterfaceCount = new NetworkInterfaceCountRequestProperty {
Max = 123,
Min = 123
},
OnDemandMaxPricePercentageOverLowestPrice = 123,
RequireHibernateSupport = false,
SpotMaxPricePercentageOverLowestPrice = 123,
TotalLocalStorageGb = new TotalLocalStorageGBRequestProperty {
Max = 123,
Min = 123
},
VCpuCount = new VCpuCountRangeRequestProperty {
Max = 123,
Min = 123
}
},
InstanceType = "instanceType",
MaxPrice = "maxPrice",
Placement = new PlacementProperty {
Affinity = "affinity",
AvailabilityZone = "availabilityZone",
GroupName = "groupName",
HostId = "hostId",
HostResourceGroupArn = "hostResourceGroupArn",
PartitionNumber = 123,
SpreadDomain = "spreadDomain",
Tenancy = "tenancy"
},
Priority = 123,
SubnetId = "subnetId",
WeightedCapacity = 123
} }
} },
TargetCapacitySpecification = new TargetCapacitySpecificationRequestProperty {
TotalTargetCapacity = 123,
// the properties below are optional
DefaultTargetCapacityType = "defaultTargetCapacityType",
OnDemandTargetCapacity = 123,
SpotTargetCapacity = 123,
TargetCapacityUnitType = "targetCapacityUnitType"
},
// the properties below are optional
Context = "context",
ExcessCapacityTerminationPolicy = "excessCapacityTerminationPolicy",
OnDemandOptions = new OnDemandOptionsRequestProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new CapacityReservationOptionsRequestProperty {
UsageStrategy = "usageStrategy"
},
MaxTotalPrice = "maxTotalPrice",
MinTargetCapacity = 123,
SingleAvailabilityZone = false,
SingleInstanceType = false
},
ReplaceUnhealthyInstances = false,
SpotOptions = new SpotOptionsRequestProperty {
AllocationStrategy = "allocationStrategy",
InstanceInterruptionBehavior = "instanceInterruptionBehavior",
InstancePoolsToUseCount = 123,
MaintenanceStrategies = new MaintenanceStrategiesProperty {
CapacityRebalance = new CapacityRebalanceProperty {
ReplacementStrategy = "replacementStrategy",
TerminationDelay = 123
}
},
MaxTotalPrice = "maxTotalPrice",
MinTargetCapacity = 123,
SingleAvailabilityZone = false,
SingleInstanceType = false
},
TagSpecifications = new [] { new TagSpecificationProperty {
ResourceType = "resourceType",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
} },
TerminateInstancesWithExpiration = false,
Type = "type",
ValidFrom = "validFrom",
ValidUntil = "validUntil"
});
Synopsis
Constructors
CfnEC2Fleet(Construct, String, ICfnEC2FleetProps) | Create a new |
CfnEC2Fleet(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnEC2Fleet(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
Properties
AttrFleetId | The ID of the EC2 Fleet. |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
Context | Reserved. |
ExcessCapacityTerminationPolicy | 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. |
LaunchTemplateConfigs | The configuration for the EC2 Fleet. |
OnDemandOptions | Describes the configuration of On-Demand Instances in an EC2 Fleet. |
ReplaceUnhealthyInstances | Indicates whether EC2 Fleet should replace unhealthy Spot Instances. |
SpotOptions | Describes the configuration of Spot Instances in an EC2 Fleet. |
TagSpecifications | The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources . |
TargetCapacitySpecification | The number of units to request. |
TerminateInstancesWithExpiration | Indicates whether running instances should be terminated when the EC2 Fleet expires. |
Type | The fleet type. The default value is |
ValidFrom | The start date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z). |
ValidUntil | The end date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z). |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnEC2Fleet(Construct, String, ICfnEC2FleetProps)
Create a new AWS::EC2::EC2Fleet
.
public CfnEC2Fleet(Construct scope, string id, ICfnEC2FleetProps props)
Parameters
- scope Construct
- scope in which this resource is defined.
- id System.String
- scoped id of the resource.
- props ICfnEC2FleetProps
- resource properties.
CfnEC2Fleet(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnEC2Fleet(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnEC2Fleet(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnEC2Fleet(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
Properties
AttrFleetId
The ID of the EC2 Fleet.
public virtual string AttrFleetId { get; }
Property Value
System.String
Remarks
CloudformationAttribute: FleetId
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
Context
Reserved.
public virtual string Context { get; set; }
Property Value
System.String
Remarks
ExcessCapacityTerminationPolicy
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.
public virtual string ExcessCapacityTerminationPolicy { get; set; }
Property Value
System.String
Remarks
Supported only for fleets of type maintain
.
LaunchTemplateConfigs
The configuration for the EC2 Fleet.
public virtual object LaunchTemplateConfigs { get; set; }
Property Value
System.Object
Remarks
OnDemandOptions
Describes the configuration of On-Demand Instances in an EC2 Fleet.
public virtual object OnDemandOptions { get; set; }
Property Value
System.Object
Remarks
ReplaceUnhealthyInstances
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
public virtual object ReplaceUnhealthyInstances { get; set; }
Property Value
System.Object
Remarks
Supported only for fleets of type maintain
. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide .
SpotOptions
Describes the configuration of Spot Instances in an EC2 Fleet.
public virtual object SpotOptions { get; set; }
Property Value
System.Object
Remarks
TagSpecifications
The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources .
public virtual object TagSpecifications { get; set; }
Property Value
System.Object
Remarks
If the fleet type is instant
, specify a resource type of fleet
to tag the fleet or instance
to tag the instances at launch.
If the fleet type is maintain
or request
, specify a resource type of fleet
to tag the fleet. You cannot specify a resource type of instance
. To tag instances at launch, specify the tags in a launch template .
TargetCapacitySpecification
The number of units to request.
public virtual object TargetCapacitySpecification { get; set; }
Property Value
System.Object
Remarks
TerminateInstancesWithExpiration
Indicates whether running instances should be terminated when the EC2 Fleet expires.
public virtual object TerminateInstancesWithExpiration { get; set; }
Property Value
System.Object
Remarks
Type
The fleet type. The default value is maintain
.
public virtual string Type { get; set; }
Property Value
System.String
Remarks
For more information, see EC2 Fleet request types in the Amazon EC2 User Guide .
ValidFrom
The start date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).
public virtual string ValidFrom { get; set; }
Property Value
System.String
Remarks
The default is to start fulfilling the request immediately.
ValidUntil
The end date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).
public virtual string ValidUntil { get; set; }
Property Value
System.String
Remarks
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.
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
- tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>