117 lines
5.5 KiB
Go
117 lines
5.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 v1
|
|
|
|
// ResourcePolicyRuleApplyConfiguration represents a declarative configuration of the ResourcePolicyRule type for use
|
|
// with apply.
|
|
//
|
|
// ResourcePolicyRule is a predicate that matches some resource
|
|
// requests, testing the request's verb and the target resource. A
|
|
// ResourcePolicyRule matches a resource request if and only if: (a)
|
|
// at least one member of verbs matches the request, (b) at least one
|
|
// member of apiGroups matches the request, (c) at least one member of
|
|
// resources matches the request, and (d) either (d1) the request does
|
|
// not specify a namespace (i.e., `Namespace==""`) and clusterScope is
|
|
// true or (d2) the request specifies a namespace and least one member
|
|
// of namespaces matches the request's namespace.
|
|
type ResourcePolicyRuleApplyConfiguration struct {
|
|
// `verbs` is a list of matching verbs and may not be empty.
|
|
// "*" matches all verbs and, if present, must be the only entry.
|
|
// Required.
|
|
Verbs []string `json:"verbs,omitempty"`
|
|
// `apiGroups` is a list of matching API groups and may not be empty.
|
|
// "*" matches all API groups and, if present, must be the only entry.
|
|
// Required.
|
|
APIGroups []string `json:"apiGroups,omitempty"`
|
|
// `resources` is a list of matching resources (i.e., lowercase
|
|
// and plural) with, if desired, subresource. For example, [
|
|
// "services", "nodes/status" ]. This list may not be empty.
|
|
// "*" matches all resources and, if present, must be the only entry.
|
|
// Required.
|
|
Resources []string `json:"resources,omitempty"`
|
|
// `clusterScope` indicates whether to match requests that do not
|
|
// specify a namespace (which happens either because the resource
|
|
// is not namespaced or the request targets all namespaces).
|
|
// If this field is omitted or false then the `namespaces` field
|
|
// must contain a non-empty list.
|
|
ClusterScope *bool `json:"clusterScope,omitempty"`
|
|
// `namespaces` is a list of target namespaces that restricts
|
|
// matches. A request that specifies a target namespace matches
|
|
// only if either (a) this list contains that target namespace or
|
|
// (b) this list contains "*". Note that "*" matches any
|
|
// specified namespace but does not match a request that _does
|
|
// not specify_ a namespace (see the `clusterScope` field for
|
|
// that).
|
|
// This list may be empty, but only if `clusterScope` is true.
|
|
Namespaces []string `json:"namespaces,omitempty"`
|
|
}
|
|
|
|
// ResourcePolicyRuleApplyConfiguration constructs a declarative configuration of the ResourcePolicyRule type for use with
|
|
// apply.
|
|
func ResourcePolicyRule() *ResourcePolicyRuleApplyConfiguration {
|
|
return &ResourcePolicyRuleApplyConfiguration{}
|
|
}
|
|
|
|
// WithVerbs adds the given value to the Verbs 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 Verbs field.
|
|
func (b *ResourcePolicyRuleApplyConfiguration) WithVerbs(values ...string) *ResourcePolicyRuleApplyConfiguration {
|
|
for i := range values {
|
|
b.Verbs = append(b.Verbs, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// 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 *ResourcePolicyRuleApplyConfiguration) WithAPIGroups(values ...string) *ResourcePolicyRuleApplyConfiguration {
|
|
for i := range values {
|
|
b.APIGroups = append(b.APIGroups, 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 *ResourcePolicyRuleApplyConfiguration) WithResources(values ...string) *ResourcePolicyRuleApplyConfiguration {
|
|
for i := range values {
|
|
b.Resources = append(b.Resources, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithClusterScope sets the ClusterScope 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 ClusterScope field is set to the value of the last call.
|
|
func (b *ResourcePolicyRuleApplyConfiguration) WithClusterScope(value bool) *ResourcePolicyRuleApplyConfiguration {
|
|
b.ClusterScope = &value
|
|
return b
|
|
}
|
|
|
|
// WithNamespaces adds the given value to the Namespaces 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 Namespaces field.
|
|
func (b *ResourcePolicyRuleApplyConfiguration) WithNamespaces(values ...string) *ResourcePolicyRuleApplyConfiguration {
|
|
for i := range values {
|
|
b.Namespaces = append(b.Namespaces, values[i])
|
|
}
|
|
return b
|
|
}
|