108 lines
4.4 KiB
Go
108 lines
4.4 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 v1
|
|
|
|
import (
|
|
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
|
)
|
|
|
|
// RuleApplyConfiguration represents a declarative configuration of the Rule type for use
|
|
// with apply.
|
|
//
|
|
// Rule is a tuple of APIGroups, APIVersion, and Resources.It is recommended
|
|
// to make sure that all the tuple expansions are valid.
|
|
type RuleApplyConfiguration struct {
|
|
// APIGroups is the API groups the resources belong to. '*' is all groups.
|
|
// If '*' is present, the length of the slice must be one.
|
|
// Required.
|
|
APIGroups []string `json:"apiGroups,omitempty"`
|
|
// APIVersions is the API versions the resources belong to. '*' is all versions.
|
|
// If '*' is present, the length of the slice must be one.
|
|
// Required.
|
|
APIVersions []string `json:"apiVersions,omitempty"`
|
|
// 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.
|
|
Resources []string `json:"resources,omitempty"`
|
|
// 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 "*".
|
|
Scope *admissionregistrationv1.ScopeType `json:"scope,omitempty"`
|
|
}
|
|
|
|
// RuleApplyConfiguration constructs a declarative configuration of the Rule type for use with
|
|
// apply.
|
|
func Rule() *RuleApplyConfiguration {
|
|
return &RuleApplyConfiguration{}
|
|
}
|
|
|
|
// WithAPIGroups adds the given value to the APIGroups field in the declarative configuration
|
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
|
// If called multiple times, values provided by each call will be appended to the APIGroups field.
|
|
func (b *RuleApplyConfiguration) WithAPIGroups(values ...string) *RuleApplyConfiguration {
|
|
for i := range values {
|
|
b.APIGroups = append(b.APIGroups, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithAPIVersions adds the given value to the APIVersions field in the declarative configuration
|
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
|
// If called multiple times, values provided by each call will be appended to the APIVersions field.
|
|
func (b *RuleApplyConfiguration) WithAPIVersions(values ...string) *RuleApplyConfiguration {
|
|
for i := range values {
|
|
b.APIVersions = append(b.APIVersions, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithResources adds the given value to the Resources field in the declarative configuration
|
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
|
// If called multiple times, values provided by each call will be appended to the Resources field.
|
|
func (b *RuleApplyConfiguration) WithResources(values ...string) *RuleApplyConfiguration {
|
|
for i := range values {
|
|
b.Resources = append(b.Resources, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithScope sets the Scope 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 Scope field is set to the value of the last call.
|
|
func (b *RuleApplyConfiguration) WithScope(value admissionregistrationv1.ScopeType) *RuleApplyConfiguration {
|
|
b.Scope = &value
|
|
return b
|
|
}
|