com.pulumi.aws.medialive.kotlin.inputs.ChannelVpcArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.medialive.kotlin.inputs
import com.pulumi.aws.medialive.inputs.ChannelVpcArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property availabilityZones
* @property networkInterfaceIds
* @property publicAddressAllocationIds List of public address allocation ids to associate with ENIs that will be created in Output VPC. Must specify one for SINGLE_PIPELINE, two for STANDARD channels.
* @property securityGroupIds A list of up to 5 EC2 VPC security group IDs to attach to the Output VPC network interfaces. If none are specified then the VPC default security group will be used.
* @property subnetIds A list of VPC subnet IDs from the same VPC. If STANDARD channel, subnet IDs must be mapped to two unique availability zones (AZ).
*/
public data class ChannelVpcArgs(
public val availabilityZones: Output>? = null,
public val networkInterfaceIds: Output>? = null,
public val publicAddressAllocationIds: Output>,
public val securityGroupIds: Output>? = null,
public val subnetIds: Output>,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.medialive.inputs.ChannelVpcArgs =
com.pulumi.aws.medialive.inputs.ChannelVpcArgs.builder()
.availabilityZones(availabilityZones?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.networkInterfaceIds(networkInterfaceIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.publicAddressAllocationIds(
publicAddressAllocationIds.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.securityGroupIds(securityGroupIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.subnetIds(subnetIds.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}
/**
* Builder for [ChannelVpcArgs].
*/
@PulumiTagMarker
public class ChannelVpcArgsBuilder internal constructor() {
private var availabilityZones: Output>? = null
private var networkInterfaceIds: Output>? = null
private var publicAddressAllocationIds: Output>? = null
private var securityGroupIds: Output>? = null
private var subnetIds: Output>? = null
/**
* @param value
*/
@JvmName("badbvtojapdtukhp")
public suspend fun availabilityZones(`value`: Output>) {
this.availabilityZones = value
}
@JvmName("oqkuiafwidbybgep")
public suspend fun availabilityZones(vararg values: Output) {
this.availabilityZones = Output.all(values.asList())
}
/**
* @param values
*/
@JvmName("gkhoqwnaqyalxokg")
public suspend fun availabilityZones(values: List