com.pulumi.awsnative.mediaconnect.kotlin.FlowArgs.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.mediaconnect.kotlin
import com.pulumi.awsnative.mediaconnect.FlowArgs.builder
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowFailoverConfigArgs
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowFailoverConfigArgsBuilder
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowMaintenanceArgs
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowMaintenanceArgsBuilder
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowMediaStreamArgs
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowMediaStreamArgsBuilder
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowSourceArgs
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowSourceArgsBuilder
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowVpcInterfaceArgs
import com.pulumi.awsnative.mediaconnect.kotlin.inputs.FlowVpcInterfaceArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource schema for AWS::MediaConnect::Flow
* @property availabilityZone The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS.
* @property maintenance The maintenance settings you want to use for the flow.
* @property mediaStreams The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow.
* @property name The name of the flow.
* @property source The source of the flow.
* @property sourceFailoverConfig The source failover config of the flow.
* @property vpcInterfaces The VPC interfaces that you added to this flow.
*/
public data class FlowArgs(
public val availabilityZone: Output? = null,
public val maintenance: Output? = null,
public val mediaStreams: Output>? = null,
public val name: Output? = null,
public val source: Output? = null,
public val sourceFailoverConfig: Output? = null,
public val vpcInterfaces: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.mediaconnect.FlowArgs =
com.pulumi.awsnative.mediaconnect.FlowArgs.builder()
.availabilityZone(availabilityZone?.applyValue({ args0 -> args0 }))
.maintenance(maintenance?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.mediaStreams(
mediaStreams?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.name(name?.applyValue({ args0 -> args0 }))
.source(source?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sourceFailoverConfig(
sourceFailoverConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.vpcInterfaces(
vpcInterfaces?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [FlowArgs].
*/
@PulumiTagMarker
public class FlowArgsBuilder internal constructor() {
private var availabilityZone: Output? = null
private var maintenance: Output? = null
private var mediaStreams: Output>? = null
private var name: Output? = null
private var source: Output? = null
private var sourceFailoverConfig: Output? = null
private var vpcInterfaces: Output>? = null
/**
* @param value The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS.
*/
@JvmName("disdgisxkeyxrbst")
public suspend fun availabilityZone(`value`: Output) {
this.availabilityZone = value
}
/**
* @param value The maintenance settings you want to use for the flow.
*/
@JvmName("pawrfrwiibdnobwb")
public suspend fun maintenance(`value`: Output) {
this.maintenance = value
}
/**
* @param value The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow.
*/
@JvmName("crokrsulakrgvlba")
public suspend fun mediaStreams(`value`: Output>) {
this.mediaStreams = value
}
@JvmName("arasfqrpnpyvinni")
public suspend fun mediaStreams(vararg values: Output) {
this.mediaStreams = Output.all(values.asList())
}
/**
* @param values The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow.
*/
@JvmName("criqppookvcyvyis")
public suspend fun mediaStreams(values: List