Class CfnEC2Fleet
Specifies the configuration information to launch a fleet--or group--of instances.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnEC2Fleet : CfnResource, IInspectable
Syntax (vb)
Public Class CfnEC2Fleet
Inherits CfnResource
Implements IInspectable
Remarks
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 .
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html
CloudformationResource: AWS::EC2::EC2Fleet
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" },
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = 123,
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(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 |
CfnEC2Fleet(Construct, String, ICfnEC2FleetProps) |
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. |
TargetCapacitySpecification | The number of units to request. |
TerminateInstancesWithExpiration | Indicates whether running instances should be terminated when the EC2 Fleet expires. |
Type | The fleet type. |
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(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
CfnEC2Fleet(Construct, String, ICfnEC2FleetProps)
public CfnEC2Fleet(Construct scope, string id, ICfnEC2FleetProps props)
Parameters
- scope Constructs.Construct
Scope in which this resource is defined.
- id System.String
Construct identifier for this resource (unique in its scope).
- props ICfnEC2FleetProps
Resource properties.
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
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
LaunchTemplateConfigs
The configuration for the EC2 Fleet.
public virtual object LaunchTemplateConfigs { get; set; }
Property Value
System.Object
OnDemandOptions
Describes the configuration of On-Demand Instances in an EC2 Fleet.
public virtual object OnDemandOptions { get; set; }
Property Value
System.Object
ReplaceUnhealthyInstances
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
public virtual object ReplaceUnhealthyInstances { get; set; }
Property Value
System.Object
SpotOptions
Describes the configuration of Spot Instances in an EC2 Fleet.
public virtual object SpotOptions { get; set; }
Property Value
System.Object
TagSpecifications
The key-value pair for tagging the EC2 Fleet request on creation.
public virtual object TagSpecifications { get; set; }
Property Value
System.Object
Remarks
For more information, see Tag your resources .
TargetCapacitySpecification
The number of units to request.
public virtual object TargetCapacitySpecification { get; set; }
Property Value
System.Object
TerminateInstancesWithExpiration
Indicates whether running instances should be terminated when the EC2 Fleet expires.
public virtual object TerminateInstancesWithExpiration { get; set; }
Property Value
System.Object
Type
The fleet type.
public virtual string Type { get; set; }
Property Value
System.String
Remarks
The default value is maintain
.
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
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
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>