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.
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.eks.kotlin
import com.pulumi.awsnative.eks.ClusterArgs.builder
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterAccessConfigArgs
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterAccessConfigArgsBuilder
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterEncryptionConfigArgs
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterEncryptionConfigArgsBuilder
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterKubernetesNetworkConfigArgs
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterKubernetesNetworkConfigArgsBuilder
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterOutpostConfigArgs
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterOutpostConfigArgsBuilder
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterResourcesVpcConfigArgs
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterResourcesVpcConfigArgsBuilder
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterUpgradePolicyArgs
import com.pulumi.awsnative.eks.kotlin.inputs.ClusterUpgradePolicyArgsBuilder
import com.pulumi.awsnative.eks.kotlin.inputs.LoggingArgs
import com.pulumi.awsnative.eks.kotlin.inputs.LoggingArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* An object representing an Amazon EKS cluster.
* @property accessConfig The access configuration for the cluster.
* @property bootstrapSelfManagedAddons Set this value to false to avoid creating the default networking addons when the cluster is created.
* @property encryptionConfig The encryption configuration for the cluster.
* @property kubernetesNetworkConfig The Kubernetes network configuration for the cluster.
* @property logging The logging configuration for your cluster.
* @property name The unique name to give to your cluster.
* @property outpostConfig An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This object isn't available for clusters on the AWS cloud.
* @property resourcesVpcConfig The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see [Cluster VPC Considerations](https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) and [Cluster Security Group Considerations](https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) in the *Amazon EKS User Guide* . You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane.
* @property roleArn The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.
* @property tags An array of key-value pairs to apply to this resource.
* @property upgradePolicy
* @property version The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.
*/
public data class ClusterArgs(
public val accessConfig: Output? = null,
public val bootstrapSelfManagedAddons: Output? = null,
public val encryptionConfig: Output>? = null,
public val kubernetesNetworkConfig: Output? = null,
public val logging: Output? = null,
public val name: Output? = null,
public val outpostConfig: Output? = null,
public val resourcesVpcConfig: Output? = null,
public val roleArn: Output? = null,
public val tags: Output>? = null,
public val upgradePolicy: Output? = null,
public val version: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.eks.ClusterArgs =
com.pulumi.awsnative.eks.ClusterArgs.builder()
.accessConfig(accessConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.bootstrapSelfManagedAddons(bootstrapSelfManagedAddons?.applyValue({ args0 -> args0 }))
.encryptionConfig(
encryptionConfig?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.kubernetesNetworkConfig(
kubernetesNetworkConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.logging(logging?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.name(name?.applyValue({ args0 -> args0 }))
.outpostConfig(outpostConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.resourcesVpcConfig(
resourcesVpcConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.roleArn(roleArn?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.upgradePolicy(upgradePolicy?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.version(version?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ClusterArgs].
*/
@PulumiTagMarker
public class ClusterArgsBuilder internal constructor() {
private var accessConfig: Output? = null
private var bootstrapSelfManagedAddons: Output? = null
private var encryptionConfig: Output>? = null
private var kubernetesNetworkConfig: Output? = null
private var logging: Output? = null
private var name: Output? = null
private var outpostConfig: Output? = null
private var resourcesVpcConfig: Output? = null
private var roleArn: Output? = null
private var tags: Output>? = null
private var upgradePolicy: Output? = null
private var version: Output? = null
/**
* @param value The access configuration for the cluster.
*/
@JvmName("gxsjvcfkkaqdhfwd")
public suspend fun accessConfig(`value`: Output) {
this.accessConfig = value
}
/**
* @param value Set this value to false to avoid creating the default networking addons when the cluster is created.
*/
@JvmName("fhlevjevbnptyeti")
public suspend fun bootstrapSelfManagedAddons(`value`: Output) {
this.bootstrapSelfManagedAddons = value
}
/**
* @param value The encryption configuration for the cluster.
*/
@JvmName("vfweliwmxdcojqyi")
public suspend fun encryptionConfig(`value`: Output>) {
this.encryptionConfig = value
}
@JvmName("jnqohuqtxgruowmo")
public suspend fun encryptionConfig(vararg values: Output) {
this.encryptionConfig = Output.all(values.asList())
}
/**
* @param values The encryption configuration for the cluster.
*/
@JvmName("ootmxppojeqpepjn")
public suspend fun encryptionConfig(values: List