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.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.kubernetes.admissionregistration.v1alpha1.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Validation specifies the CEL expression which is used to apply the validation.
*
*/
public final class ValidationPatchArgs extends com.pulumi.resources.ResourceArgs {
public static final ValidationPatchArgs Empty = new ValidationPatchArgs();
/**
* Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
*
* - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
* For example, a variable named 'foo' can be accessed as 'variables.foo'.
* - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
* See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
* - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
* request resource.
*
* The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
*
* Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:
* "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if",
* "import", "let", "loop", "package", "namespace", "return".
* Examples:
* - Expression accessing a property named "namespace": {"Expression": "object.__namespace__ > 0"}
* - Expression accessing a property named "x-prop": {"Expression": "object.x__dash__prop > 0"}
* - Expression accessing a property named "redact__d": {"Expression": "object.redact__underscores__d > 0"}
*
* Equality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:
* - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and
* non-intersecting elements in `Y` are appended, retaining their partial order.
* - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values
* are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with
* non-intersecting keys are appended, retaining their partial order.
* Required.
*
*/
@Import(name="expression")
private @Nullable Output expression;
/**
* @return Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
*
* - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
* For example, a variable named 'foo' can be accessed as 'variables.foo'.
* - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
* See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
* - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
* request resource.
*
* The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
*
* Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:
* "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if",
* "import", "let", "loop", "package", "namespace", "return".
* Examples:
* - Expression accessing a property named "namespace": {"Expression": "object.__namespace__ > 0"}
* - Expression accessing a property named "x-prop": {"Expression": "object.x__dash__prop > 0"}
* - Expression accessing a property named "redact__d": {"Expression": "object.redact__underscores__d > 0"}
*
* Equality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:
* - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and
* non-intersecting elements in `Y` are appended, retaining their partial order.
* - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values
* are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with
* non-intersecting keys are appended, retaining their partial order.
* Required.
*
*/
public Optional