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.kubernetes.admissionregistration.v1alpha1.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kubernetes.admissionregistration.v1alpha1.inputs.NamedRuleWithOperationsArgs.builder
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* /* /*
* NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
* @property apiGroups APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
* @property apiVersions APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
* @property operations Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
* @property resourceNames ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
* @property resources Resources is a list of resources this rule applies to.
* For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.
* If wildcard is present, the validation rule will ensure resources do not overlap with each other.
* Depending on the enclosing object, subresources might not be allowed. Required.
* @property scope scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
* */
*/
public data class NamedRuleWithOperationsArgs(
public val apiGroups: Output>? = null,
public val apiVersions: Output>? = null,
public val operations: Output>? = null,
public val resourceNames: Output>? = null,
public val resources: Output>? = null,
public val scope: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.kubernetes.admissionregistration.v1alpha1.inputs.NamedRuleWithOperationsArgs =
com.pulumi.kubernetes.admissionregistration.v1alpha1.inputs.NamedRuleWithOperationsArgs.builder()
.apiGroups(apiGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.apiVersions(apiVersions?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.operations(operations?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.resourceNames(resourceNames?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.resources(resources?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.scope(scope?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [NamedRuleWithOperationsArgs].
*/
@PulumiTagMarker
public class NamedRuleWithOperationsArgsBuilder internal constructor() {
private var apiGroups: Output>? = null
private var apiVersions: Output>? = null
private var operations: Output>? = null
private var resourceNames: Output>? = null
private var resources: Output>? = null
private var scope: Output? = null
/**
* @param value APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
*/
@JvmName("xymhcbbudgwaylli")
public suspend fun apiGroups(`value`: Output>) {
this.apiGroups = value
}
@JvmName("lsialmoyhswiuawi")
public suspend fun apiGroups(vararg values: Output) {
this.apiGroups = Output.all(values.asList())
}
/**
* @param values APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
*/
@JvmName("yfxoltcfvwjsdqst")
public suspend fun apiGroups(values: List