All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.kubernetes.admissionregistration.v1.kotlin.outputs.RuleWithOperations.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 4.18.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.admissionregistration.v1.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *  /* /*
 * RuleWithOperations is a tuple of Operations and Resources. It is recommended to make sure that all the tuple expansions are valid.
 * @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 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 RuleWithOperations(
    public val apiGroups: List? = null,
    public val apiVersions: List? = null,
    public val operations: List? = null,
    public val resources: List? = null,
    public val scope: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.admissionregistration.v1.outputs.RuleWithOperations): RuleWithOperations = RuleWithOperations(
            apiGroups = javaType.apiGroups().map({ args0 -> args0 }),
            apiVersions = javaType.apiVersions().map({ args0 -> args0 }),
            operations = javaType.operations().map({ args0 -> args0 }),
            resources = javaType.resources().map({ args0 -> args0 }),
            scope = javaType.scope().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy