
com.pulumi.awsnative.emrserverless.kotlin.Application.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.emrserverless.kotlin
import com.pulumi.awsnative.emrserverless.kotlin.enums.ApplicationArchitecture
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationAutoStartConfiguration
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationAutoStopConfiguration
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationConfigurationObject
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationImageConfigurationInput
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationInitialCapacityConfigKeyValuePair
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationMaximumAllowedResources
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationMonitoringConfiguration
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationNetworkConfiguration
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationWorkerTypeSpecificationInput
import com.pulumi.awsnative.kotlin.outputs.Tag
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import com.pulumi.awsnative.emrserverless.kotlin.enums.ApplicationArchitecture.Companion.toKotlin as applicationArchitectureToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationAutoStartConfiguration.Companion.toKotlin as applicationAutoStartConfigurationToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationAutoStopConfiguration.Companion.toKotlin as applicationAutoStopConfigurationToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationConfigurationObject.Companion.toKotlin as applicationConfigurationObjectToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationImageConfigurationInput.Companion.toKotlin as applicationImageConfigurationInputToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationInitialCapacityConfigKeyValuePair.Companion.toKotlin as applicationInitialCapacityConfigKeyValuePairToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationMaximumAllowedResources.Companion.toKotlin as applicationMaximumAllowedResourcesToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationMonitoringConfiguration.Companion.toKotlin as applicationMonitoringConfigurationToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationNetworkConfiguration.Companion.toKotlin as applicationNetworkConfigurationToKotlin
import com.pulumi.awsnative.emrserverless.kotlin.outputs.ApplicationWorkerTypeSpecificationInput.Companion.toKotlin as applicationWorkerTypeSpecificationInputToKotlin
import com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin as tagToKotlin
/**
* Builder for [Application].
*/
@PulumiTagMarker
public class ApplicationResourceBuilder internal constructor() {
public var name: String? = null
public var args: ApplicationArgs = ApplicationArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend ApplicationArgsBuilder.() -> Unit) {
val builder = ApplicationArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): Application {
val builtJavaResource = com.pulumi.awsnative.emrserverless.Application(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return Application(builtJavaResource)
}
}
/**
* Resource schema for AWS::EMRServerless::Application Type
*/
public class Application internal constructor(
override val javaResource: com.pulumi.awsnative.emrserverless.Application,
) : KotlinCustomResource(javaResource, ApplicationMapper) {
/**
* The ID of the EMR Serverless Application.
*/
public val applicationId: Output
get() = javaResource.applicationId().applyValue({ args0 -> args0 })
/**
* The CPU architecture of an application.
*/
public val architecture: Output?
get() = javaResource.architecture().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
applicationArchitectureToKotlin(args0)
})
}).orElse(null)
})
/**
* The Amazon Resource Name (ARN) of the EMR Serverless Application.
*/
public val arn: Output
get() = javaResource.arn().applyValue({ args0 -> args0 })
/**
* Configuration for Auto Start of Application.
*/
public val autoStartConfiguration: Output?
get() = javaResource.autoStartConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> applicationAutoStartConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* Configuration for Auto Stop of Application.
*/
public val autoStopConfiguration: Output?
get() = javaResource.autoStopConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> applicationAutoStopConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* The image configuration applied to all worker types.
*/
public val imageConfiguration: Output?
get() = javaResource.imageConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> applicationImageConfigurationInputToKotlin(args0) })
}).orElse(null)
})
/**
* Initial capacity initialized when an Application is started.
*/
public val initialCapacity: Output>?
get() = javaResource.initialCapacity().applyValue({ args0 ->
args0.map({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
applicationInitialCapacityConfigKeyValuePairToKotlin(args0)
})
})
}).orElse(null)
})
/**
* Maximum allowed cumulative resources for an Application. No new resources will be created once the limit is hit.
*/
public val maximumCapacity: Output?
get() = javaResource.maximumCapacity().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> applicationMaximumAllowedResourcesToKotlin(args0) })
}).orElse(null)
})
/**
* 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 val monitoringConfiguration: Output?
get() = javaResource.monitoringConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> applicationMonitoringConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* User friendly Application name.
*/
public val name: Output?
get() = javaResource.name().applyValue({ args0 -> args0.map({ args0 -> args0 }).orElse(null) })
/**
* Network Configuration for customer VPC connectivity.
*/
public val networkConfiguration: Output?
get() = javaResource.networkConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> applicationNetworkConfigurationToKotlin(args0) })
}).orElse(null)
})
/**
* EMR release label.
*/
public val releaseLabel: Output
get() = javaResource.releaseLabel().applyValue({ args0 -> args0 })
/**
* 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 val runtimeConfiguration: Output>?
get() = javaResource.runtimeConfiguration().applyValue({ args0 ->
args0.map({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
applicationConfigurationObjectToKotlin(args0)
})
})
}).orElse(null)
})
/**
* Tag map with key and value
*/
public val tags: Output>?
get() = javaResource.tags().applyValue({ args0 ->
args0.map({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> tagToKotlin(args0) })
})
}).orElse(null)
})
/**
* The type of the application
*/
public val type: Output
get() = javaResource.type().applyValue({ args0 -> args0 })
/**
* The key-value pairs that specify worker type to WorkerTypeSpecificationInput. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include Driver and Executor for Spark applications and HiveDriver and TezTask for Hive applications. You can either set image details in this parameter for each worker type, or in imageConfiguration for all worker types.
*/
public val workerTypeSpecifications: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy