All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.cloudshiftdev.awscdk.services.emr.CfnInstanceGroupConfigProps.kt Maven / Gradle / Ivy

The newest version!
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")

package io.cloudshiftdev.awscdk.services.emr

import io.cloudshiftdev.awscdk.IResolvable
import io.cloudshiftdev.awscdk.common.CdkDslMarker
import io.cloudshiftdev.awscdk.common.CdkObject
import io.cloudshiftdev.awscdk.common.CdkObjectWrappers
import kotlin.Any
import kotlin.Number
import kotlin.String
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Properties for defining a `CfnInstanceGroupConfig`.
 *
 * Example:
 *
 * ```
 * // The code below shows an example of how to instantiate this type.
 * // The values are placeholders you should change.
 * import io.cloudshiftdev.awscdk.services.emr.*;
 * ConfigurationProperty configurationProperty_;
 * CfnInstanceGroupConfigProps cfnInstanceGroupConfigProps = CfnInstanceGroupConfigProps.builder()
 * .instanceCount(123)
 * .instanceRole("instanceRole")
 * .instanceType("instanceType")
 * .jobFlowId("jobFlowId")
 * // the properties below are optional
 * .autoScalingPolicy(AutoScalingPolicyProperty.builder()
 * .constraints(ScalingConstraintsProperty.builder()
 * .maxCapacity(123)
 * .minCapacity(123)
 * .build())
 * .rules(List.of(ScalingRuleProperty.builder()
 * .action(ScalingActionProperty.builder()
 * .simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
 * .scalingAdjustment(123)
 * // the properties below are optional
 * .adjustmentType("adjustmentType")
 * .coolDown(123)
 * .build())
 * // the properties below are optional
 * .market("market")
 * .build())
 * .name("name")
 * .trigger(ScalingTriggerProperty.builder()
 * .cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
 * .comparisonOperator("comparisonOperator")
 * .metricName("metricName")
 * .period(123)
 * .threshold(123)
 * // the properties below are optional
 * .dimensions(List.of(MetricDimensionProperty.builder()
 * .key("key")
 * .value("value")
 * .build()))
 * .evaluationPeriods(123)
 * .namespace("namespace")
 * .statistic("statistic")
 * .unit("unit")
 * .build())
 * .build())
 * // the properties below are optional
 * .description("description")
 * .build()))
 * .build())
 * .bidPrice("bidPrice")
 * .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)
 * .throughput(123)
 * .build())
 * // the properties below are optional
 * .volumesPerInstance(123)
 * .build()))
 * .ebsOptimized(false)
 * .build())
 * .market("market")
 * .name("name")
 * .build();
 * ```
 *
 * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)
 */
public interface CfnInstanceGroupConfigProps {
  /**
   * `AutoScalingPolicy` is a subproperty of `InstanceGroupConfig` .
   *
   * `AutoScalingPolicy` defines how an instance group dynamically adds and terminates EC2 instances
   * in response to the value of a CloudWatch metric. For more information, see [Using Automatic
   * Scaling in Amazon
   * EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html) in the
   * *Amazon EMR Management Guide* .
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-autoscalingpolicy)
   */
  public fun autoScalingPolicy(): Any? = unwrap(this).getAutoScalingPolicy()

  /**
   * If specified, indicates that the instance group uses Spot Instances.
   *
   * This is the maximum price you are willing to pay for Spot Instances. Specify `OnDemandPrice` to
   * set the amount equal to the On-Demand price, or specify an amount in USD.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-bidprice)
   */
  public fun bidPrice(): String? = unwrap(this).getBidPrice()

  /**
   * Amazon EMR releases 4.x or later.
   *
   * The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a
   * separate configuration for each instance group (master, core, and task).
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-configurations)
   */
  public fun configurations(): Any? = unwrap(this).getConfigurations()

  /**
   * The custom AMI ID to use for the provisioned instance group.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-customamiid)
   */
  public fun customAmiId(): String? = unwrap(this).getCustomAmiId()

  /**
   * `EbsConfiguration` determines the EBS volumes to attach to EMR cluster instances.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-ebsconfiguration)
   */
  public fun ebsConfiguration(): Any? = unwrap(this).getEbsConfiguration()

  /**
   * Target number of instances for the instance group.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancecount)
   */
  public fun instanceCount(): Number

  /**
   * The role of the instance group in the cluster.
   *
   * *Allowed Values* : TASK
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancerole)
   */
  public fun instanceRole(): String

  /**
   * The Amazon EC2 instance type for all instances in the instance group.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancetype)
   */
  public fun instanceType(): String

  /**
   * The ID of an Amazon EMR cluster that you want to associate this instance group with.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-jobflowid)
   */
  public fun jobFlowId(): String

  /**
   * Market type of the Amazon EC2 instances used to create a cluster node.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-market)
   */
  public fun market(): String? = unwrap(this).getMarket()

  /**
   * Friendly name given to the instance group.
   *
   * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-name)
   */
  public fun name(): String? = unwrap(this).getName()

  /**
   * A builder for [CfnInstanceGroupConfigProps]
   */
  @CdkDslMarker
  public interface Builder {
    /**
     * @param autoScalingPolicy `AutoScalingPolicy` is a subproperty of `InstanceGroupConfig` .
     * `AutoScalingPolicy` defines how an instance group dynamically adds and terminates EC2
     * instances in response to the value of a CloudWatch metric. For more information, see [Using
     * Automatic Scaling in Amazon
     * EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html) in the
     * *Amazon EMR Management Guide* .
     */
    public fun autoScalingPolicy(autoScalingPolicy: IResolvable)

    /**
     * @param autoScalingPolicy `AutoScalingPolicy` is a subproperty of `InstanceGroupConfig` .
     * `AutoScalingPolicy` defines how an instance group dynamically adds and terminates EC2
     * instances in response to the value of a CloudWatch metric. For more information, see [Using
     * Automatic Scaling in Amazon
     * EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html) in the
     * *Amazon EMR Management Guide* .
     */
    public
        fun autoScalingPolicy(autoScalingPolicy: CfnInstanceGroupConfig.AutoScalingPolicyProperty)

    /**
     * @param autoScalingPolicy `AutoScalingPolicy` is a subproperty of `InstanceGroupConfig` .
     * `AutoScalingPolicy` defines how an instance group dynamically adds and terminates EC2
     * instances in response to the value of a CloudWatch metric. For more information, see [Using
     * Automatic Scaling in Amazon
     * EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html) in the
     * *Amazon EMR Management Guide* .
     */
    @kotlin.Suppress("INAPPLICABLE_JVM_NAME")
    @JvmName("0c77469ce0a8910e5660e4e7165b7a702421295111d465a666f7e13b46ac2f56")
    public
        fun autoScalingPolicy(autoScalingPolicy: CfnInstanceGroupConfig.AutoScalingPolicyProperty.Builder.() -> Unit)

    /**
     * @param bidPrice If specified, indicates that the instance group uses Spot Instances.
     * This is the maximum price you are willing to pay for Spot Instances. Specify `OnDemandPrice`
     * to set the amount equal to the On-Demand price, or specify an amount in USD.
     */
    public fun bidPrice(bidPrice: String)

    /**
     * @param configurations Amazon EMR releases 4.x or later.
     * The list of configurations supplied for an Amazon EMR cluster instance group. You can specify
     * a separate configuration for each instance group (master, core, and task).
     */
    public fun configurations(configurations: IResolvable)

    /**
     * @param configurations Amazon EMR releases 4.x or later.
     * The list of configurations supplied for an Amazon EMR cluster instance group. You can specify
     * a separate configuration for each instance group (master, core, and task).
     */
    public fun configurations(configurations: List)

    /**
     * @param configurations Amazon EMR releases 4.x or later.
     * The list of configurations supplied for an Amazon EMR cluster instance group. You can specify
     * a separate configuration for each instance group (master, core, and task).
     */
    public fun configurations(vararg configurations: Any)

    /**
     * @param customAmiId The custom AMI ID to use for the provisioned instance group.
     */
    public fun customAmiId(customAmiId: String)

    /**
     * @param ebsConfiguration `EbsConfiguration` determines the EBS volumes to attach to EMR
     * cluster instances.
     */
    public fun ebsConfiguration(ebsConfiguration: IResolvable)

    /**
     * @param ebsConfiguration `EbsConfiguration` determines the EBS volumes to attach to EMR
     * cluster instances.
     */
    public fun ebsConfiguration(ebsConfiguration: CfnInstanceGroupConfig.EbsConfigurationProperty)

    /**
     * @param ebsConfiguration `EbsConfiguration` determines the EBS volumes to attach to EMR
     * cluster instances.
     */
    @kotlin.Suppress("INAPPLICABLE_JVM_NAME")
    @JvmName("1237a96e8a338e38523c58a7a4468de8e20eea902b7f50c54927bb9611523942")
    public
        fun ebsConfiguration(ebsConfiguration: CfnInstanceGroupConfig.EbsConfigurationProperty.Builder.() -> Unit)

    /**
     * @param instanceCount Target number of instances for the instance group. 
     */
    public fun instanceCount(instanceCount: Number)

    /**
     * @param instanceRole The role of the instance group in the cluster. 
     * *Allowed Values* : TASK
     */
    public fun instanceRole(instanceRole: String)

    /**
     * @param instanceType The Amazon EC2 instance type for all instances in the instance group. 
     */
    public fun instanceType(instanceType: String)

    /**
     * @param jobFlowId The ID of an Amazon EMR cluster that you want to associate this instance
     * group with. 
     */
    public fun jobFlowId(jobFlowId: String)

    /**
     * @param market Market type of the Amazon EC2 instances used to create a cluster node.
     */
    public fun market(market: String)

    /**
     * @param name Friendly name given to the instance group.
     */
    public fun name(name: String)
  }

  private class BuilderImpl : Builder {
    private val cdkBuilder: software.amazon.awscdk.services.emr.CfnInstanceGroupConfigProps.Builder
        = software.amazon.awscdk.services.emr.CfnInstanceGroupConfigProps.builder()

    /**
     * @param autoScalingPolicy `AutoScalingPolicy` is a subproperty of `InstanceGroupConfig` .
     * `AutoScalingPolicy` defines how an instance group dynamically adds and terminates EC2
     * instances in response to the value of a CloudWatch metric. For more information, see [Using
     * Automatic Scaling in Amazon
     * EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html) in the
     * *Amazon EMR Management Guide* .
     */
    override fun autoScalingPolicy(autoScalingPolicy: IResolvable) {
      cdkBuilder.autoScalingPolicy(autoScalingPolicy.let(IResolvable.Companion::unwrap))
    }

    /**
     * @param autoScalingPolicy `AutoScalingPolicy` is a subproperty of `InstanceGroupConfig` .
     * `AutoScalingPolicy` defines how an instance group dynamically adds and terminates EC2
     * instances in response to the value of a CloudWatch metric. For more information, see [Using
     * Automatic Scaling in Amazon
     * EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html) in the
     * *Amazon EMR Management Guide* .
     */
    override
        fun autoScalingPolicy(autoScalingPolicy: CfnInstanceGroupConfig.AutoScalingPolicyProperty) {
      cdkBuilder.autoScalingPolicy(autoScalingPolicy.let(CfnInstanceGroupConfig.AutoScalingPolicyProperty.Companion::unwrap))
    }

    /**
     * @param autoScalingPolicy `AutoScalingPolicy` is a subproperty of `InstanceGroupConfig` .
     * `AutoScalingPolicy` defines how an instance group dynamically adds and terminates EC2
     * instances in response to the value of a CloudWatch metric. For more information, see [Using
     * Automatic Scaling in Amazon
     * EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html) in the
     * *Amazon EMR Management Guide* .
     */
    @kotlin.Suppress("INAPPLICABLE_JVM_NAME")
    @JvmName("0c77469ce0a8910e5660e4e7165b7a702421295111d465a666f7e13b46ac2f56")
    override
        fun autoScalingPolicy(autoScalingPolicy: CfnInstanceGroupConfig.AutoScalingPolicyProperty.Builder.() -> Unit):
        Unit =
        autoScalingPolicy(CfnInstanceGroupConfig.AutoScalingPolicyProperty(autoScalingPolicy))

    /**
     * @param bidPrice If specified, indicates that the instance group uses Spot Instances.
     * This is the maximum price you are willing to pay for Spot Instances. Specify `OnDemandPrice`
     * to set the amount equal to the On-Demand price, or specify an amount in USD.
     */
    override fun bidPrice(bidPrice: String) {
      cdkBuilder.bidPrice(bidPrice)
    }

    /**
     * @param configurations Amazon EMR releases 4.x or later.
     * The list of configurations supplied for an Amazon EMR cluster instance group. You can specify
     * a separate configuration for each instance group (master, core, and task).
     */
    override fun configurations(configurations: IResolvable) {
      cdkBuilder.configurations(configurations.let(IResolvable.Companion::unwrap))
    }

    /**
     * @param configurations Amazon EMR releases 4.x or later.
     * The list of configurations supplied for an Amazon EMR cluster instance group. You can specify
     * a separate configuration for each instance group (master, core, and task).
     */
    override fun configurations(configurations: List) {
      cdkBuilder.configurations(configurations.map{CdkObjectWrappers.unwrap(it)})
    }

    /**
     * @param configurations Amazon EMR releases 4.x or later.
     * The list of configurations supplied for an Amazon EMR cluster instance group. You can specify
     * a separate configuration for each instance group (master, core, and task).
     */
    override fun configurations(vararg configurations: Any): Unit =
        configurations(configurations.toList())

    /**
     * @param customAmiId The custom AMI ID to use for the provisioned instance group.
     */
    override fun customAmiId(customAmiId: String) {
      cdkBuilder.customAmiId(customAmiId)
    }

    /**
     * @param ebsConfiguration `EbsConfiguration` determines the EBS volumes to attach to EMR
     * cluster instances.
     */
    override fun ebsConfiguration(ebsConfiguration: IResolvable) {
      cdkBuilder.ebsConfiguration(ebsConfiguration.let(IResolvable.Companion::unwrap))
    }

    /**
     * @param ebsConfiguration `EbsConfiguration` determines the EBS volumes to attach to EMR
     * cluster instances.
     */
    override
        fun ebsConfiguration(ebsConfiguration: CfnInstanceGroupConfig.EbsConfigurationProperty) {
      cdkBuilder.ebsConfiguration(ebsConfiguration.let(CfnInstanceGroupConfig.EbsConfigurationProperty.Companion::unwrap))
    }

    /**
     * @param ebsConfiguration `EbsConfiguration` determines the EBS volumes to attach to EMR
     * cluster instances.
     */
    @kotlin.Suppress("INAPPLICABLE_JVM_NAME")
    @JvmName("1237a96e8a338e38523c58a7a4468de8e20eea902b7f50c54927bb9611523942")
    override
        fun ebsConfiguration(ebsConfiguration: CfnInstanceGroupConfig.EbsConfigurationProperty.Builder.() -> Unit):
        Unit = ebsConfiguration(CfnInstanceGroupConfig.EbsConfigurationProperty(ebsConfiguration))

    /**
     * @param instanceCount Target number of instances for the instance group. 
     */
    override fun instanceCount(instanceCount: Number) {
      cdkBuilder.instanceCount(instanceCount)
    }

    /**
     * @param instanceRole The role of the instance group in the cluster. 
     * *Allowed Values* : TASK
     */
    override fun instanceRole(instanceRole: String) {
      cdkBuilder.instanceRole(instanceRole)
    }

    /**
     * @param instanceType The Amazon EC2 instance type for all instances in the instance group. 
     */
    override fun instanceType(instanceType: String) {
      cdkBuilder.instanceType(instanceType)
    }

    /**
     * @param jobFlowId The ID of an Amazon EMR cluster that you want to associate this instance
     * group with. 
     */
    override fun jobFlowId(jobFlowId: String) {
      cdkBuilder.jobFlowId(jobFlowId)
    }

    /**
     * @param market Market type of the Amazon EC2 instances used to create a cluster node.
     */
    override fun market(market: String) {
      cdkBuilder.market(market)
    }

    /**
     * @param name Friendly name given to the instance group.
     */
    override fun name(name: String) {
      cdkBuilder.name(name)
    }

    public fun build(): software.amazon.awscdk.services.emr.CfnInstanceGroupConfigProps =
        cdkBuilder.build()
  }

  private class Wrapper(
    cdkObject: software.amazon.awscdk.services.emr.CfnInstanceGroupConfigProps,
  ) : CdkObject(cdkObject),
      CfnInstanceGroupConfigProps {
    /**
     * `AutoScalingPolicy` is a subproperty of `InstanceGroupConfig` .
     *
     * `AutoScalingPolicy` defines how an instance group dynamically adds and terminates EC2
     * instances in response to the value of a CloudWatch metric. For more information, see [Using
     * Automatic Scaling in Amazon
     * EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html) in the
     * *Amazon EMR Management Guide* .
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-autoscalingpolicy)
     */
    override fun autoScalingPolicy(): Any? = unwrap(this).getAutoScalingPolicy()

    /**
     * If specified, indicates that the instance group uses Spot Instances.
     *
     * This is the maximum price you are willing to pay for Spot Instances. Specify `OnDemandPrice`
     * to set the amount equal to the On-Demand price, or specify an amount in USD.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-bidprice)
     */
    override fun bidPrice(): String? = unwrap(this).getBidPrice()

    /**
     * Amazon EMR releases 4.x or later.
     *
     * The list of configurations supplied for an Amazon EMR cluster instance group. You can specify
     * a separate configuration for each instance group (master, core, and task).
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-configurations)
     */
    override fun configurations(): Any? = unwrap(this).getConfigurations()

    /**
     * The custom AMI ID to use for the provisioned instance group.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-customamiid)
     */
    override fun customAmiId(): String? = unwrap(this).getCustomAmiId()

    /**
     * `EbsConfiguration` determines the EBS volumes to attach to EMR cluster instances.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-ebsconfiguration)
     */
    override fun ebsConfiguration(): Any? = unwrap(this).getEbsConfiguration()

    /**
     * Target number of instances for the instance group.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancecount)
     */
    override fun instanceCount(): Number = unwrap(this).getInstanceCount()

    /**
     * The role of the instance group in the cluster.
     *
     * *Allowed Values* : TASK
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancerole)
     */
    override fun instanceRole(): String = unwrap(this).getInstanceRole()

    /**
     * The Amazon EC2 instance type for all instances in the instance group.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancetype)
     */
    override fun instanceType(): String = unwrap(this).getInstanceType()

    /**
     * The ID of an Amazon EMR cluster that you want to associate this instance group with.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-jobflowid)
     */
    override fun jobFlowId(): String = unwrap(this).getJobFlowId()

    /**
     * Market type of the Amazon EC2 instances used to create a cluster node.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-market)
     */
    override fun market(): String? = unwrap(this).getMarket()

    /**
     * Friendly name given to the instance group.
     *
     * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-name)
     */
    override fun name(): String? = unwrap(this).getName()
  }

  public companion object {
    public operator fun invoke(block: Builder.() -> Unit = {}): CfnInstanceGroupConfigProps {
      val builderImpl = BuilderImpl()
      return Wrapper(builderImpl.apply(block).build())
    }

    internal fun wrap(cdkObject: software.amazon.awscdk.services.emr.CfnInstanceGroupConfigProps):
        CfnInstanceGroupConfigProps = CdkObjectWrappers.wrap(cdkObject) as?
        CfnInstanceGroupConfigProps ?: Wrapper(cdkObject)

    internal fun unwrap(wrapped: CfnInstanceGroupConfigProps):
        software.amazon.awscdk.services.emr.CfnInstanceGroupConfigProps = (wrapped as
        CdkObject).cdkObject as software.amazon.awscdk.services.emr.CfnInstanceGroupConfigProps
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy