mirror of
https://github.com/kubernetes/client-go.git
synced 2026-07-17 01:57:40 +00:00
Co-authored-by: Antoni Zawodny <zawodny@google.com> Kubernetes-commit: cea3df3e5624e40ceb4aa0b4e309eaf0596675dd
83 lines
4.1 KiB
Go
83 lines
4.1 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 v1alpha3
|
|
|
|
// WorkloadSpecApplyConfiguration represents a declarative configuration of the WorkloadSpec type for use
|
|
// with apply.
|
|
//
|
|
// WorkloadSpec defines the desired state of a Workload.
|
|
type WorkloadSpecApplyConfiguration struct {
|
|
// ControllerRef is an optional reference to the controlling object, such as a
|
|
// Deployment or Job. This field is intended for use by tools like CLIs
|
|
// to provide a link back to the original workload definition.
|
|
// This field is immutable.
|
|
ControllerRef *TypedLocalObjectReferenceApplyConfiguration `json:"controllerRef,omitempty"`
|
|
// PodGroupTemplates is the list of templates that make up the Workload.
|
|
// The maximum number of templates is 8. Templates cannot be added or removed after the workload is created.
|
|
// Existing templates may still be updated where their individual fields allow it.
|
|
// Exactly one of CompositePodGroupTemplates and PodGroupTemplates must be set.
|
|
PodGroupTemplates []PodGroupTemplateApplyConfiguration `json:"podGroupTemplates,omitempty"`
|
|
// CompositePodGroupTemplates is the list of CompositePodGroup templates that make up the Workload.
|
|
// The maximum number of templates is 8. This field is immutable.
|
|
// Exactly one of CompositePodGroupTemplates and PodGroupTemplates must be set.
|
|
//
|
|
// This field is used only when the CompositePodGroup feature gate is enabled.
|
|
CompositePodGroupTemplates []CompositePodGroupTemplateApplyConfiguration `json:"compositePodGroupTemplates,omitempty"`
|
|
}
|
|
|
|
// WorkloadSpecApplyConfiguration constructs a declarative configuration of the WorkloadSpec type for use with
|
|
// apply.
|
|
func WorkloadSpec() *WorkloadSpecApplyConfiguration {
|
|
return &WorkloadSpecApplyConfiguration{}
|
|
}
|
|
|
|
// WithControllerRef sets the ControllerRef 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 ControllerRef field is set to the value of the last call.
|
|
func (b *WorkloadSpecApplyConfiguration) WithControllerRef(value *TypedLocalObjectReferenceApplyConfiguration) *WorkloadSpecApplyConfiguration {
|
|
b.ControllerRef = value
|
|
return b
|
|
}
|
|
|
|
// WithPodGroupTemplates adds the given value to the PodGroupTemplates 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 PodGroupTemplates field.
|
|
func (b *WorkloadSpecApplyConfiguration) WithPodGroupTemplates(values ...*PodGroupTemplateApplyConfiguration) *WorkloadSpecApplyConfiguration {
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithPodGroupTemplates")
|
|
}
|
|
b.PodGroupTemplates = append(b.PodGroupTemplates, *values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithCompositePodGroupTemplates adds the given value to the CompositePodGroupTemplates 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 CompositePodGroupTemplates field.
|
|
func (b *WorkloadSpecApplyConfiguration) WithCompositePodGroupTemplates(values ...*CompositePodGroupTemplateApplyConfiguration) *WorkloadSpecApplyConfiguration {
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithCompositePodGroupTemplates")
|
|
}
|
|
b.CompositePodGroupTemplates = append(b.CompositePodGroupTemplates, *values[i])
|
|
}
|
|
return b
|
|
}
|