86 lines
4.2 KiB
Go
86 lines
4.2 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
|
|
|
|
// PolicyRulesWithSubjectsApplyConfiguration represents a declarative configuration of the PolicyRulesWithSubjects type for use
|
|
// with apply.
|
|
//
|
|
// PolicyRulesWithSubjects prescribes a test that applies to a request to an apiserver. The test considers the subject
|
|
// making the request, the verb being requested, and the resource to be acted upon. This PolicyRulesWithSubjects matches
|
|
// a request if and only if both (a) at least one member of subjects matches the request and (b) at least one member
|
|
// of resourceRules or nonResourceRules matches the request.
|
|
type PolicyRulesWithSubjectsApplyConfiguration struct {
|
|
// subjects is the list of normal user, serviceaccount, or group that this rule cares about.
|
|
// There must be at least one member in this slice.
|
|
// A slice that includes both the system:authenticated and system:unauthenticated user groups matches every request.
|
|
// Required.
|
|
Subjects []SubjectApplyConfiguration `json:"subjects,omitempty"`
|
|
// `resourceRules` is a slice of ResourcePolicyRules that identify matching requests according to their verb and the
|
|
// target resource.
|
|
// At least one of `resourceRules` and `nonResourceRules` has to be non-empty.
|
|
ResourceRules []ResourcePolicyRuleApplyConfiguration `json:"resourceRules,omitempty"`
|
|
// `nonResourceRules` is a list of NonResourcePolicyRules that identify matching requests according to their verb
|
|
// and the target non-resource URL.
|
|
NonResourceRules []NonResourcePolicyRuleApplyConfiguration `json:"nonResourceRules,omitempty"`
|
|
}
|
|
|
|
// PolicyRulesWithSubjectsApplyConfiguration constructs a declarative configuration of the PolicyRulesWithSubjects type for use with
|
|
// apply.
|
|
func PolicyRulesWithSubjects() *PolicyRulesWithSubjectsApplyConfiguration {
|
|
return &PolicyRulesWithSubjectsApplyConfiguration{}
|
|
}
|
|
|
|
// WithSubjects adds the given value to the Subjects 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 Subjects field.
|
|
func (b *PolicyRulesWithSubjectsApplyConfiguration) WithSubjects(values ...*SubjectApplyConfiguration) *PolicyRulesWithSubjectsApplyConfiguration {
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithSubjects")
|
|
}
|
|
b.Subjects = append(b.Subjects, *values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithResourceRules adds the given value to the ResourceRules 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 ResourceRules field.
|
|
func (b *PolicyRulesWithSubjectsApplyConfiguration) WithResourceRules(values ...*ResourcePolicyRuleApplyConfiguration) *PolicyRulesWithSubjectsApplyConfiguration {
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithResourceRules")
|
|
}
|
|
b.ResourceRules = append(b.ResourceRules, *values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithNonResourceRules adds the given value to the NonResourceRules 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 NonResourceRules field.
|
|
func (b *PolicyRulesWithSubjectsApplyConfiguration) WithNonResourceRules(values ...*NonResourcePolicyRuleApplyConfiguration) *PolicyRulesWithSubjectsApplyConfiguration {
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithNonResourceRules")
|
|
}
|
|
b.NonResourceRules = append(b.NonResourceRules, *values[i])
|
|
}
|
|
return b
|
|
}
|