com.pulumi.awsnative.networkmanager.kotlin.VpcAttachmentArgs.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.networkmanager.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.networkmanager.VpcAttachmentArgs.builder
import com.pulumi.awsnative.networkmanager.kotlin.inputs.VpcAttachmentProposedSegmentChangeArgs
import com.pulumi.awsnative.networkmanager.kotlin.inputs.VpcAttachmentProposedSegmentChangeArgsBuilder
import com.pulumi.awsnative.networkmanager.kotlin.inputs.VpcAttachmentVpcOptionsArgs
import com.pulumi.awsnative.networkmanager.kotlin.inputs.VpcAttachmentVpcOptionsArgsBuilder
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
/**
* AWS::NetworkManager::VpcAttachment Resoruce Type
* @property coreNetworkId The ID of a core network for the VPC attachment.
* @property options Vpc options of the attachment.
* @property proposedSegmentChange The attachment to move from one segment to another.
* @property subnetArns Subnet Arn list
* @property tags Tags for the attachment.
* @property vpcArn The ARN of the VPC.
*/
public data class VpcAttachmentArgs(
public val coreNetworkId: Output? = null,
public val options: Output? = null,
public val proposedSegmentChange: Output? = null,
public val subnetArns: Output>? = null,
public val tags: Output>? = null,
public val vpcArn: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.networkmanager.VpcAttachmentArgs =
com.pulumi.awsnative.networkmanager.VpcAttachmentArgs.builder()
.coreNetworkId(coreNetworkId?.applyValue({ args0 -> args0 }))
.options(options?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.proposedSegmentChange(
proposedSegmentChange?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.subnetArns(subnetArns?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.vpcArn(vpcArn?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [VpcAttachmentArgs].
*/
@PulumiTagMarker
public class VpcAttachmentArgsBuilder internal constructor() {
private var coreNetworkId: Output? = null
private var options: Output? = null
private var proposedSegmentChange: Output? = null
private var subnetArns: Output>? = null
private var tags: Output>? = null
private var vpcArn: Output? = null
/**
* @param value The ID of a core network for the VPC attachment.
*/
@JvmName("bprhdxhimgkawlnp")
public suspend fun coreNetworkId(`value`: Output) {
this.coreNetworkId = value
}
/**
* @param value Vpc options of the attachment.
*/
@JvmName("qnogxpwxflhhdsrx")
public suspend fun options(`value`: Output) {
this.options = value
}
/**
* @param value The attachment to move from one segment to another.
*/
@JvmName("oogsuyfwubcdjpsm")
public suspend fun proposedSegmentChange(`value`: Output) {
this.proposedSegmentChange = value
}
/**
* @param value Subnet Arn list
*/
@JvmName("lyntpxbautdxvtqm")
public suspend fun subnetArns(`value`: Output>) {
this.subnetArns = value
}
@JvmName("iupfctxvxuuistqr")
public suspend fun subnetArns(vararg values: Output) {
this.subnetArns = Output.all(values.asList())
}
/**
* @param values Subnet Arn list
*/
@JvmName("mdvgmdmyafgdjksg")
public suspend fun subnetArns(values: List