All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.awsnative.m2.kotlin.EnvironmentArgs.kt Maven / Gradle / Ivy
Go to download
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.m2.kotlin
import com.pulumi.awsnative.m2.EnvironmentArgs.builder
import com.pulumi.awsnative.m2.kotlin.enums.EnvironmentEngineType
import com.pulumi.awsnative.m2.kotlin.inputs.EnvironmentHighAvailabilityConfigArgs
import com.pulumi.awsnative.m2.kotlin.inputs.EnvironmentHighAvailabilityConfigArgsBuilder
import com.pulumi.awsnative.m2.kotlin.inputs.EnvironmentStorageConfigurationArgs
import com.pulumi.awsnative.m2.kotlin.inputs.EnvironmentStorageConfigurationArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Represents a runtime environment that can run migrated mainframe applications.
* @property description The description of the environment.
* @property engineType The target platform for the runtime environment.
* @property engineVersion The version of the runtime engine for the environment.
* @property highAvailabilityConfig Defines the details of a high availability configuration.
* @property instanceType The type of instance underlying the environment.
* @property kmsKeyId The ID or the Amazon Resource Name (ARN) of the customer managed KMS Key used for encrypting environment-related resources.
* @property name The name of the environment.
* @property preferredMaintenanceWindow Configures a desired maintenance window for the environment. If you do not provide a value, a random system-generated value will be assigned.
* @property publiclyAccessible Specifies whether the environment is publicly accessible.
* @property securityGroupIds The list of security groups for the VPC associated with this environment.
* @property storageConfigurations The storage configurations defined for the runtime environment.
* @property subnetIds The unique identifiers of the subnets assigned to this runtime environment.
* @property tags Tags associated to this environment.
*/
public data class EnvironmentArgs(
public val description: Output? = null,
public val engineType: Output? = null,
public val engineVersion: Output? = null,
public val highAvailabilityConfig: Output? = null,
public val instanceType: Output? = null,
public val kmsKeyId: Output? = null,
public val name: Output? = null,
public val preferredMaintenanceWindow: Output? = null,
public val publiclyAccessible: Output? = null,
public val securityGroupIds: Output>? = null,
public val storageConfigurations: Output>? = null,
public val subnetIds: Output>? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.m2.EnvironmentArgs =
com.pulumi.awsnative.m2.EnvironmentArgs.builder()
.description(description?.applyValue({ args0 -> args0 }))
.engineType(engineType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.engineVersion(engineVersion?.applyValue({ args0 -> args0 }))
.highAvailabilityConfig(
highAvailabilityConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.instanceType(instanceType?.applyValue({ args0 -> args0 }))
.kmsKeyId(kmsKeyId?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.preferredMaintenanceWindow(preferredMaintenanceWindow?.applyValue({ args0 -> args0 }))
.publiclyAccessible(publiclyAccessible?.applyValue({ args0 -> args0 }))
.securityGroupIds(securityGroupIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.storageConfigurations(
storageConfigurations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.subnetIds(subnetIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
).build()
}
/**
* Builder for [EnvironmentArgs].
*/
@PulumiTagMarker
public class EnvironmentArgsBuilder internal constructor() {
private var description: Output? = null
private var engineType: Output? = null
private var engineVersion: Output? = null
private var highAvailabilityConfig: Output? = null
private var instanceType: Output? = null
private var kmsKeyId: Output? = null
private var name: Output? = null
private var preferredMaintenanceWindow: Output? = null
private var publiclyAccessible: Output? = null
private var securityGroupIds: Output>? = null
private var storageConfigurations: Output>? = null
private var subnetIds: Output>? = null
private var tags: Output>? = null
/**
* @param value The description of the environment.
*/
@JvmName("cfrncoolgrerortr")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value The target platform for the runtime environment.
*/
@JvmName("pijdbaprijwyccfk")
public suspend fun engineType(`value`: Output) {
this.engineType = value
}
/**
* @param value The version of the runtime engine for the environment.
*/
@JvmName("menjurvpprwfxhpm")
public suspend fun engineVersion(`value`: Output) {
this.engineVersion = value
}
/**
* @param value Defines the details of a high availability configuration.
*/
@JvmName("crgujeivoosnhbmi")
public suspend fun highAvailabilityConfig(`value`: Output) {
this.highAvailabilityConfig = value
}
/**
* @param value The type of instance underlying the environment.
*/
@JvmName("ivfcdsagerdeurrr")
public suspend fun instanceType(`value`: Output) {
this.instanceType = value
}
/**
* @param value The ID or the Amazon Resource Name (ARN) of the customer managed KMS Key used for encrypting environment-related resources.
*/
@JvmName("oobvkjnnyntvtcii")
public suspend fun kmsKeyId(`value`: Output) {
this.kmsKeyId = value
}
/**
* @param value The name of the environment.
*/
@JvmName("xpllvmvbgffmsxst")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Configures a desired maintenance window for the environment. If you do not provide a value, a random system-generated value will be assigned.
*/
@JvmName("miqljyqgctxxuvpi")
public suspend fun preferredMaintenanceWindow(`value`: Output) {
this.preferredMaintenanceWindow = value
}
/**
* @param value Specifies whether the environment is publicly accessible.
*/
@JvmName("bkcctyvanmpxlihw")
public suspend fun publiclyAccessible(`value`: Output) {
this.publiclyAccessible = value
}
/**
* @param value The list of security groups for the VPC associated with this environment.
*/
@JvmName("bmfybtrjafhkhjab")
public suspend fun securityGroupIds(`value`: Output>) {
this.securityGroupIds = value
}
@JvmName("hiwxjtswjbpxvlhr")
public suspend fun securityGroupIds(vararg values: Output) {
this.securityGroupIds = Output.all(values.asList())
}
/**
* @param values The list of security groups for the VPC associated with this environment.
*/
@JvmName("veikydcgmwunaoha")
public suspend fun securityGroupIds(values: List>) {
this.securityGroupIds = Output.all(values)
}
/**
* @param value The storage configurations defined for the runtime environment.
*/
@JvmName("lnivfbpiiueavwdv")
public suspend fun storageConfigurations(`value`: Output>) {
this.storageConfigurations = value
}
@JvmName("wjhdrlcoahnnwibm")
public suspend fun storageConfigurations(vararg values: Output) {
this.storageConfigurations = Output.all(values.asList())
}
/**
* @param values The storage configurations defined for the runtime environment.
*/
@JvmName("hllymxnbqutmjtxf")
public suspend fun storageConfigurations(values: List>) {
this.storageConfigurations = Output.all(values)
}
/**
* @param value The unique identifiers of the subnets assigned to this runtime environment.
*/
@JvmName("mxoifyejvessnxgh")
public suspend fun subnetIds(`value`: Output>) {
this.subnetIds = value
}
@JvmName("ldjqkatfgliwljse")
public suspend fun subnetIds(vararg values: Output) {
this.subnetIds = Output.all(values.asList())
}
/**
* @param values The unique identifiers of the subnets assigned to this runtime environment.
*/
@JvmName("sgxrvuvjtyldbpas")
public suspend fun subnetIds(values: List>) {
this.subnetIds = Output.all(values)
}
/**
* @param value Tags associated to this environment.
*/
@JvmName("grswkwndxeohwamx")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value The description of the environment.
*/
@JvmName("tvwrhjykjwygdinp")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value The target platform for the runtime environment.
*/
@JvmName("dutlbunuejqsmauh")
public suspend fun engineType(`value`: EnvironmentEngineType?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.engineType = mapped
}
/**
* @param value The version of the runtime engine for the environment.
*/
@JvmName("ucveikdlftkvwttr")
public suspend fun engineVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.engineVersion = mapped
}
/**
* @param value Defines the details of a high availability configuration.
*/
@JvmName("hqxefrntngbrxfmj")
public suspend fun highAvailabilityConfig(`value`: EnvironmentHighAvailabilityConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.highAvailabilityConfig = mapped
}
/**
* @param argument Defines the details of a high availability configuration.
*/
@JvmName("qtrkqpnjleoebdea")
public suspend fun highAvailabilityConfig(argument: suspend EnvironmentHighAvailabilityConfigArgsBuilder.() -> Unit) {
val toBeMapped = EnvironmentHighAvailabilityConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.highAvailabilityConfig = mapped
}
/**
* @param value The type of instance underlying the environment.
*/
@JvmName("mxqigvuhktuxgyla")
public suspend fun instanceType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.instanceType = mapped
}
/**
* @param value The ID or the Amazon Resource Name (ARN) of the customer managed KMS Key used for encrypting environment-related resources.
*/
@JvmName("nuqsyubuobdjrkhl")
public suspend fun kmsKeyId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kmsKeyId = mapped
}
/**
* @param value The name of the environment.
*/
@JvmName("ifidpvfbasubxmcg")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Configures a desired maintenance window for the environment. If you do not provide a value, a random system-generated value will be assigned.
*/
@JvmName("tftajoxgqrjcgesc")
public suspend fun preferredMaintenanceWindow(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.preferredMaintenanceWindow = mapped
}
/**
* @param value Specifies whether the environment is publicly accessible.
*/
@JvmName("vudjkrgrkhdluwta")
public suspend fun publiclyAccessible(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.publiclyAccessible = mapped
}
/**
* @param value The list of security groups for the VPC associated with this environment.
*/
@JvmName("fgaquhjxtflrsaqd")
public suspend fun securityGroupIds(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.securityGroupIds = mapped
}
/**
* @param values The list of security groups for the VPC associated with this environment.
*/
@JvmName("ypjjakiiyipkuemi")
public suspend fun securityGroupIds(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.securityGroupIds = mapped
}
/**
* @param value The storage configurations defined for the runtime environment.
*/
@JvmName("ffhvjfkhvvfbqcxg")
public suspend fun storageConfigurations(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageConfigurations = mapped
}
/**
* @param argument The storage configurations defined for the runtime environment.
*/
@JvmName("dbextljnrbttfvqg")
public suspend fun storageConfigurations(argument: List Unit>) {
val toBeMapped = argument.toList().map {
EnvironmentStorageConfigurationArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.storageConfigurations = mapped
}
/**
* @param argument The storage configurations defined for the runtime environment.
*/
@JvmName("eeesaelebmajnkhq")
public suspend fun storageConfigurations(vararg argument: suspend EnvironmentStorageConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
EnvironmentStorageConfigurationArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.storageConfigurations = mapped
}
/**
* @param argument The storage configurations defined for the runtime environment.
*/
@JvmName("ytgxxcnxohxbuara")
public suspend fun storageConfigurations(argument: suspend EnvironmentStorageConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = listOf(
EnvironmentStorageConfigurationArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.storageConfigurations = mapped
}
/**
* @param values The storage configurations defined for the runtime environment.
*/
@JvmName("adhpebxvionuatah")
public suspend fun storageConfigurations(vararg values: EnvironmentStorageConfigurationArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.storageConfigurations = mapped
}
/**
* @param value The unique identifiers of the subnets assigned to this runtime environment.
*/
@JvmName("stgpvqpbuqpdtipn")
public suspend fun subnetIds(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.subnetIds = mapped
}
/**
* @param values The unique identifiers of the subnets assigned to this runtime environment.
*/
@JvmName("yretfokygnndbahd")
public suspend fun subnetIds(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.subnetIds = mapped
}
/**
* @param value Tags associated to this environment.
*/
@JvmName("oxxaufaamyoydxvu")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values Tags associated to this environment.
*/
@JvmName("hcvrexrtfajdmkjw")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
internal fun build(): EnvironmentArgs = EnvironmentArgs(
description = description,
engineType = engineType,
engineVersion = engineVersion,
highAvailabilityConfig = highAvailabilityConfig,
instanceType = instanceType,
kmsKeyId = kmsKeyId,
name = name,
preferredMaintenanceWindow = preferredMaintenanceWindow,
publiclyAccessible = publiclyAccessible,
securityGroupIds = securityGroupIds,
storageConfigurations = storageConfigurations,
subnetIds = subnetIds,
tags = tags,
)
}