mirror of
https://github.com/kubernetes/client-go.git
synced 2026-02-21 23:53:16 +00:00
408 lines
24 KiB
Go
408 lines
24 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 (
|
|
corev1 "k8s.io/api/core/v1"
|
|
)
|
|
|
|
// ServiceSpecApplyConfiguration represents a declarative configuration of the ServiceSpec type for use
|
|
// with apply.
|
|
//
|
|
// ServiceSpec describes the attributes that a user creates on a service.
|
|
type ServiceSpecApplyConfiguration struct {
|
|
// The list of ports that are exposed by this service.
|
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
|
Ports []ServicePortApplyConfiguration `json:"ports,omitempty"`
|
|
// Route service traffic to pods with label keys and values matching this
|
|
// selector. If empty or not present, the service is assumed to have an
|
|
// external process managing its endpoints, which Kubernetes will not
|
|
// modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
|
|
// Ignored if type is ExternalName.
|
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/
|
|
Selector map[string]string `json:"selector,omitempty"`
|
|
// clusterIP is the IP address of the service and is usually assigned
|
|
// randomly. If an address is specified manually, is in-range (as per
|
|
// system configuration), and is not in use, it will be allocated to the
|
|
// service; otherwise creation of the service will fail. This field may not
|
|
// be changed through updates unless the type field is also being changed
|
|
// to ExternalName (which requires this field to be blank) or the type
|
|
// field is being changed from ExternalName (in which case this field may
|
|
// optionally be specified, as describe above). Valid values are "None",
|
|
// empty string (""), or a valid IP address. Setting this to "None" makes a
|
|
// "headless service" (no virtual IP), which is useful when direct endpoint
|
|
// connections are preferred and proxying is not required. Only applies to
|
|
// types ClusterIP, NodePort, and LoadBalancer. If this field is specified
|
|
// when creating a Service of type ExternalName, creation will fail. This
|
|
// field will be wiped when updating a Service to type ExternalName.
|
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
|
ClusterIP *string `json:"clusterIP,omitempty"`
|
|
// ClusterIPs is a list of IP addresses assigned to this service, and are
|
|
// usually assigned randomly. If an address is specified manually, is
|
|
// in-range (as per system configuration), and is not in use, it will be
|
|
// allocated to the service; otherwise creation of the service will fail.
|
|
// This field may not be changed through updates unless the type field is
|
|
// also being changed to ExternalName (which requires this field to be
|
|
// empty) or the type field is being changed from ExternalName (in which
|
|
// case this field may optionally be specified, as describe above). Valid
|
|
// values are "None", empty string (""), or a valid IP address. Setting
|
|
// this to "None" makes a "headless service" (no virtual IP), which is
|
|
// useful when direct endpoint connections are preferred and proxying is
|
|
// not required. Only applies to types ClusterIP, NodePort, and
|
|
// LoadBalancer. If this field is specified when creating a Service of type
|
|
// ExternalName, creation will fail. This field will be wiped when updating
|
|
// a Service to type ExternalName. If this field is not specified, it will
|
|
// be initialized from the clusterIP field. If this field is specified,
|
|
// clients must ensure that clusterIPs[0] and clusterIP have the same
|
|
// value.
|
|
//
|
|
// This field may hold a maximum of two entries (dual-stack IPs, in either order).
|
|
// These IPs must correspond to the values of the ipFamilies field. Both
|
|
// clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
|
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
|
ClusterIPs []string `json:"clusterIPs,omitempty"`
|
|
// type determines how the Service is exposed. Defaults to ClusterIP. Valid
|
|
// options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
|
|
// "ClusterIP" allocates a cluster-internal IP address for load-balancing
|
|
// to endpoints. Endpoints are determined by the selector or if that is not
|
|
// specified, by manual construction of an Endpoints object or
|
|
// EndpointSlice objects. If clusterIP is "None", no virtual IP is
|
|
// allocated and the endpoints are published as a set of endpoints rather
|
|
// than a virtual IP.
|
|
// "NodePort" builds on ClusterIP and allocates a port on every node which
|
|
// routes to the same endpoints as the clusterIP.
|
|
// "LoadBalancer" builds on NodePort and creates an external load-balancer
|
|
// (if supported in the current cloud) which routes to the same endpoints
|
|
// as the clusterIP.
|
|
// "ExternalName" aliases this service to the specified externalName.
|
|
// Several other fields do not apply to ExternalName services.
|
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
|
|
Type *corev1.ServiceType `json:"type,omitempty"`
|
|
// externalIPs is a list of IP addresses for which nodes in the cluster
|
|
// will also accept traffic for this service. These IPs are not managed by
|
|
// Kubernetes. The user is responsible for ensuring that traffic arrives
|
|
// at a node with this IP. A common example is external load-balancers
|
|
// that are not part of the Kubernetes system.
|
|
ExternalIPs []string `json:"externalIPs,omitempty"`
|
|
// Supports "ClientIP" and "None". Used to maintain session affinity.
|
|
// Enable client IP based session affinity.
|
|
// Must be ClientIP or None.
|
|
// Defaults to None.
|
|
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
|
|
SessionAffinity *corev1.ServiceAffinity `json:"sessionAffinity,omitempty"`
|
|
// Only applies to Service Type: LoadBalancer.
|
|
// This feature depends on whether the underlying cloud-provider supports specifying
|
|
// the loadBalancerIP when a load balancer is created.
|
|
// This field will be ignored if the cloud-provider does not support the feature.
|
|
// Deprecated: This field was under-specified and its meaning varies across implementations.
|
|
// Using it is non-portable and it may not support dual-stack.
|
|
// Users are encouraged to use implementation-specific annotations when available.
|
|
LoadBalancerIP *string `json:"loadBalancerIP,omitempty"`
|
|
// If specified and supported by the platform, this will restrict traffic through the cloud-provider
|
|
// load-balancer will be restricted to the specified client IPs. This field will be ignored if the
|
|
// cloud-provider does not support the feature."
|
|
// More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
|
|
LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`
|
|
// externalName is the external reference that discovery mechanisms will
|
|
// return as an alias for this service (e.g. a DNS CNAME record). No
|
|
// proxying will be involved. Must be a lowercase RFC-1123 hostname
|
|
// (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
|
|
ExternalName *string `json:"externalName,omitempty"`
|
|
// externalTrafficPolicy describes how nodes distribute service traffic they
|
|
// receive on one of the Service's "externally-facing" addresses (NodePorts,
|
|
// ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
|
|
// the service in a way that assumes that external load balancers will take care
|
|
// of balancing the service traffic between nodes, and so each node will deliver
|
|
// traffic only to the node-local endpoints of the service, without masquerading
|
|
// the client source IP. (Traffic mistakenly sent to a node with no endpoints will
|
|
// be dropped.) The default value, "Cluster", uses the standard behavior of
|
|
// routing to all endpoints evenly (possibly modified by topology and other
|
|
// features). Note that traffic sent to an External IP or LoadBalancer IP from
|
|
// within the cluster will always get "Cluster" semantics, but clients sending to
|
|
// a NodePort from within the cluster may need to take traffic policy into account
|
|
// when picking a node.
|
|
ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,omitempty"`
|
|
// healthCheckNodePort specifies the healthcheck nodePort for the service.
|
|
// This only applies when type is set to LoadBalancer and
|
|
// externalTrafficPolicy is set to Local. If a value is specified, is
|
|
// in-range, and is not in use, it will be used. If not specified, a value
|
|
// will be automatically allocated. External systems (e.g. load-balancers)
|
|
// can use this port to determine if a given node holds endpoints for this
|
|
// service or not. If this field is specified when creating a Service
|
|
// which does not need it, creation will fail. This field will be wiped
|
|
// when updating a Service to no longer need it (e.g. changing type).
|
|
// This field cannot be updated once set.
|
|
HealthCheckNodePort *int32 `json:"healthCheckNodePort,omitempty"`
|
|
// publishNotReadyAddresses indicates that any agent which deals with endpoints for this
|
|
// Service should disregard any indications of ready/not-ready.
|
|
// The primary use case for setting this field is for a StatefulSet's Headless Service to
|
|
// propagate SRV DNS records for its Pods for the purpose of peer discovery.
|
|
// The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
|
|
// Services interpret this to mean that all endpoints are considered "ready" even if the
|
|
// Pods themselves are not. Agents which consume only Kubernetes generated endpoints
|
|
// through the Endpoints or EndpointSlice resources can safely assume this behavior.
|
|
PublishNotReadyAddresses *bool `json:"publishNotReadyAddresses,omitempty"`
|
|
// sessionAffinityConfig contains the configurations of session affinity.
|
|
SessionAffinityConfig *SessionAffinityConfigApplyConfiguration `json:"sessionAffinityConfig,omitempty"`
|
|
// IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
|
|
// service. This field is usually assigned automatically based on cluster
|
|
// configuration and the ipFamilyPolicy field. If this field is specified
|
|
// manually, the requested family is available in the cluster,
|
|
// and ipFamilyPolicy allows it, it will be used; otherwise creation of
|
|
// the service will fail. This field is conditionally mutable: it allows
|
|
// for adding or removing a secondary IP family, but it does not allow
|
|
// changing the primary IP family of the Service. Valid values are "IPv4"
|
|
// and "IPv6". This field only applies to Services of types ClusterIP,
|
|
// NodePort, and LoadBalancer, and does apply to "headless" services.
|
|
// This field will be wiped when updating a Service to type ExternalName.
|
|
//
|
|
// This field may hold a maximum of two entries (dual-stack families, in
|
|
// either order). These families must correspond to the values of the
|
|
// clusterIPs field, if specified. Both clusterIPs and ipFamilies are
|
|
// governed by the ipFamilyPolicy field.
|
|
IPFamilies []corev1.IPFamily `json:"ipFamilies,omitempty"`
|
|
// IPFamilyPolicy represents the dual-stack-ness requested or required by
|
|
// this Service. If there is no value provided, then this field will be set
|
|
// to SingleStack. Services can be "SingleStack" (a single IP family),
|
|
// "PreferDualStack" (two IP families on dual-stack configured clusters or
|
|
// a single IP family on single-stack clusters), or "RequireDualStack"
|
|
// (two IP families on dual-stack configured clusters, otherwise fail). The
|
|
// ipFamilies and clusterIPs fields depend on the value of this field. This
|
|
// field will be wiped when updating a service to type ExternalName.
|
|
IPFamilyPolicy *corev1.IPFamilyPolicy `json:"ipFamilyPolicy,omitempty"`
|
|
// allocateLoadBalancerNodePorts defines if NodePorts will be automatically
|
|
// allocated for services with type LoadBalancer. Default is "true". It
|
|
// may be set to "false" if the cluster load-balancer does not rely on
|
|
// NodePorts. If the caller requests specific NodePorts (by specifying a
|
|
// value), those requests will be respected, regardless of this field.
|
|
// This field may only be set for services with type LoadBalancer and will
|
|
// be cleared if the type is changed to any other type.
|
|
AllocateLoadBalancerNodePorts *bool `json:"allocateLoadBalancerNodePorts,omitempty"`
|
|
// loadBalancerClass is the class of the load balancer implementation this Service belongs to.
|
|
// If specified, the value of this field must be a label-style identifier, with an optional prefix,
|
|
// e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
|
|
// This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
|
|
// balancer implementation is used, today this is typically done through the cloud provider integration,
|
|
// but should apply for any default implementation. If set, it is assumed that a load balancer
|
|
// implementation is watching for Services with a matching class. Any default load balancer
|
|
// implementation (e.g. cloud providers) should ignore Services that set this field.
|
|
// This field can only be set when creating or updating a Service to type 'LoadBalancer'.
|
|
// Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
|
|
LoadBalancerClass *string `json:"loadBalancerClass,omitempty"`
|
|
// InternalTrafficPolicy describes how nodes distribute service traffic they
|
|
// receive on the ClusterIP. If set to "Local", the proxy will assume that pods
|
|
// only want to talk to endpoints of the service on the same node as the pod,
|
|
// dropping the traffic if there are no local endpoints. The default value,
|
|
// "Cluster", uses the standard behavior of routing to all endpoints evenly
|
|
// (possibly modified by topology and other features).
|
|
InternalTrafficPolicy *corev1.ServiceInternalTrafficPolicy `json:"internalTrafficPolicy,omitempty"`
|
|
// TrafficDistribution offers a way to express preferences for how traffic
|
|
// is distributed to Service endpoints. Implementations can use this field
|
|
// as a hint, but are not required to guarantee strict adherence. If the
|
|
// field is not set, the implementation will apply its default routing
|
|
// strategy. If set to "PreferClose", implementations should prioritize
|
|
// endpoints that are in the same zone.
|
|
TrafficDistribution *string `json:"trafficDistribution,omitempty"`
|
|
}
|
|
|
|
// ServiceSpecApplyConfiguration constructs a declarative configuration of the ServiceSpec type for use with
|
|
// apply.
|
|
func ServiceSpec() *ServiceSpecApplyConfiguration {
|
|
return &ServiceSpecApplyConfiguration{}
|
|
}
|
|
|
|
// WithPorts adds the given value to the Ports 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 Ports field.
|
|
func (b *ServiceSpecApplyConfiguration) WithPorts(values ...*ServicePortApplyConfiguration) *ServiceSpecApplyConfiguration {
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithPorts")
|
|
}
|
|
b.Ports = append(b.Ports, *values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithSelector puts the entries into the Selector field in the declarative configuration
|
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
|
// If called multiple times, the entries provided by each call will be put on the Selector field,
|
|
// overwriting an existing map entries in Selector field with the same key.
|
|
func (b *ServiceSpecApplyConfiguration) WithSelector(entries map[string]string) *ServiceSpecApplyConfiguration {
|
|
if b.Selector == nil && len(entries) > 0 {
|
|
b.Selector = make(map[string]string, len(entries))
|
|
}
|
|
for k, v := range entries {
|
|
b.Selector[k] = v
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithClusterIP sets the ClusterIP 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 ClusterIP field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithClusterIP(value string) *ServiceSpecApplyConfiguration {
|
|
b.ClusterIP = &value
|
|
return b
|
|
}
|
|
|
|
// WithClusterIPs adds the given value to the ClusterIPs 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 ClusterIPs field.
|
|
func (b *ServiceSpecApplyConfiguration) WithClusterIPs(values ...string) *ServiceSpecApplyConfiguration {
|
|
for i := range values {
|
|
b.ClusterIPs = append(b.ClusterIPs, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithType sets the Type 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 Type field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithType(value corev1.ServiceType) *ServiceSpecApplyConfiguration {
|
|
b.Type = &value
|
|
return b
|
|
}
|
|
|
|
// WithExternalIPs adds the given value to the ExternalIPs 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 ExternalIPs field.
|
|
func (b *ServiceSpecApplyConfiguration) WithExternalIPs(values ...string) *ServiceSpecApplyConfiguration {
|
|
for i := range values {
|
|
b.ExternalIPs = append(b.ExternalIPs, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithSessionAffinity sets the SessionAffinity 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 SessionAffinity field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithSessionAffinity(value corev1.ServiceAffinity) *ServiceSpecApplyConfiguration {
|
|
b.SessionAffinity = &value
|
|
return b
|
|
}
|
|
|
|
// WithLoadBalancerIP sets the LoadBalancerIP 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 LoadBalancerIP field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithLoadBalancerIP(value string) *ServiceSpecApplyConfiguration {
|
|
b.LoadBalancerIP = &value
|
|
return b
|
|
}
|
|
|
|
// WithLoadBalancerSourceRanges adds the given value to the LoadBalancerSourceRanges 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 LoadBalancerSourceRanges field.
|
|
func (b *ServiceSpecApplyConfiguration) WithLoadBalancerSourceRanges(values ...string) *ServiceSpecApplyConfiguration {
|
|
for i := range values {
|
|
b.LoadBalancerSourceRanges = append(b.LoadBalancerSourceRanges, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithExternalName sets the ExternalName 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 ExternalName field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithExternalName(value string) *ServiceSpecApplyConfiguration {
|
|
b.ExternalName = &value
|
|
return b
|
|
}
|
|
|
|
// WithExternalTrafficPolicy sets the ExternalTrafficPolicy 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 ExternalTrafficPolicy field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithExternalTrafficPolicy(value corev1.ServiceExternalTrafficPolicy) *ServiceSpecApplyConfiguration {
|
|
b.ExternalTrafficPolicy = &value
|
|
return b
|
|
}
|
|
|
|
// WithHealthCheckNodePort sets the HealthCheckNodePort 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 HealthCheckNodePort field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithHealthCheckNodePort(value int32) *ServiceSpecApplyConfiguration {
|
|
b.HealthCheckNodePort = &value
|
|
return b
|
|
}
|
|
|
|
// WithPublishNotReadyAddresses sets the PublishNotReadyAddresses 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 PublishNotReadyAddresses field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithPublishNotReadyAddresses(value bool) *ServiceSpecApplyConfiguration {
|
|
b.PublishNotReadyAddresses = &value
|
|
return b
|
|
}
|
|
|
|
// WithSessionAffinityConfig sets the SessionAffinityConfig 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 SessionAffinityConfig field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithSessionAffinityConfig(value *SessionAffinityConfigApplyConfiguration) *ServiceSpecApplyConfiguration {
|
|
b.SessionAffinityConfig = value
|
|
return b
|
|
}
|
|
|
|
// WithIPFamilies adds the given value to the IPFamilies 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 IPFamilies field.
|
|
func (b *ServiceSpecApplyConfiguration) WithIPFamilies(values ...corev1.IPFamily) *ServiceSpecApplyConfiguration {
|
|
for i := range values {
|
|
b.IPFamilies = append(b.IPFamilies, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithIPFamilyPolicy sets the IPFamilyPolicy 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 IPFamilyPolicy field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithIPFamilyPolicy(value corev1.IPFamilyPolicy) *ServiceSpecApplyConfiguration {
|
|
b.IPFamilyPolicy = &value
|
|
return b
|
|
}
|
|
|
|
// WithAllocateLoadBalancerNodePorts sets the AllocateLoadBalancerNodePorts 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 AllocateLoadBalancerNodePorts field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithAllocateLoadBalancerNodePorts(value bool) *ServiceSpecApplyConfiguration {
|
|
b.AllocateLoadBalancerNodePorts = &value
|
|
return b
|
|
}
|
|
|
|
// WithLoadBalancerClass sets the LoadBalancerClass 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 LoadBalancerClass field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithLoadBalancerClass(value string) *ServiceSpecApplyConfiguration {
|
|
b.LoadBalancerClass = &value
|
|
return b
|
|
}
|
|
|
|
// WithInternalTrafficPolicy sets the InternalTrafficPolicy 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 InternalTrafficPolicy field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithInternalTrafficPolicy(value corev1.ServiceInternalTrafficPolicy) *ServiceSpecApplyConfiguration {
|
|
b.InternalTrafficPolicy = &value
|
|
return b
|
|
}
|
|
|
|
// WithTrafficDistribution sets the TrafficDistribution 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 TrafficDistribution field is set to the value of the last call.
|
|
func (b *ServiceSpecApplyConfiguration) WithTrafficDistribution(value string) *ServiceSpecApplyConfiguration {
|
|
b.TrafficDistribution = &value
|
|
return b
|
|
}
|