Interface ICfnSpotFleetProps
Properties for defining a CfnSpotFleet
.
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface ICfnSpotFleetProps
Syntax (vb)
Public Interface ICfnSpotFleetProps
Remarks
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.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 cfnSpotFleetProps = new CfnSpotFleetProps {
SpotFleetRequestConfigData = new SpotFleetRequestConfigDataProperty {
IamFleetRole = "iamFleetRole",
TargetCapacity = 123,
// the properties below are optional
AllocationStrategy = "allocationStrategy",
Context = "context",
ExcessCapacityTerminationPolicy = "excessCapacityTerminationPolicy",
InstanceInterruptionBehavior = "instanceInterruptionBehavior",
InstancePoolsToUseCount = 123,
LaunchSpecifications = new [] { new SpotFleetLaunchSpecificationProperty {
ImageId = "imageId",
// the properties below are optional
BlockDeviceMappings = new [] { new BlockDeviceMappingProperty {
DeviceName = "deviceName",
// the properties below are optional
Ebs = new EbsBlockDeviceProperty {
DeleteOnTermination = false,
Encrypted = false,
Iops = 123,
SnapshotId = "snapshotId",
VolumeSize = 123,
VolumeType = "volumeType"
},
NoDevice = "noDevice",
VirtualName = "virtualName"
} },
EbsOptimized = false,
IamInstanceProfile = new IamInstanceProfileSpecificationProperty {
Arn = "arn"
},
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
},
BaselinePerformanceFactors = new BaselinePerformanceFactorsRequestProperty {
Cpu = new CpuPerformanceFactorRequestProperty {
References = new [] { new PerformanceFactorReferenceRequestProperty {
InstanceFamily = "instanceFamily"
} }
}
},
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",
KernelId = "kernelId",
KeyName = "keyName",
Monitoring = new SpotFleetMonitoringProperty {
Enabled = false
},
NetworkInterfaces = new [] { new InstanceNetworkInterfaceSpecificationProperty {
AssociatePublicIpAddress = false,
DeleteOnTermination = false,
Description = "description",
DeviceIndex = 123,
Groups = new [] { "groups" },
Ipv6AddressCount = 123,
Ipv6Addresses = new [] { new InstanceIpv6AddressProperty {
Ipv6Address = "ipv6Address"
} },
NetworkInterfaceId = "networkInterfaceId",
PrivateIpAddresses = new [] { new PrivateIpAddressSpecificationProperty {
PrivateIpAddress = "privateIpAddress",
// the properties below are optional
Primary = false
} },
SecondaryPrivateIpAddressCount = 123,
SubnetId = "subnetId"
} },
Placement = new SpotPlacementProperty {
AvailabilityZone = "availabilityZone",
GroupName = "groupName",
Tenancy = "tenancy"
},
RamdiskId = "ramdiskId",
SecurityGroups = new [] { new GroupIdentifierProperty {
GroupId = "groupId"
} },
SpotPrice = "spotPrice",
SubnetId = "subnetId",
TagSpecifications = new [] { new SpotFleetTagSpecificationProperty {
ResourceType = "resourceType",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
} },
UserData = "userData",
WeightedCapacity = 123
} },
LaunchTemplateConfigs = new [] { new LaunchTemplateConfigProperty {
LaunchTemplateSpecification = new FleetLaunchTemplateSpecificationProperty {
Version = "version",
// the properties below are optional
LaunchTemplateId = "launchTemplateId",
LaunchTemplateName = "launchTemplateName"
},
Overrides = new [] { new LaunchTemplateOverridesProperty {
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
},
BaselinePerformanceFactors = new BaselinePerformanceFactorsRequestProperty {
Cpu = new CpuPerformanceFactorRequestProperty {
References = new [] { new PerformanceFactorReferenceRequestProperty {
InstanceFamily = "instanceFamily"
} }
}
},
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",
Priority = 123,
SpotPrice = "spotPrice",
SubnetId = "subnetId",
WeightedCapacity = 123
} }
} },
LoadBalancersConfig = new LoadBalancersConfigProperty {
ClassicLoadBalancersConfig = new ClassicLoadBalancersConfigProperty {
ClassicLoadBalancers = new [] { new ClassicLoadBalancerProperty {
Name = "name"
} }
},
TargetGroupsConfig = new TargetGroupsConfigProperty {
TargetGroups = new [] { new TargetGroupProperty {
Arn = "arn"
} }
}
},
OnDemandAllocationStrategy = "onDemandAllocationStrategy",
OnDemandMaxTotalPrice = "onDemandMaxTotalPrice",
OnDemandTargetCapacity = 123,
ReplaceUnhealthyInstances = false,
SpotMaintenanceStrategies = new SpotMaintenanceStrategiesProperty {
CapacityRebalance = new SpotCapacityRebalanceProperty {
ReplacementStrategy = "replacementStrategy",
TerminationDelay = 123
}
},
SpotMaxTotalPrice = "spotMaxTotalPrice",
SpotPrice = "spotPrice",
TagSpecifications = new [] { new SpotFleetTagSpecificationProperty {
ResourceType = "resourceType",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
} },
TargetCapacityUnitType = "targetCapacityUnitType",
TerminateInstancesWithExpiration = false,
Type = "type",
ValidFrom = "validFrom",
ValidUntil = "validUntil"
}
};
Synopsis
Properties
SpotFleetRequestConfigData | Describes the configuration of a Spot Fleet request. |
Properties
SpotFleetRequestConfigData
Describes the configuration of a Spot Fleet request.
object SpotFleetRequestConfigData { get; }
Property Value
System.Object