Interface CfnSpotFleet.SpotFleetLaunchSpecificationProperty
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
CfnSpotFleet.SpotFleetLaunchSpecificationProperty.Jsii$Proxy
- Enclosing class:
CfnSpotFleet
If you include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification ; you must use LaunchTemplateConfig .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.ec2.*;
SpotFleetLaunchSpecificationProperty spotFleetLaunchSpecificationProperty = SpotFleetLaunchSpecificationProperty.builder()
.imageId("imageId")
// the properties below are optional
.blockDeviceMappings(List.of(BlockDeviceMappingProperty.builder()
.deviceName("deviceName")
// the properties below are optional
.ebs(EbsBlockDeviceProperty.builder()
.deleteOnTermination(false)
.encrypted(false)
.iops(123)
.snapshotId("snapshotId")
.volumeSize(123)
.volumeType("volumeType")
.build())
.noDevice("noDevice")
.virtualName("virtualName")
.build()))
.ebsOptimized(false)
.iamInstanceProfile(IamInstanceProfileSpecificationProperty.builder()
.arn("arn")
.build())
.instanceRequirements(InstanceRequirementsRequestProperty.builder()
.acceleratorCount(AcceleratorCountRequestProperty.builder()
.max(123)
.min(123)
.build())
.acceleratorManufacturers(List.of("acceleratorManufacturers"))
.acceleratorNames(List.of("acceleratorNames"))
.acceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBRequestProperty.builder()
.max(123)
.min(123)
.build())
.acceleratorTypes(List.of("acceleratorTypes"))
.allowedInstanceTypes(List.of("allowedInstanceTypes"))
.bareMetal("bareMetal")
.baselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsRequestProperty.builder()
.max(123)
.min(123)
.build())
.baselinePerformanceFactors(BaselinePerformanceFactorsRequestProperty.builder()
.cpu(CpuPerformanceFactorRequestProperty.builder()
.references(List.of(PerformanceFactorReferenceRequestProperty.builder()
.instanceFamily("instanceFamily")
.build()))
.build())
.build())
.burstablePerformance("burstablePerformance")
.cpuManufacturers(List.of("cpuManufacturers"))
.excludedInstanceTypes(List.of("excludedInstanceTypes"))
.instanceGenerations(List.of("instanceGenerations"))
.localStorage("localStorage")
.localStorageTypes(List.of("localStorageTypes"))
.maxSpotPriceAsPercentageOfOptimalOnDemandPrice(123)
.memoryGiBPerVCpu(MemoryGiBPerVCpuRequestProperty.builder()
.max(123)
.min(123)
.build())
.memoryMiB(MemoryMiBRequestProperty.builder()
.max(123)
.min(123)
.build())
.networkBandwidthGbps(NetworkBandwidthGbpsRequestProperty.builder()
.max(123)
.min(123)
.build())
.networkInterfaceCount(NetworkInterfaceCountRequestProperty.builder()
.max(123)
.min(123)
.build())
.onDemandMaxPricePercentageOverLowestPrice(123)
.requireHibernateSupport(false)
.spotMaxPricePercentageOverLowestPrice(123)
.totalLocalStorageGb(TotalLocalStorageGBRequestProperty.builder()
.max(123)
.min(123)
.build())
.vCpuCount(VCpuCountRangeRequestProperty.builder()
.max(123)
.min(123)
.build())
.build())
.instanceType("instanceType")
.kernelId("kernelId")
.keyName("keyName")
.monitoring(SpotFleetMonitoringProperty.builder()
.enabled(false)
.build())
.networkInterfaces(List.of(InstanceNetworkInterfaceSpecificationProperty.builder()
.associatePublicIpAddress(false)
.deleteOnTermination(false)
.description("description")
.deviceIndex(123)
.groups(List.of("groups"))
.ipv6AddressCount(123)
.ipv6Addresses(List.of(InstanceIpv6AddressProperty.builder()
.ipv6Address("ipv6Address")
.build()))
.networkInterfaceId("networkInterfaceId")
.privateIpAddresses(List.of(PrivateIpAddressSpecificationProperty.builder()
.privateIpAddress("privateIpAddress")
// the properties below are optional
.primary(false)
.build()))
.secondaryPrivateIpAddressCount(123)
.subnetId("subnetId")
.build()))
.placement(SpotPlacementProperty.builder()
.availabilityZone("availabilityZone")
.groupName("groupName")
.tenancy("tenancy")
.build())
.ramdiskId("ramdiskId")
.securityGroups(List.of(GroupIdentifierProperty.builder()
.groupId("groupId")
.build()))
.spotPrice("spotPrice")
.subnetId("subnetId")
.tagSpecifications(List.of(SpotFleetTagSpecificationProperty.builder()
.resourceType("resourceType")
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.build()))
.userData("userData")
.weightedCapacity(123)
.build();
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forCfnSpotFleet.SpotFleetLaunchSpecificationPropertystatic final classAn implementation forCfnSpotFleet.SpotFleetLaunchSpecificationProperty -
Method Summary
Modifier and TypeMethodDescriptionbuilder()default ObjectOne or more block devices that are mapped to the Spot Instances.default ObjectIndicates whether the instances are optimized for EBS I/O.default ObjectThe IAM instance profile.The ID of the AMI.default ObjectThe attributes for the instance types.default StringThe instance type.default StringThe ID of the kernel.default StringThe name of the key pair.default ObjectEnable or disable monitoring for the instances.default ObjectThe network interfaces.default ObjectThe placement information.default StringThe ID of the RAM disk.default ObjectThe security groups.default StringThe maximum price per unit hour that you are willing to pay for a Spot Instance.default StringThe IDs of the subnets in which to launch the instances.default ObjectThe tags to apply during creation.default StringThe base64-encoded user data that instances use when starting up.default NumberThe number of units provided by the specified instance type.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getImageId
The ID of the AMI.- See Also:
-
getBlockDeviceMappings
One or more block devices that are mapped to the Spot Instances.You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.
Returns union: either
IResolvableor Listinvalid input: '<'eitherIResolvableorCfnSpotFleet.BlockDeviceMappingProperty>- See Also:
-
getEbsOptimized
Indicates whether the instances are optimized for EBS I/O.This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.
Default:
falseReturns union: either
BooleanorIResolvableDefault: - false
- See Also:
-
getIamInstanceProfile
The IAM instance profile.Returns union: either
IResolvableorCfnSpotFleet.IamInstanceProfileSpecificationProperty- See Also:
-
getInstanceRequirements
The attributes for the instance types.When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.
If you specify
InstanceRequirements, you can't specifyInstanceType.Returns union: either
IResolvableorCfnSpotFleet.InstanceRequirementsRequestProperty- See Also:
-
getInstanceType
The instance type.- See Also:
-
getKernelId
The ID of the kernel.- See Also:
-
getKeyName
The name of the key pair.- See Also:
-
getMonitoring
Enable or disable monitoring for the instances.Returns union: either
IResolvableorCfnSpotFleet.SpotFleetMonitoringProperty- See Also:
-
getNetworkInterfaces
The network interfaces.Returns union: either
IResolvableor Listinvalid input: '<'eitherIResolvableorCfnSpotFleet.InstanceNetworkInterfaceSpecificationProperty>- See Also:
-
getPlacement
The placement information.Returns union: either
IResolvableorCfnSpotFleet.SpotPlacementProperty- See Also:
-
getRamdiskId
The ID of the RAM disk.Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.
- See Also:
-
getSecurityGroups
The security groups.If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.
Returns union: either
IResolvableor Listinvalid input: '<'eitherIResolvableorCfnSpotFleet.GroupIdentifierProperty>- See Also:
-
getSpotPrice
The maximum price per unit hour that you are willing to pay for a Spot Instance.We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.
If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.
- See Also:
-
getSubnetId
The IDs of the subnets in which to launch the instances.To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".
If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.
- See Also:
-
getTagSpecifications
The tags to apply during creation.Returns union: either
IResolvableor Listinvalid input: '<'eitherIResolvableorCfnSpotFleet.SpotFleetTagSpecificationProperty>- See Also:
-
getUserData
The base64-encoded user data that instances use when starting up.User data is limited to 16 KB.
- See Also:
-
getWeightedCapacity
The number of units provided by the specified instance type.These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.
If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.
When specifying weights, the price used in the
lowestPriceandpriceCapacityOptimizedallocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requestedTargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.- See Also:
-
builder
-