struct Kubernetes::ParamRef

Overview

ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.

Included Modules

Defined in:

generated/models/io_k8s_api_admissionregistration_v1.cr
generated/models/io_k8s_api_admissionregistration_v1alpha1.cr
generated/models/io_k8s_api_admissionregistration_v1beta1.cr

Constructors

Macro Summary

Instance Method Summary

Constructor Detail

def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

def self.new(pull : ::JSON::PullParser) #

def self.new(*, __pull_for_json_serializable pull : ::JSON::PullParser) #

def self.new(*, __context_for_yaml_serializable ctx : YAML::ParseContext, __node_for_yaml_serializable node : YAML::Nodes::Node) #

Macro Detail

macro field(name, type = nil, **options, &block) #

Helper macro for defining fields with automatic camelCase conversion


Instance Method Detail

def name : String | Nil #

name is the name of the resource being referenced. One of #name or #selector must be set, but #name and #selector are mutually exclusive properties. If one is set, the other must be unset. A single parameter used for all admission requests can be configured by setting the #name field, leaving #selector blank, and setting namespace if paramKind is namespace-scoped.


def name=(name : String | Nil) #

name is the name of the resource being referenced. One of #name or #selector must be set, but #name and #selector are mutually exclusive properties. If one is set, the other must be unset. A single parameter used for all admission requests can be configured by setting the #name field, leaving #selector blank, and setting namespace if paramKind is namespace-scoped.


def namespace : String | Nil #

namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both #name and #selector fields. A per-namespace parameter may be used by specifying a namespace-scoped paramKind in the policy and leaving this field empty.

  • If paramKind is cluster-scoped, this field MUST be unset. Setting this field results in a configuration error.
  • If paramKind is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.

def namespace=(namespace : String | Nil) #

namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both #name and #selector fields. A per-namespace parameter may be used by specifying a namespace-scoped paramKind in the policy and leaving this field empty.

  • If paramKind is cluster-scoped, this field MUST be unset. Setting this field results in a configuration error.
  • If paramKind is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.

def parameter_not_found_action : String | Nil #

parameterNotFoundAction controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to Allow, then no matched parameters will be treated as successful validation by the binding. If set to Deny, then no matched parameters will be subject to the failurePolicy of the policy. Allowed values are Allow or Deny Required


def parameter_not_found_action=(parameter_not_found_action : String | Nil) #

parameterNotFoundAction controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to Allow, then no matched parameters will be treated as successful validation by the binding. If set to Deny, then no matched parameters will be subject to the failurePolicy of the policy. Allowed values are Allow or Deny Required


def selector : LabelSelector | Nil #

selector can be used to match multiple param objects based on their labels. Supply selector: {} to match all resources of the ParamKind. If multiple params are found, they are all evaluated with the policy expressions and the results are ANDed together. One of #name or #selector must be set, but #name and #selector are mutually exclusive properties. If one is set, the other must be unset.


def selector=(selector : LabelSelector | Nil) #

selector can be used to match multiple param objects based on their labels. Supply selector: {} to match all resources of the ParamKind. If multiple params are found, they are all evaluated with the policy expressions and the results are ANDed together. One of #name or #selector must be set, but #name and #selector are mutually exclusive properties. If one is set, the other must be unset.