com.pulumi.awsnative.redshift.kotlin.EndpointAccessArgs.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.redshift.kotlin
import com.pulumi.awsnative.redshift.EndpointAccessArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource schema for a Redshift-managed VPC endpoint.
* @property clusterIdentifier A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account
* @property endpointName The name of the endpoint.
* @property resourceOwner The AWS account ID of the owner of the cluster.
* @property subnetGroupName The subnet group name where Amazon Redshift chooses to deploy the endpoint.
* @property vpcSecurityGroupIds A list of vpc security group ids to apply to the created endpoint access.
*/
public data class EndpointAccessArgs(
public val clusterIdentifier: Output? = null,
public val endpointName: Output? = null,
public val resourceOwner: Output? = null,
public val subnetGroupName: Output? = null,
public val vpcSecurityGroupIds: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.redshift.EndpointAccessArgs =
com.pulumi.awsnative.redshift.EndpointAccessArgs.builder()
.clusterIdentifier(clusterIdentifier?.applyValue({ args0 -> args0 }))
.endpointName(endpointName?.applyValue({ args0 -> args0 }))
.resourceOwner(resourceOwner?.applyValue({ args0 -> args0 }))
.subnetGroupName(subnetGroupName?.applyValue({ args0 -> args0 }))
.vpcSecurityGroupIds(
vpcSecurityGroupIds?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
).build()
}
/**
* Builder for [EndpointAccessArgs].
*/
@PulumiTagMarker
public class EndpointAccessArgsBuilder internal constructor() {
private var clusterIdentifier: Output? = null
private var endpointName: Output? = null
private var resourceOwner: Output? = null
private var subnetGroupName: Output? = null
private var vpcSecurityGroupIds: Output>? = null
/**
* @param value A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. All alphabetical characters must be lower case, no hypens at the end, no two consecutive hyphens. Cluster name should be unique for all clusters within an AWS account
*/
@JvmName("ekhvtnrkoclsbiow")
public suspend fun clusterIdentifier(`value`: Output) {
this.clusterIdentifier = value
}
/**
* @param value The name of the endpoint.
*/
@JvmName("onacrxalckcqmuyo")
public suspend fun endpointName(`value`: Output) {
this.endpointName = value
}
/**
* @param value The AWS account ID of the owner of the cluster.
*/
@JvmName("ytvvdwxgmxpfxmod")
public suspend fun resourceOwner(`value`: Output) {
this.resourceOwner = value
}
/**
* @param value The subnet group name where Amazon Redshift chooses to deploy the endpoint.
*/
@JvmName("clfcpfaofyhtbxnn")
public suspend fun subnetGroupName(`value`: Output) {
this.subnetGroupName = value
}
/**
* @param value A list of vpc security group ids to apply to the created endpoint access.
*/
@JvmName("qdwckxgixwlojgtv")
public suspend fun vpcSecurityGroupIds(`value`: Output>) {
this.vpcSecurityGroupIds = value
}
@JvmName("rhapvuolblsuluwx")
public suspend fun vpcSecurityGroupIds(vararg values: Output) {
this.vpcSecurityGroupIds = Output.all(values.asList())
}
/**
* @param values A list of vpc security group ids to apply to the created endpoint access.
*/
@JvmName("hleyygvmruanlugu")
public suspend fun vpcSecurityGroupIds(values: List