com.pulumi.kubernetes.apiregistration.v1.kotlin.inputs.APIServiceSpecArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-kubernetes-kotlin Show documentation
Show all versions of pulumi-kubernetes-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.kubernetes.apiregistration.v1.kotlin.inputs
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 com.pulumi.kotlin.applySuspend
import com.pulumi.kubernetes.apiregistration.v1.inputs.APIServiceSpecArgs.builder
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* APIServiceSpec contains information for locating and communicating with a server. Only https is supported, though you are able to disable certificate verification.
* @property caBundle CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.
* @property group Group is the API group name this server hosts
* @property groupPriorityMinimum GroupPriorityMinimum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMinimum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s
* @property insecureSkipTLSVerify InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.
* @property service Service is a reference to the service for this API server. It must communicate on port 443. If the Service is nil, that means the handling for the API groupversion is handled locally on this server. The call will simply delegate to the normal handler chain to be fulfilled.
* @property version Version is the API version this server hosts. For example, "v1"
* @property versionPriority VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
*/
public data class APIServiceSpecArgs(
public val caBundle: Output? = null,
public val group: Output? = null,
public val groupPriorityMinimum: Output,
public val insecureSkipTLSVerify: Output? = null,
public val service: Output? = null,
public val version: Output? = null,
public val versionPriority: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.kubernetes.apiregistration.v1.inputs.APIServiceSpecArgs =
com.pulumi.kubernetes.apiregistration.v1.inputs.APIServiceSpecArgs.builder()
.caBundle(caBundle?.applyValue({ args0 -> args0 }))
.group(group?.applyValue({ args0 -> args0 }))
.groupPriorityMinimum(groupPriorityMinimum.applyValue({ args0 -> args0 }))
.insecureSkipTLSVerify(insecureSkipTLSVerify?.applyValue({ args0 -> args0 }))
.service(service?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.version(version?.applyValue({ args0 -> args0 }))
.versionPriority(versionPriority.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [APIServiceSpecArgs].
*/
@PulumiTagMarker
public class APIServiceSpecArgsBuilder internal constructor() {
private var caBundle: Output? = null
private var group: Output? = null
private var groupPriorityMinimum: Output? = null
private var insecureSkipTLSVerify: Output? = null
private var service: Output? = null
private var version: Output? = null
private var versionPriority: Output? = null
/**
* @param value CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.
*/
@JvmName("tfjbjegykbivmkqn")
public suspend fun caBundle(`value`: Output) {
this.caBundle = value
}
/**
* @param value Group is the API group name this server hosts
*/
@JvmName("tadmpgsftckidafb")
public suspend fun group(`value`: Output) {
this.group = value
}
/**
* @param value GroupPriorityMinimum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMinimum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s
*/
@JvmName("skuhpbkmgiryojki")
public suspend fun groupPriorityMinimum(`value`: Output) {
this.groupPriorityMinimum = value
}
/**
* @param value InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.
*/
@JvmName("fgecvmarfhcxumav")
public suspend fun insecureSkipTLSVerify(`value`: Output) {
this.insecureSkipTLSVerify = value
}
/**
* @param value Service is a reference to the service for this API server. It must communicate on port 443. If the Service is nil, that means the handling for the API groupversion is handled locally on this server. The call will simply delegate to the normal handler chain to be fulfilled.
*/
@JvmName("qwpuxlewfhtcrbak")
public suspend fun service(`value`: Output) {
this.service = value
}
/**
* @param value Version is the API version this server hosts. For example, "v1"
*/
@JvmName("aqekutusjfnwhhal")
public suspend fun version(`value`: Output) {
this.version = value
}
/**
* @param value VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
*/
@JvmName("xvgocebfqihauohc")
public suspend fun versionPriority(`value`: Output) {
this.versionPriority = value
}
/**
* @param value CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.
*/
@JvmName("nrdplssuipooodfp")
public suspend fun caBundle(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.caBundle = mapped
}
/**
* @param value Group is the API group name this server hosts
*/
@JvmName("ksmpxfripxbgtaqv")
public suspend fun group(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.group = mapped
}
/**
* @param value GroupPriorityMinimum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMinimum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s
*/
@JvmName("qyhjaujvkytnvliw")
public suspend fun groupPriorityMinimum(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.groupPriorityMinimum = mapped
}
/**
* @param value InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.
*/
@JvmName("obfcjlpyqfosujxo")
public suspend fun insecureSkipTLSVerify(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.insecureSkipTLSVerify = mapped
}
/**
* @param value Service is a reference to the service for this API server. It must communicate on port 443. If the Service is nil, that means the handling for the API groupversion is handled locally on this server. The call will simply delegate to the normal handler chain to be fulfilled.
*/
@JvmName("mqcwlgjmasabxrbs")
public suspend fun service(`value`: ServiceReferenceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.service = mapped
}
/**
* @param argument Service is a reference to the service for this API server. It must communicate on port 443. If the Service is nil, that means the handling for the API groupversion is handled locally on this server. The call will simply delegate to the normal handler chain to be fulfilled.
*/
@JvmName("hcntchpteapejrab")
public suspend fun service(argument: suspend ServiceReferenceArgsBuilder.() -> Unit) {
val toBeMapped = ServiceReferenceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.service = mapped
}
/**
* @param value Version is the API version this server hosts. For example, "v1"
*/
@JvmName("kwmjpkvwokyspuls")
public suspend fun version(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.version = mapped
}
/**
* @param value VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
*/
@JvmName("rcvwxlldsjfqnxrn")
public suspend fun versionPriority(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.versionPriority = mapped
}
internal fun build(): APIServiceSpecArgs = APIServiceSpecArgs(
caBundle = caBundle,
group = group,
groupPriorityMinimum = groupPriorityMinimum ?: throw
PulumiNullFieldException("groupPriorityMinimum"),
insecureSkipTLSVerify = insecureSkipTLSVerify,
service = service,
version = version,
versionPriority = versionPriority ?: throw PulumiNullFieldException("versionPriority"),
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy