mirror of
https://github.com/kubernetes/client-go.git
synced 2026-05-17 13:04:13 +00:00
134 lines
7.2 KiB
Go
134 lines
7.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
|
|
|
|
import (
|
|
types "k8s.io/apimachinery/pkg/types"
|
|
)
|
|
|
|
// ObjectReferenceApplyConfiguration represents a declarative configuration of the ObjectReference type for use
|
|
// with apply.
|
|
//
|
|
// ObjectReference contains enough information to let you inspect or modify the referred object.
|
|
// ---
|
|
// New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
|
|
// 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.
|
|
// 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
|
|
// restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
|
|
// Those cannot be well described when embedded.
|
|
// 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
|
|
// 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
|
|
// during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
|
|
// and the version of the actual struct is irrelevant.
|
|
// 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type
|
|
// will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
|
|
//
|
|
// Instead of using this type, create a locally provided and used type that is well-focused on your reference.
|
|
// For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
|
|
type ObjectReferenceApplyConfiguration struct {
|
|
// Kind of the referent.
|
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
Kind *string `json:"kind,omitempty"`
|
|
// Namespace of the referent.
|
|
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
|
Namespace *string `json:"namespace,omitempty"`
|
|
// Name of the referent.
|
|
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
Name *string `json:"name,omitempty"`
|
|
// UID of the referent.
|
|
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
UID *types.UID `json:"uid,omitempty"`
|
|
// API version of the referent.
|
|
APIVersion *string `json:"apiVersion,omitempty"`
|
|
// Specific resourceVersion to which this reference is made, if any.
|
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
ResourceVersion *string `json:"resourceVersion,omitempty"`
|
|
// If referring to a piece of an object instead of an entire object, this string
|
|
// should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
// For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
// "spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
// the event) or if no container name is specified "spec.containers[2]" (container with
|
|
// index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
// referencing a part of an object.
|
|
// TODO: this design is not final and this field is subject to change in the future.
|
|
FieldPath *string `json:"fieldPath,omitempty"`
|
|
}
|
|
|
|
// ObjectReferenceApplyConfiguration constructs a declarative configuration of the ObjectReference type for use with
|
|
// apply.
|
|
func ObjectReference() *ObjectReferenceApplyConfiguration {
|
|
return &ObjectReferenceApplyConfiguration{}
|
|
}
|
|
|
|
// WithKind sets the Kind 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 Kind field is set to the value of the last call.
|
|
func (b *ObjectReferenceApplyConfiguration) WithKind(value string) *ObjectReferenceApplyConfiguration {
|
|
b.Kind = &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 *ObjectReferenceApplyConfiguration) WithNamespace(value string) *ObjectReferenceApplyConfiguration {
|
|
b.Namespace = &value
|
|
return b
|
|
}
|
|
|
|
// 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 *ObjectReferenceApplyConfiguration) WithName(value string) *ObjectReferenceApplyConfiguration {
|
|
b.Name = &value
|
|
return b
|
|
}
|
|
|
|
// WithUID sets the UID 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 UID field is set to the value of the last call.
|
|
func (b *ObjectReferenceApplyConfiguration) WithUID(value types.UID) *ObjectReferenceApplyConfiguration {
|
|
b.UID = &value
|
|
return b
|
|
}
|
|
|
|
// WithAPIVersion sets the APIVersion 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 APIVersion field is set to the value of the last call.
|
|
func (b *ObjectReferenceApplyConfiguration) WithAPIVersion(value string) *ObjectReferenceApplyConfiguration {
|
|
b.APIVersion = &value
|
|
return b
|
|
}
|
|
|
|
// WithResourceVersion sets the ResourceVersion 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 ResourceVersion field is set to the value of the last call.
|
|
func (b *ObjectReferenceApplyConfiguration) WithResourceVersion(value string) *ObjectReferenceApplyConfiguration {
|
|
b.ResourceVersion = &value
|
|
return b
|
|
}
|
|
|
|
// WithFieldPath sets the FieldPath 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 FieldPath field is set to the value of the last call.
|
|
func (b *ObjectReferenceApplyConfiguration) WithFieldPath(value string) *ObjectReferenceApplyConfiguration {
|
|
b.FieldPath = &value
|
|
return b
|
|
}
|