Interface CfnEC2FleetProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnEC2FleetProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:38.528Z") @Stability(Stable) public interface CfnEC2FleetProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnEC2Fleet.

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.*;
 CfnEC2FleetProps cfnEC2FleetProps = CfnEC2FleetProps.builder()
         .launchTemplateConfigs(List.of(FleetLaunchTemplateConfigRequestProperty.builder()
                 .launchTemplateSpecification(FleetLaunchTemplateSpecificationRequestProperty.builder()
                         .version("version")
                         // the properties below are optional
                         .launchTemplateId("launchTemplateId")
                         .launchTemplateName("launchTemplateName")
                         .build())
                 .overrides(List.of(FleetLaunchTemplateOverridesRequestProperty.builder()
                         .availabilityZone("availabilityZone")
                         .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())
                                 .burstablePerformance("burstablePerformance")
                                 .cpuManufacturers(List.of("cpuManufacturers"))
                                 .excludedInstanceTypes(List.of("excludedInstanceTypes"))
                                 .instanceGenerations(List.of("instanceGenerations"))
                                 .localStorage("localStorage")
                                 .localStorageTypes(List.of("localStorageTypes"))
                                 .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")
                         .maxPrice("maxPrice")
                         .placement(PlacementProperty.builder()
                                 .affinity("affinity")
                                 .availabilityZone("availabilityZone")
                                 .groupName("groupName")
                                 .hostId("hostId")
                                 .hostResourceGroupArn("hostResourceGroupArn")
                                 .partitionNumber(123)
                                 .spreadDomain("spreadDomain")
                                 .tenancy("tenancy")
                                 .build())
                         .priority(123)
                         .subnetId("subnetId")
                         .weightedCapacity(123)
                         .build()))
                 .build()))
         .targetCapacitySpecification(TargetCapacitySpecificationRequestProperty.builder()
                 .totalTargetCapacity(123)
                 // the properties below are optional
                 .defaultTargetCapacityType("defaultTargetCapacityType")
                 .onDemandTargetCapacity(123)
                 .spotTargetCapacity(123)
                 .targetCapacityUnitType("targetCapacityUnitType")
                 .build())
         // the properties below are optional
         .context("context")
         .excessCapacityTerminationPolicy("excessCapacityTerminationPolicy")
         .onDemandOptions(OnDemandOptionsRequestProperty.builder()
                 .allocationStrategy("allocationStrategy")
                 .capacityReservationOptions(CapacityReservationOptionsRequestProperty.builder()
                         .usageStrategy("usageStrategy")
                         .build())
                 .maxTotalPrice("maxTotalPrice")
                 .minTargetCapacity(123)
                 .singleAvailabilityZone(false)
                 .singleInstanceType(false)
                 .build())
         .replaceUnhealthyInstances(false)
         .spotOptions(SpotOptionsRequestProperty.builder()
                 .allocationStrategy("allocationStrategy")
                 .instanceInterruptionBehavior("instanceInterruptionBehavior")
                 .instancePoolsToUseCount(123)
                 .maintenanceStrategies(MaintenanceStrategiesProperty.builder()
                         .capacityRebalance(CapacityRebalanceProperty.builder()
                                 .replacementStrategy("replacementStrategy")
                                 .terminationDelay(123)
                                 .build())
                         .build())
                 .maxTotalPrice("maxTotalPrice")
                 .minTargetCapacity(123)
                 .singleAvailabilityZone(false)
                 .singleInstanceType(false)
                 .build())
         .tagSpecifications(List.of(TagSpecificationProperty.builder()
                 .resourceType("resourceType")
                 .tags(List.of(CfnTag.builder()
                         .key("key")
                         .value("value")
                         .build()))
                 .build()))
         .terminateInstancesWithExpiration(false)
         .type("type")
         .validFrom("validFrom")
         .validUntil("validUntil")
         .build();
 
  • Method Details

    • getLaunchTemplateConfigs

      @Stability(Stable) @NotNull Object getLaunchTemplateConfigs()
      The configuration for the EC2 Fleet.
    • getTargetCapacitySpecification

      @Stability(Stable) @NotNull Object getTargetCapacitySpecification()
      The number of units to request.
    • getContext

      @Stability(Stable) @Nullable default String getContext()
      Reserved.
    • getExcessCapacityTerminationPolicy

      @Stability(Stable) @Nullable default String getExcessCapacityTerminationPolicy()
      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.

      Supported only for fleets of type maintain .

    • getOnDemandOptions

      @Stability(Stable) @Nullable default Object getOnDemandOptions()
      Describes the configuration of On-Demand Instances in an EC2 Fleet.
    • getReplaceUnhealthyInstances

      @Stability(Stable) @Nullable default Object getReplaceUnhealthyInstances()
      Indicates whether EC2 Fleet should replace unhealthy Spot Instances.

      Supported only for fleets of type maintain . For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide .

    • getSpotOptions

      @Stability(Stable) @Nullable default Object getSpotOptions()
      Describes the configuration of Spot Instances in an EC2 Fleet.
    • getTagSpecifications

      @Stability(Stable) @Nullable default Object getTagSpecifications()
      The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources .

      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 .

    • getTerminateInstancesWithExpiration

      @Stability(Stable) @Nullable default Object getTerminateInstancesWithExpiration()
      Indicates whether running instances should be terminated when the EC2 Fleet expires.
    • getType

      @Stability(Stable) @Nullable default String getType()
      The fleet type. The default value is maintain .

      • maintain - The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.
      • request - The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.
      • instant - The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.

      For more information, see EC2 Fleet request types in the Amazon EC2 User Guide .

    • getValidFrom

      @Stability(Stable) @Nullable default String getValidFrom()
      The start date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).

      The default is to start fulfilling the request immediately.

    • getValidUntil

      @Stability(Stable) @Nullable default String getValidUntil()
      The end date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).

      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.

    • builder

      @Stability(Stable) static CfnEC2FleetProps.Builder builder()
      Returns:
      a CfnEC2FleetProps.Builder of CfnEC2FleetProps