Interface CfnCluster.InstanceTypeConfigProperty

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

@Stability(Stable) public static interface CfnCluster.InstanceTypeConfigProperty extends software.amazon.jsii.JsiiSerializable

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

InstanceTypeConfig is a sub-property of InstanceFleetConfig . InstanceTypeConfig determines the EC2 instances that Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities.

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()
      A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.
    • 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 CfnCluster.InstanceTypeConfigProperty.Builder builder()
      Returns:
      a CfnCluster.InstanceTypeConfigProperty.Builder of CfnCluster.InstanceTypeConfigProperty