![JAR search and dependency download from the Maven repository](/logo.png)
io.cloudshiftdev.awscdk.services.emrserverless.CfnApplicationProps.kt Maven / Gradle / Ivy
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")
package io.cloudshiftdev.awscdk.services.emrserverless
import io.cloudshiftdev.awscdk.CfnTag
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.String
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Properties for defining a `CfnApplication`.
*
* 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.emrserverless.*;
* ConfigurationObjectProperty configurationObjectProperty_;
* CfnApplicationProps cfnApplicationProps = CfnApplicationProps.builder()
* .releaseLabel("releaseLabel")
* .type("type")
* // the properties below are optional
* .architecture("architecture")
* .autoStartConfiguration(AutoStartConfigurationProperty.builder()
* .enabled(false)
* .build())
* .autoStopConfiguration(AutoStopConfigurationProperty.builder()
* .enabled(false)
* .idleTimeoutMinutes(123)
* .build())
* .imageConfiguration(ImageConfigurationInputProperty.builder()
* .imageUri("imageUri")
* .build())
* .initialCapacity(List.of(InitialCapacityConfigKeyValuePairProperty.builder()
* .key("key")
* .value(InitialCapacityConfigProperty.builder()
* .workerConfiguration(WorkerConfigurationProperty.builder()
* .cpu("cpu")
* .memory("memory")
* // the properties below are optional
* .disk("disk")
* .diskType("diskType")
* .build())
* .workerCount(123)
* .build())
* .build()))
* .interactiveConfiguration(InteractiveConfigurationProperty.builder()
* .livyEndpointEnabled(false)
* .studioEnabled(false)
* .build())
* .maximumCapacity(MaximumAllowedResourcesProperty.builder()
* .cpu("cpu")
* .memory("memory")
* // the properties below are optional
* .disk("disk")
* .build())
* .monitoringConfiguration(MonitoringConfigurationProperty.builder()
* .cloudWatchLoggingConfiguration(CloudWatchLoggingConfigurationProperty.builder()
* .enabled(false)
* .encryptionKeyArn("encryptionKeyArn")
* .logGroupName("logGroupName")
* .logStreamNamePrefix("logStreamNamePrefix")
* .logTypeMap(List.of(LogTypeMapKeyValuePairProperty.builder()
* .key("key")
* .value(List.of("value"))
* .build()))
* .build())
* .managedPersistenceMonitoringConfiguration(ManagedPersistenceMonitoringConfigurationProperty.builder()
* .enabled(false)
* .encryptionKeyArn("encryptionKeyArn")
* .build())
* .s3MonitoringConfiguration(S3MonitoringConfigurationProperty.builder()
* .encryptionKeyArn("encryptionKeyArn")
* .logUri("logUri")
* .build())
* .build())
* .name("name")
* .networkConfiguration(NetworkConfigurationProperty.builder()
* .securityGroupIds(List.of("securityGroupIds"))
* .subnetIds(List.of("subnetIds"))
* .build())
* .runtimeConfiguration(List.of(ConfigurationObjectProperty.builder()
* .classification("classification")
* // the properties below are optional
* .configurations(List.of(configurationObjectProperty_))
* .properties(Map.of(
* "propertiesKey", "properties"))
* .build()))
* .tags(List.of(CfnTag.builder()
* .key("key")
* .value("value")
* .build()))
* .workerTypeSpecifications(Map.of(
* "workerTypeSpecificationsKey", WorkerTypeSpecificationInputProperty.builder()
* .imageConfiguration(ImageConfigurationInputProperty.builder()
* .imageUri("imageUri")
* .build())
* .build()))
* .build();
* ```
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)
*/
public interface CfnApplicationProps {
/**
* The CPU architecture of an application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-architecture)
*/
public fun architecture(): String? = unwrap(this).getArchitecture()
/**
* The configuration for an application to automatically start on job submission.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-autostartconfiguration)
*/
public fun autoStartConfiguration(): Any? = unwrap(this).getAutoStartConfiguration()
/**
* The configuration for an application to automatically stop after a certain amount of time being
* idle.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-autostopconfiguration)
*/
public fun autoStopConfiguration(): Any? = unwrap(this).getAutoStopConfiguration()
/**
* The image configuration applied to all worker types.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-imageconfiguration)
*/
public fun imageConfiguration(): Any? = unwrap(this).getImageConfiguration()
/**
* The initial capacity of the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-initialcapacity)
*/
public fun initialCapacity(): Any? = unwrap(this).getInitialCapacity()
/**
* The interactive configuration object that enables the interactive use cases for an application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-interactiveconfiguration)
*/
public fun interactiveConfiguration(): Any? = unwrap(this).getInteractiveConfiguration()
/**
* The maximum capacity of the application.
*
* This is cumulative across all workers at any given point in time during the lifespan of the
* application is created. No new resources will be created once any one of the defined limits is
* hit.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-maximumcapacity)
*/
public fun maximumCapacity(): Any? = unwrap(this).getMaximumCapacity()
/**
* A configuration specification to be used when provisioning an application.
*
* 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.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-monitoringconfiguration)
*/
public fun monitoringConfiguration(): Any? = unwrap(this).getMonitoringConfiguration()
/**
* The name of the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-name)
*/
public fun name(): String? = unwrap(this).getName()
/**
* The network configuration for customer VPC connectivity for the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-networkconfiguration)
*/
public fun networkConfiguration(): Any? = unwrap(this).getNetworkConfiguration()
/**
* The EMR release associated with the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-releaselabel)
*/
public fun releaseLabel(): String
/**
* The
* [Configuration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html)
* specifications of an application. Each configuration consists of a classification and properties.
* You use this parameter when creating or updating an application. To see the runtimeConfiguration
* object of an application, run the
* [GetApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)
* API operation.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-runtimeconfiguration)
*/
public fun runtimeConfiguration(): Any? = unwrap(this).getRuntimeConfiguration()
/**
* The tags assigned to the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-tags)
*/
public fun tags(): List = unwrap(this).getTags()?.map(CfnTag::wrap) ?: emptyList()
/**
* The type of application, such as Spark or Hive.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-type)
*/
public fun type(): String
/**
* The specification applied to each worker type.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-workertypespecifications)
*/
public fun workerTypeSpecifications(): Any? = unwrap(this).getWorkerTypeSpecifications()
/**
* A builder for [CfnApplicationProps]
*/
@CdkDslMarker
public interface Builder {
/**
* @param architecture The CPU architecture of an application.
*/
public fun architecture(architecture: String)
/**
* @param autoStartConfiguration The configuration for an application to automatically start on
* job submission.
*/
public fun autoStartConfiguration(autoStartConfiguration: IResolvable)
/**
* @param autoStartConfiguration The configuration for an application to automatically start on
* job submission.
*/
public
fun autoStartConfiguration(autoStartConfiguration: CfnApplication.AutoStartConfigurationProperty)
/**
* @param autoStartConfiguration The configuration for an application to automatically start on
* job submission.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("2c56e55427ffc6e9c88a76c0c2518dca5cef2cfb032fe06c6248e8db95a4abaa")
public
fun autoStartConfiguration(autoStartConfiguration: CfnApplication.AutoStartConfigurationProperty.Builder.() -> Unit)
/**
* @param autoStopConfiguration The configuration for an application to automatically stop after
* a certain amount of time being idle.
*/
public fun autoStopConfiguration(autoStopConfiguration: IResolvable)
/**
* @param autoStopConfiguration The configuration for an application to automatically stop after
* a certain amount of time being idle.
*/
public
fun autoStopConfiguration(autoStopConfiguration: CfnApplication.AutoStopConfigurationProperty)
/**
* @param autoStopConfiguration The configuration for an application to automatically stop after
* a certain amount of time being idle.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("500de897cc0a94d16dfca0ecba731277b538dc74743b3d5fc3facb0a078777c1")
public
fun autoStopConfiguration(autoStopConfiguration: CfnApplication.AutoStopConfigurationProperty.Builder.() -> Unit)
/**
* @param imageConfiguration The image configuration applied to all worker types.
*/
public fun imageConfiguration(imageConfiguration: IResolvable)
/**
* @param imageConfiguration The image configuration applied to all worker types.
*/
public
fun imageConfiguration(imageConfiguration: CfnApplication.ImageConfigurationInputProperty)
/**
* @param imageConfiguration The image configuration applied to all worker types.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("acb4744c2049de24c6ffd41fb642b97c83fa2ae1fd542d99699ad72a9c791bd6")
public
fun imageConfiguration(imageConfiguration: CfnApplication.ImageConfigurationInputProperty.Builder.() -> Unit)
/**
* @param initialCapacity The initial capacity of the application.
*/
public fun initialCapacity(initialCapacity: IResolvable)
/**
* @param initialCapacity The initial capacity of the application.
*/
public fun initialCapacity(initialCapacity: List)
/**
* @param initialCapacity The initial capacity of the application.
*/
public fun initialCapacity(vararg initialCapacity: Any)
/**
* @param interactiveConfiguration The interactive configuration object that enables the
* interactive use cases for an application.
*/
public fun interactiveConfiguration(interactiveConfiguration: IResolvable)
/**
* @param interactiveConfiguration The interactive configuration object that enables the
* interactive use cases for an application.
*/
public
fun interactiveConfiguration(interactiveConfiguration: CfnApplication.InteractiveConfigurationProperty)
/**
* @param interactiveConfiguration The interactive configuration object that enables the
* interactive use cases for an application.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("e3de5df1f3fca8debaa4faee6ea31cc226b7b64a9a5a083c67fcdf8fc460e256")
public
fun interactiveConfiguration(interactiveConfiguration: CfnApplication.InteractiveConfigurationProperty.Builder.() -> Unit)
/**
* @param maximumCapacity The maximum capacity of the application.
* This is cumulative across all workers at any given point in time during the lifespan of the
* application is created. No new resources will be created once any one of the defined limits is
* hit.
*/
public fun maximumCapacity(maximumCapacity: IResolvable)
/**
* @param maximumCapacity The maximum capacity of the application.
* This is cumulative across all workers at any given point in time during the lifespan of the
* application is created. No new resources will be created once any one of the defined limits is
* hit.
*/
public fun maximumCapacity(maximumCapacity: CfnApplication.MaximumAllowedResourcesProperty)
/**
* @param maximumCapacity The maximum capacity of the application.
* This is cumulative across all workers at any given point in time during the lifespan of the
* application is created. No new resources will be created once any one of the defined limits is
* hit.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("84ff62a12028d75d395fc0763ba45836088c0bc553ebd77b789c88019a944155")
public
fun maximumCapacity(maximumCapacity: CfnApplication.MaximumAllowedResourcesProperty.Builder.() -> Unit)
/**
* @param monitoringConfiguration A configuration specification to be used when provisioning an
* application.
* 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.
*/
public fun monitoringConfiguration(monitoringConfiguration: IResolvable)
/**
* @param monitoringConfiguration A configuration specification to be used when provisioning an
* application.
* 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.
*/
public
fun monitoringConfiguration(monitoringConfiguration: CfnApplication.MonitoringConfigurationProperty)
/**
* @param monitoringConfiguration A configuration specification to be used when provisioning an
* application.
* 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.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("8dc81f1ffc2da6af1f80f12f17224058b6a286e36ac05b5f737f104823e4f40d")
public
fun monitoringConfiguration(monitoringConfiguration: CfnApplication.MonitoringConfigurationProperty.Builder.() -> Unit)
/**
* @param name The name of the application.
*/
public fun name(name: String)
/**
* @param networkConfiguration The network configuration for customer VPC connectivity for the
* application.
*/
public fun networkConfiguration(networkConfiguration: IResolvable)
/**
* @param networkConfiguration The network configuration for customer VPC connectivity for the
* application.
*/
public
fun networkConfiguration(networkConfiguration: CfnApplication.NetworkConfigurationProperty)
/**
* @param networkConfiguration The network configuration for customer VPC connectivity for the
* application.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("be091b832776d5e5dded16980a31d452d52a7d11ec6f094c4e3358f3be7099e9")
public
fun networkConfiguration(networkConfiguration: CfnApplication.NetworkConfigurationProperty.Builder.() -> Unit)
/**
* @param releaseLabel The EMR release associated with the application.
*/
public fun releaseLabel(releaseLabel: String)
/**
* @param runtimeConfiguration The
* [Configuration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html)
* specifications of an application. Each configuration consists of a classification and
* properties. You use this parameter when creating or updating an application. To see the
* runtimeConfiguration object of an application, run the
* [GetApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)
* API operation.
*/
public fun runtimeConfiguration(runtimeConfiguration: IResolvable)
/**
* @param runtimeConfiguration The
* [Configuration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html)
* specifications of an application. Each configuration consists of a classification and
* properties. You use this parameter when creating or updating an application. To see the
* runtimeConfiguration object of an application, run the
* [GetApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)
* API operation.
*/
public fun runtimeConfiguration(runtimeConfiguration: List)
/**
* @param runtimeConfiguration The
* [Configuration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html)
* specifications of an application. Each configuration consists of a classification and
* properties. You use this parameter when creating or updating an application. To see the
* runtimeConfiguration object of an application, run the
* [GetApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)
* API operation.
*/
public fun runtimeConfiguration(vararg runtimeConfiguration: Any)
/**
* @param tags The tags assigned to the application.
*/
public fun tags(tags: List)
/**
* @param tags The tags assigned to the application.
*/
public fun tags(vararg tags: CfnTag)
/**
* @param type The type of application, such as Spark or Hive.
*/
public fun type(type: String)
/**
* @param workerTypeSpecifications The specification applied to each worker type.
*/
public fun workerTypeSpecifications(workerTypeSpecifications: IResolvable)
/**
* @param workerTypeSpecifications The specification applied to each worker type.
*/
public fun workerTypeSpecifications(workerTypeSpecifications: Map)
}
private class BuilderImpl : Builder {
private val cdkBuilder:
software.amazon.awscdk.services.emrserverless.CfnApplicationProps.Builder =
software.amazon.awscdk.services.emrserverless.CfnApplicationProps.builder()
/**
* @param architecture The CPU architecture of an application.
*/
override fun architecture(architecture: String) {
cdkBuilder.architecture(architecture)
}
/**
* @param autoStartConfiguration The configuration for an application to automatically start on
* job submission.
*/
override fun autoStartConfiguration(autoStartConfiguration: IResolvable) {
cdkBuilder.autoStartConfiguration(autoStartConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* @param autoStartConfiguration The configuration for an application to automatically start on
* job submission.
*/
override
fun autoStartConfiguration(autoStartConfiguration: CfnApplication.AutoStartConfigurationProperty) {
cdkBuilder.autoStartConfiguration(autoStartConfiguration.let(CfnApplication.AutoStartConfigurationProperty.Companion::unwrap))
}
/**
* @param autoStartConfiguration The configuration for an application to automatically start on
* job submission.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("2c56e55427ffc6e9c88a76c0c2518dca5cef2cfb032fe06c6248e8db95a4abaa")
override
fun autoStartConfiguration(autoStartConfiguration: CfnApplication.AutoStartConfigurationProperty.Builder.() -> Unit):
Unit =
autoStartConfiguration(CfnApplication.AutoStartConfigurationProperty(autoStartConfiguration))
/**
* @param autoStopConfiguration The configuration for an application to automatically stop after
* a certain amount of time being idle.
*/
override fun autoStopConfiguration(autoStopConfiguration: IResolvable) {
cdkBuilder.autoStopConfiguration(autoStopConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* @param autoStopConfiguration The configuration for an application to automatically stop after
* a certain amount of time being idle.
*/
override
fun autoStopConfiguration(autoStopConfiguration: CfnApplication.AutoStopConfigurationProperty) {
cdkBuilder.autoStopConfiguration(autoStopConfiguration.let(CfnApplication.AutoStopConfigurationProperty.Companion::unwrap))
}
/**
* @param autoStopConfiguration The configuration for an application to automatically stop after
* a certain amount of time being idle.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("500de897cc0a94d16dfca0ecba731277b538dc74743b3d5fc3facb0a078777c1")
override
fun autoStopConfiguration(autoStopConfiguration: CfnApplication.AutoStopConfigurationProperty.Builder.() -> Unit):
Unit =
autoStopConfiguration(CfnApplication.AutoStopConfigurationProperty(autoStopConfiguration))
/**
* @param imageConfiguration The image configuration applied to all worker types.
*/
override fun imageConfiguration(imageConfiguration: IResolvable) {
cdkBuilder.imageConfiguration(imageConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* @param imageConfiguration The image configuration applied to all worker types.
*/
override
fun imageConfiguration(imageConfiguration: CfnApplication.ImageConfigurationInputProperty) {
cdkBuilder.imageConfiguration(imageConfiguration.let(CfnApplication.ImageConfigurationInputProperty.Companion::unwrap))
}
/**
* @param imageConfiguration The image configuration applied to all worker types.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("acb4744c2049de24c6ffd41fb642b97c83fa2ae1fd542d99699ad72a9c791bd6")
override
fun imageConfiguration(imageConfiguration: CfnApplication.ImageConfigurationInputProperty.Builder.() -> Unit):
Unit =
imageConfiguration(CfnApplication.ImageConfigurationInputProperty(imageConfiguration))
/**
* @param initialCapacity The initial capacity of the application.
*/
override fun initialCapacity(initialCapacity: IResolvable) {
cdkBuilder.initialCapacity(initialCapacity.let(IResolvable.Companion::unwrap))
}
/**
* @param initialCapacity The initial capacity of the application.
*/
override fun initialCapacity(initialCapacity: List) {
cdkBuilder.initialCapacity(initialCapacity.map{CdkObjectWrappers.unwrap(it)})
}
/**
* @param initialCapacity The initial capacity of the application.
*/
override fun initialCapacity(vararg initialCapacity: Any): Unit =
initialCapacity(initialCapacity.toList())
/**
* @param interactiveConfiguration The interactive configuration object that enables the
* interactive use cases for an application.
*/
override fun interactiveConfiguration(interactiveConfiguration: IResolvable) {
cdkBuilder.interactiveConfiguration(interactiveConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* @param interactiveConfiguration The interactive configuration object that enables the
* interactive use cases for an application.
*/
override
fun interactiveConfiguration(interactiveConfiguration: CfnApplication.InteractiveConfigurationProperty) {
cdkBuilder.interactiveConfiguration(interactiveConfiguration.let(CfnApplication.InteractiveConfigurationProperty.Companion::unwrap))
}
/**
* @param interactiveConfiguration The interactive configuration object that enables the
* interactive use cases for an application.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("e3de5df1f3fca8debaa4faee6ea31cc226b7b64a9a5a083c67fcdf8fc460e256")
override
fun interactiveConfiguration(interactiveConfiguration: CfnApplication.InteractiveConfigurationProperty.Builder.() -> Unit):
Unit =
interactiveConfiguration(CfnApplication.InteractiveConfigurationProperty(interactiveConfiguration))
/**
* @param maximumCapacity The maximum capacity of the application.
* This is cumulative across all workers at any given point in time during the lifespan of the
* application is created. No new resources will be created once any one of the defined limits is
* hit.
*/
override fun maximumCapacity(maximumCapacity: IResolvable) {
cdkBuilder.maximumCapacity(maximumCapacity.let(IResolvable.Companion::unwrap))
}
/**
* @param maximumCapacity The maximum capacity of the application.
* This is cumulative across all workers at any given point in time during the lifespan of the
* application is created. No new resources will be created once any one of the defined limits is
* hit.
*/
override fun maximumCapacity(maximumCapacity: CfnApplication.MaximumAllowedResourcesProperty) {
cdkBuilder.maximumCapacity(maximumCapacity.let(CfnApplication.MaximumAllowedResourcesProperty.Companion::unwrap))
}
/**
* @param maximumCapacity The maximum capacity of the application.
* This is cumulative across all workers at any given point in time during the lifespan of the
* application is created. No new resources will be created once any one of the defined limits is
* hit.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("84ff62a12028d75d395fc0763ba45836088c0bc553ebd77b789c88019a944155")
override
fun maximumCapacity(maximumCapacity: CfnApplication.MaximumAllowedResourcesProperty.Builder.() -> Unit):
Unit = maximumCapacity(CfnApplication.MaximumAllowedResourcesProperty(maximumCapacity))
/**
* @param monitoringConfiguration A configuration specification to be used when provisioning an
* application.
* 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.
*/
override fun monitoringConfiguration(monitoringConfiguration: IResolvable) {
cdkBuilder.monitoringConfiguration(monitoringConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* @param monitoringConfiguration A configuration specification to be used when provisioning an
* application.
* 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.
*/
override
fun monitoringConfiguration(monitoringConfiguration: CfnApplication.MonitoringConfigurationProperty) {
cdkBuilder.monitoringConfiguration(monitoringConfiguration.let(CfnApplication.MonitoringConfigurationProperty.Companion::unwrap))
}
/**
* @param monitoringConfiguration A configuration specification to be used when provisioning an
* application.
* 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.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("8dc81f1ffc2da6af1f80f12f17224058b6a286e36ac05b5f737f104823e4f40d")
override
fun monitoringConfiguration(monitoringConfiguration: CfnApplication.MonitoringConfigurationProperty.Builder.() -> Unit):
Unit =
monitoringConfiguration(CfnApplication.MonitoringConfigurationProperty(monitoringConfiguration))
/**
* @param name The name of the application.
*/
override fun name(name: String) {
cdkBuilder.name(name)
}
/**
* @param networkConfiguration The network configuration for customer VPC connectivity for the
* application.
*/
override fun networkConfiguration(networkConfiguration: IResolvable) {
cdkBuilder.networkConfiguration(networkConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* @param networkConfiguration The network configuration for customer VPC connectivity for the
* application.
*/
override
fun networkConfiguration(networkConfiguration: CfnApplication.NetworkConfigurationProperty) {
cdkBuilder.networkConfiguration(networkConfiguration.let(CfnApplication.NetworkConfigurationProperty.Companion::unwrap))
}
/**
* @param networkConfiguration The network configuration for customer VPC connectivity for the
* application.
*/
@kotlin.Suppress("INAPPLICABLE_JVM_NAME")
@JvmName("be091b832776d5e5dded16980a31d452d52a7d11ec6f094c4e3358f3be7099e9")
override
fun networkConfiguration(networkConfiguration: CfnApplication.NetworkConfigurationProperty.Builder.() -> Unit):
Unit =
networkConfiguration(CfnApplication.NetworkConfigurationProperty(networkConfiguration))
/**
* @param releaseLabel The EMR release associated with the application.
*/
override fun releaseLabel(releaseLabel: String) {
cdkBuilder.releaseLabel(releaseLabel)
}
/**
* @param runtimeConfiguration The
* [Configuration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html)
* specifications of an application. Each configuration consists of a classification and
* properties. You use this parameter when creating or updating an application. To see the
* runtimeConfiguration object of an application, run the
* [GetApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)
* API operation.
*/
override fun runtimeConfiguration(runtimeConfiguration: IResolvable) {
cdkBuilder.runtimeConfiguration(runtimeConfiguration.let(IResolvable.Companion::unwrap))
}
/**
* @param runtimeConfiguration The
* [Configuration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html)
* specifications of an application. Each configuration consists of a classification and
* properties. You use this parameter when creating or updating an application. To see the
* runtimeConfiguration object of an application, run the
* [GetApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)
* API operation.
*/
override fun runtimeConfiguration(runtimeConfiguration: List) {
cdkBuilder.runtimeConfiguration(runtimeConfiguration.map{CdkObjectWrappers.unwrap(it)})
}
/**
* @param runtimeConfiguration The
* [Configuration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html)
* specifications of an application. Each configuration consists of a classification and
* properties. You use this parameter when creating or updating an application. To see the
* runtimeConfiguration object of an application, run the
* [GetApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)
* API operation.
*/
override fun runtimeConfiguration(vararg runtimeConfiguration: Any): Unit =
runtimeConfiguration(runtimeConfiguration.toList())
/**
* @param tags The tags assigned to the application.
*/
override fun tags(tags: List) {
cdkBuilder.tags(tags.map(CfnTag.Companion::unwrap))
}
/**
* @param tags The tags assigned to the application.
*/
override fun tags(vararg tags: CfnTag): Unit = tags(tags.toList())
/**
* @param type The type of application, such as Spark or Hive.
*/
override fun type(type: String) {
cdkBuilder.type(type)
}
/**
* @param workerTypeSpecifications The specification applied to each worker type.
*/
override fun workerTypeSpecifications(workerTypeSpecifications: IResolvable) {
cdkBuilder.workerTypeSpecifications(workerTypeSpecifications.let(IResolvable.Companion::unwrap))
}
/**
* @param workerTypeSpecifications The specification applied to each worker type.
*/
override fun workerTypeSpecifications(workerTypeSpecifications: Map) {
cdkBuilder.workerTypeSpecifications(workerTypeSpecifications.mapValues{CdkObjectWrappers.unwrap(it.value)})
}
public fun build(): software.amazon.awscdk.services.emrserverless.CfnApplicationProps =
cdkBuilder.build()
}
private class Wrapper(
cdkObject: software.amazon.awscdk.services.emrserverless.CfnApplicationProps,
) : CdkObject(cdkObject),
CfnApplicationProps {
/**
* The CPU architecture of an application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-architecture)
*/
override fun architecture(): String? = unwrap(this).getArchitecture()
/**
* The configuration for an application to automatically start on job submission.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-autostartconfiguration)
*/
override fun autoStartConfiguration(): Any? = unwrap(this).getAutoStartConfiguration()
/**
* The configuration for an application to automatically stop after a certain amount of time
* being idle.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-autostopconfiguration)
*/
override fun autoStopConfiguration(): Any? = unwrap(this).getAutoStopConfiguration()
/**
* The image configuration applied to all worker types.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-imageconfiguration)
*/
override fun imageConfiguration(): Any? = unwrap(this).getImageConfiguration()
/**
* The initial capacity of the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-initialcapacity)
*/
override fun initialCapacity(): Any? = unwrap(this).getInitialCapacity()
/**
* The interactive configuration object that enables the interactive use cases for an
* application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-interactiveconfiguration)
*/
override fun interactiveConfiguration(): Any? = unwrap(this).getInteractiveConfiguration()
/**
* The maximum capacity of the application.
*
* This is cumulative across all workers at any given point in time during the lifespan of the
* application is created. No new resources will be created once any one of the defined limits is
* hit.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-maximumcapacity)
*/
override fun maximumCapacity(): Any? = unwrap(this).getMaximumCapacity()
/**
* A configuration specification to be used when provisioning an application.
*
* 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.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-monitoringconfiguration)
*/
override fun monitoringConfiguration(): Any? = unwrap(this).getMonitoringConfiguration()
/**
* The name of the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-name)
*/
override fun name(): String? = unwrap(this).getName()
/**
* The network configuration for customer VPC connectivity for the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-networkconfiguration)
*/
override fun networkConfiguration(): Any? = unwrap(this).getNetworkConfiguration()
/**
* The EMR release associated with the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-releaselabel)
*/
override fun releaseLabel(): String = unwrap(this).getReleaseLabel()
/**
* The
* [Configuration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html)
* specifications of an application. Each configuration consists of a classification and
* properties. You use this parameter when creating or updating an application. To see the
* runtimeConfiguration object of an application, run the
* [GetApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)
* API operation.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-runtimeconfiguration)
*/
override fun runtimeConfiguration(): Any? = unwrap(this).getRuntimeConfiguration()
/**
* The tags assigned to the application.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-tags)
*/
override fun tags(): List = unwrap(this).getTags()?.map(CfnTag::wrap) ?: emptyList()
/**
* The type of application, such as Spark or Hive.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-type)
*/
override fun type(): String = unwrap(this).getType()
/**
* The specification applied to each worker type.
*
* [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html#cfn-emrserverless-application-workertypespecifications)
*/
override fun workerTypeSpecifications(): Any? = unwrap(this).getWorkerTypeSpecifications()
}
public companion object {
public operator fun invoke(block: Builder.() -> Unit = {}): CfnApplicationProps {
val builderImpl = BuilderImpl()
return Wrapper(builderImpl.apply(block).build())
}
internal fun wrap(cdkObject: software.amazon.awscdk.services.emrserverless.CfnApplicationProps):
CfnApplicationProps = CdkObjectWrappers.wrap(cdkObject) as? CfnApplicationProps ?:
Wrapper(cdkObject)
internal fun unwrap(wrapped: CfnApplicationProps):
software.amazon.awscdk.services.emrserverless.CfnApplicationProps = (wrapped as
CdkObject).cdkObject as software.amazon.awscdk.services.emrserverless.CfnApplicationProps
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy