Interface CfnInstanceFleetConfig.InstanceTypeConfigProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnInstanceFleetConfig.InstanceTypeConfigProperty.Jsii$Proxy
Enclosing class:
CfnInstanceFleetConfig

@Stability(Stable) public static interface CfnInstanceFleetConfig.InstanceTypeConfigProperty extends software.amazon.jsii.JsiiSerializable
InstanceType config is a subproperty of InstanceFleetConfig .

An instance type configuration specifies each instance type in an instance fleet. The configuration determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

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.emr.*;
 ConfigurationProperty configurationProperty_;
 InstanceTypeConfigProperty instanceTypeConfigProperty = InstanceTypeConfigProperty.builder()
         .instanceType("instanceType")
         // the properties below are optional
         .bidPrice("bidPrice")
         .bidPriceAsPercentageOfOnDemandPrice(123)
         .configurations(List.of(ConfigurationProperty.builder()
                 .classification("classification")
                 .configurationProperties(Map.of(
                         "configurationPropertiesKey", "configurationProperties"))
                 .configurations(List.of(configurationProperty_))
                 .build()))
         .customAmiId("customAmiId")
         .ebsConfiguration(EbsConfigurationProperty.builder()
                 .ebsBlockDeviceConfigs(List.of(EbsBlockDeviceConfigProperty.builder()
                         .volumeSpecification(VolumeSpecificationProperty.builder()
                                 .sizeInGb(123)
                                 .volumeType("volumeType")
                                 // the properties below are optional
                                 .iops(123)
                                 .build())
                         // the properties below are optional
                         .volumesPerInstance(123)
                         .build()))
                 .ebsOptimized(false)
                 .build())
         .weightedCapacity(123)
         .build();
 
  • Method Details

    • getInstanceType

      @Stability(Stable) @NotNull String getInstanceType()
      An Amazon EC2 instance type, such as m3.xlarge .
    • getBidPrice

      @Stability(Stable) @Nullable default String getBidPrice()
      The bid price for each Amazon EC2 Spot Instance type as defined by InstanceType .

      Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    • getBidPriceAsPercentageOfOnDemandPrice

      @Stability(Stable) @Nullable default Number getBidPriceAsPercentageOfOnDemandPrice()
      The bid price, as a percentage of On-Demand price, for each Amazon EC2 Spot Instance as defined by InstanceType .

      Expressed as a number (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

    • getConfigurations

      @Stability(Stable) @Nullable default Object getConfigurations()

      Amazon EMR releases 4.x or later.

      An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications .

    • getCustomAmiId

      @Stability(Stable) @Nullable default String getCustomAmiId()
      The custom AMI ID to use for the instance type.
    • getEbsConfiguration

      @Stability(Stable) @Nullable default Object getEbsConfiguration()
      The configuration of Amazon Elastic Block Store (Amazon EBS) attached to each instance as defined by InstanceType .
    • getWeightedCapacity

      @Stability(Stable) @Nullable default Number getWeightedCapacity()
      The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig .

      This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified.

    • builder

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