109 lines
5 KiB
Go
109 lines
5 KiB
Go
/*
|
|
Copyright The Kubernetes Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
// Code generated by applyconfiguration-gen. DO NOT EDIT.
|
|
|
|
package v1alpha1
|
|
|
|
import (
|
|
admissionregistrationv1alpha1 "k8s.io/api/admissionregistration/v1alpha1"
|
|
v1 "k8s.io/client-go/applyconfigurations/meta/v1"
|
|
)
|
|
|
|
// ParamRefApplyConfiguration represents a declarative configuration of the ParamRef type for use
|
|
// with apply.
|
|
//
|
|
// ParamRef describes how to locate the params to be used as input to
|
|
// expressions of rules applied by a policy binding.
|
|
type ParamRefApplyConfiguration struct {
|
|
// `name` is the name of the resource being referenced.
|
|
//
|
|
// `name` and `selector` are mutually exclusive properties. If one is set,
|
|
// the other must be unset.
|
|
Name *string `json:"name,omitempty"`
|
|
// 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.
|
|
Namespace *string `json:"namespace,omitempty"`
|
|
// 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.
|
|
Selector *v1.LabelSelectorApplyConfiguration `json:"selector,omitempty"`
|
|
// `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`
|
|
// Default to `Deny`
|
|
ParameterNotFoundAction *admissionregistrationv1alpha1.ParameterNotFoundActionType `json:"parameterNotFoundAction,omitempty"`
|
|
}
|
|
|
|
// ParamRefApplyConfiguration constructs a declarative configuration of the ParamRef type for use with
|
|
// apply.
|
|
func ParamRef() *ParamRefApplyConfiguration {
|
|
return &ParamRefApplyConfiguration{}
|
|
}
|
|
|
|
// WithName sets the Name field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Name field is set to the value of the last call.
|
|
func (b *ParamRefApplyConfiguration) WithName(value string) *ParamRefApplyConfiguration {
|
|
b.Name = &value
|
|
return b
|
|
}
|
|
|
|
// WithNamespace sets the Namespace field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Namespace field is set to the value of the last call.
|
|
func (b *ParamRefApplyConfiguration) WithNamespace(value string) *ParamRefApplyConfiguration {
|
|
b.Namespace = &value
|
|
return b
|
|
}
|
|
|
|
// WithSelector sets the Selector field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Selector field is set to the value of the last call.
|
|
func (b *ParamRefApplyConfiguration) WithSelector(value *v1.LabelSelectorApplyConfiguration) *ParamRefApplyConfiguration {
|
|
b.Selector = value
|
|
return b
|
|
}
|
|
|
|
// WithParameterNotFoundAction sets the ParameterNotFoundAction field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the ParameterNotFoundAction field is set to the value of the last call.
|
|
func (b *ParamRefApplyConfiguration) WithParameterNotFoundAction(value admissionregistrationv1alpha1.ParameterNotFoundActionType) *ParamRefApplyConfiguration {
|
|
b.ParameterNotFoundAction = &value
|
|
return b
|
|
}
|