mirror of
https://github.com/kubernetes/client-go.git
synced 2026-02-21 23:53:16 +00:00
196 lines
11 KiB
Go
196 lines
11 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 v1beta1
|
|
|
|
import (
|
|
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
|
corev1 "k8s.io/client-go/applyconfigurations/core/v1"
|
|
v1 "k8s.io/client-go/applyconfigurations/meta/v1"
|
|
)
|
|
|
|
// StatefulSetSpecApplyConfiguration represents a declarative configuration of the StatefulSetSpec type for use
|
|
// with apply.
|
|
//
|
|
// A StatefulSetSpec is the specification of a StatefulSet.
|
|
type StatefulSetSpecApplyConfiguration struct {
|
|
// replicas is the desired number of replicas of the given Template.
|
|
// These are replicas in the sense that they are instantiations of the
|
|
// same Template, but individual replicas also have a consistent identity.
|
|
// If unspecified, defaults to 1.
|
|
// TODO: Consider a rename of this field.
|
|
Replicas *int32 `json:"replicas,omitempty"`
|
|
// selector is a label query over pods that should match the replica count.
|
|
// If empty, defaulted to labels on the pod template.
|
|
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
|
|
Selector *v1.LabelSelectorApplyConfiguration `json:"selector,omitempty"`
|
|
// template is the object that describes the pod that will be created if
|
|
// insufficient replicas are detected. Each pod stamped out by the StatefulSet
|
|
// will fulfill this Template, but have a unique identity from the rest
|
|
// of the StatefulSet. Each pod will be named with the format
|
|
// <statefulsetname>-<podindex>. For example, a pod in a StatefulSet named
|
|
// "web" with index number "3" would be named "web-3".
|
|
Template *corev1.PodTemplateSpecApplyConfiguration `json:"template,omitempty"`
|
|
// volumeClaimTemplates is a list of claims that pods are allowed to reference.
|
|
// The StatefulSet controller is responsible for mapping network identities to
|
|
// claims in a way that maintains the identity of a pod. Every claim in
|
|
// this list must have at least one matching (by name) volumeMount in one
|
|
// container in the template. A claim in this list takes precedence over
|
|
// any volumes in the template, with the same name.
|
|
// TODO: Define the behavior if a claim already exists with the same name.
|
|
VolumeClaimTemplates []corev1.PersistentVolumeClaimApplyConfiguration `json:"volumeClaimTemplates,omitempty"`
|
|
// serviceName is the name of the service that governs this StatefulSet.
|
|
// This service must exist before the StatefulSet, and is responsible for
|
|
// the network identity of the set. Pods get DNS/hostnames that follow the
|
|
// pattern: pod-specific-string.serviceName.default.svc.cluster.local
|
|
// where "pod-specific-string" is managed by the StatefulSet controller.
|
|
ServiceName *string `json:"serviceName,omitempty"`
|
|
// podManagementPolicy controls how pods are created during initial scale up,
|
|
// when replacing pods on nodes, or when scaling down. The default policy is
|
|
// `OrderedReady`, where pods are created in increasing order (pod-0, then
|
|
// pod-1, etc) and the controller will wait until each pod is ready before
|
|
// continuing. When scaling down, the pods are removed in the opposite order.
|
|
// The alternative policy is `Parallel` which will create pods in parallel
|
|
// to match the desired scale without waiting, and on scale down will delete
|
|
// all pods at once.
|
|
PodManagementPolicy *appsv1beta1.PodManagementPolicyType `json:"podManagementPolicy,omitempty"`
|
|
// updateStrategy indicates the StatefulSetUpdateStrategy that will be
|
|
// employed to update Pods in the StatefulSet when a revision is made to
|
|
// Template.
|
|
UpdateStrategy *StatefulSetUpdateStrategyApplyConfiguration `json:"updateStrategy,omitempty"`
|
|
// revisionHistoryLimit is the maximum number of revisions that will
|
|
// be maintained in the StatefulSet's revision history. The revision history
|
|
// consists of all revisions not represented by a currently applied
|
|
// StatefulSetSpec version. The default value is 10.
|
|
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"`
|
|
// minReadySeconds is the minimum number of seconds for which a newly created pod should be ready
|
|
// without any of its container crashing for it to be considered available.
|
|
// Defaults to 0 (pod will be considered available as soon as it is ready)
|
|
MinReadySeconds *int32 `json:"minReadySeconds,omitempty"`
|
|
// persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent
|
|
// volume claims created from volumeClaimTemplates. By default, all persistent
|
|
// volume claims are created as needed and retained until manually deleted. This
|
|
// policy allows the lifecycle to be altered, for example by deleting persistent
|
|
// volume claims when their stateful set is deleted, or when their pod is scaled
|
|
// down.
|
|
PersistentVolumeClaimRetentionPolicy *StatefulSetPersistentVolumeClaimRetentionPolicyApplyConfiguration `json:"persistentVolumeClaimRetentionPolicy,omitempty"`
|
|
// ordinals controls the numbering of replica indices in a StatefulSet. The
|
|
// default ordinals behavior assigns a "0" index to the first replica and
|
|
// increments the index by one for each additional replica requested.
|
|
Ordinals *StatefulSetOrdinalsApplyConfiguration `json:"ordinals,omitempty"`
|
|
}
|
|
|
|
// StatefulSetSpecApplyConfiguration constructs a declarative configuration of the StatefulSetSpec type for use with
|
|
// apply.
|
|
func StatefulSetSpec() *StatefulSetSpecApplyConfiguration {
|
|
return &StatefulSetSpecApplyConfiguration{}
|
|
}
|
|
|
|
// WithReplicas sets the Replicas 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 Replicas field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithReplicas(value int32) *StatefulSetSpecApplyConfiguration {
|
|
b.Replicas = &value
|
|
return b
|
|
}
|
|
|
|
// WithSelector sets the Selector 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 Selector field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithSelector(value *v1.LabelSelectorApplyConfiguration) *StatefulSetSpecApplyConfiguration {
|
|
b.Selector = value
|
|
return b
|
|
}
|
|
|
|
// WithTemplate sets the Template 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 Template field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithTemplate(value *corev1.PodTemplateSpecApplyConfiguration) *StatefulSetSpecApplyConfiguration {
|
|
b.Template = value
|
|
return b
|
|
}
|
|
|
|
// WithVolumeClaimTemplates adds the given value to the VolumeClaimTemplates 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 VolumeClaimTemplates field.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithVolumeClaimTemplates(values ...*corev1.PersistentVolumeClaimApplyConfiguration) *StatefulSetSpecApplyConfiguration {
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithVolumeClaimTemplates")
|
|
}
|
|
b.VolumeClaimTemplates = append(b.VolumeClaimTemplates, *values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithServiceName sets the ServiceName 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 ServiceName field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithServiceName(value string) *StatefulSetSpecApplyConfiguration {
|
|
b.ServiceName = &value
|
|
return b
|
|
}
|
|
|
|
// WithPodManagementPolicy sets the PodManagementPolicy 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 PodManagementPolicy field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithPodManagementPolicy(value appsv1beta1.PodManagementPolicyType) *StatefulSetSpecApplyConfiguration {
|
|
b.PodManagementPolicy = &value
|
|
return b
|
|
}
|
|
|
|
// WithUpdateStrategy sets the UpdateStrategy 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 UpdateStrategy field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithUpdateStrategy(value *StatefulSetUpdateStrategyApplyConfiguration) *StatefulSetSpecApplyConfiguration {
|
|
b.UpdateStrategy = value
|
|
return b
|
|
}
|
|
|
|
// WithRevisionHistoryLimit sets the RevisionHistoryLimit 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 RevisionHistoryLimit field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithRevisionHistoryLimit(value int32) *StatefulSetSpecApplyConfiguration {
|
|
b.RevisionHistoryLimit = &value
|
|
return b
|
|
}
|
|
|
|
// WithMinReadySeconds sets the MinReadySeconds 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 MinReadySeconds field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithMinReadySeconds(value int32) *StatefulSetSpecApplyConfiguration {
|
|
b.MinReadySeconds = &value
|
|
return b
|
|
}
|
|
|
|
// WithPersistentVolumeClaimRetentionPolicy sets the PersistentVolumeClaimRetentionPolicy 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 PersistentVolumeClaimRetentionPolicy field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithPersistentVolumeClaimRetentionPolicy(value *StatefulSetPersistentVolumeClaimRetentionPolicyApplyConfiguration) *StatefulSetSpecApplyConfiguration {
|
|
b.PersistentVolumeClaimRetentionPolicy = value
|
|
return b
|
|
}
|
|
|
|
// WithOrdinals sets the Ordinals 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 Ordinals field is set to the value of the last call.
|
|
func (b *StatefulSetSpecApplyConfiguration) WithOrdinals(value *StatefulSetOrdinalsApplyConfiguration) *StatefulSetSpecApplyConfiguration {
|
|
b.Ordinals = value
|
|
return b
|
|
}
|