mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Adding Hints to EndpointSlice API
This commit is contained in:
parent
fe43948d44
commit
11f0944dbc
62
api/openapi-spec/swagger.json
generated
62
api/openapi-spec/swagger.json
generated
@ -11014,6 +11014,10 @@
|
|||||||
"description": "deprecatedTopology contains topology information part of the v1beta1 API. This field is deprecated, and will be removed when the v1beta1 API is removed (no sooner than kubernetes v1.24). While this field can hold values, it is not writable through the v1 API, and any attempts to write to it will be silently ignored. Topology information can be found in the zone and nodeName fields instead.",
|
"description": "deprecatedTopology contains topology information part of the v1beta1 API. This field is deprecated, and will be removed when the v1beta1 API is removed (no sooner than kubernetes v1.24). While this field can hold values, it is not writable through the v1 API, and any attempts to write to it will be silently ignored. Topology information can be found in the zone and nodeName fields instead.",
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"hints": {
|
||||||
|
"$ref": "#/definitions/io.k8s.api.discovery.v1.EndpointHints",
|
||||||
|
"description": "hints contains information associated with how an endpoint should be consumed."
|
||||||
|
},
|
||||||
"hostname": {
|
"hostname": {
|
||||||
"description": "hostname of this endpoint. This field may be used by consumers of endpoints to distinguish endpoints from each other (e.g. in DNS names). Multiple endpoints which use the same hostname should be considered fungible (e.g. multiple A values in DNS). Must be lowercase and pass DNS Label (RFC 1123) validation.",
|
"description": "hostname of this endpoint. This field may be used by consumers of endpoints to distinguish endpoints from each other (e.g. in DNS names). Multiple endpoints which use the same hostname should be considered fungible (e.g. multiple A values in DNS). Must be lowercase and pass DNS Label (RFC 1123) validation.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
@ -11054,6 +11058,20 @@
|
|||||||
},
|
},
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"io.k8s.api.discovery.v1.EndpointHints": {
|
||||||
|
"description": "EndpointHints provides hints describing how an endpoint should be consumed.",
|
||||||
|
"properties": {
|
||||||
|
"forZones": {
|
||||||
|
"description": "forZones indicates the zone(s) this endpoint should be consumed by to enable topology aware routing.",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/io.k8s.api.discovery.v1.ForZone"
|
||||||
|
},
|
||||||
|
"type": "array",
|
||||||
|
"x-kubernetes-list-type": "atomic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"io.k8s.api.discovery.v1.EndpointPort": {
|
"io.k8s.api.discovery.v1.EndpointPort": {
|
||||||
"description": "EndpointPort represents a Port used by an EndpointSlice",
|
"description": "EndpointPort represents a Port used by an EndpointSlice",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -11161,6 +11179,19 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"io.k8s.api.discovery.v1.ForZone": {
|
||||||
|
"description": "ForZone provides information about which zones should consume this endpoint.",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"description": "name represents the name of the zone.",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"name"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"io.k8s.api.discovery.v1beta1.Endpoint": {
|
"io.k8s.api.discovery.v1beta1.Endpoint": {
|
||||||
"description": "Endpoint represents a single logical \"backend\" implementing a service.",
|
"description": "Endpoint represents a single logical \"backend\" implementing a service.",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -11176,6 +11207,10 @@
|
|||||||
"$ref": "#/definitions/io.k8s.api.discovery.v1beta1.EndpointConditions",
|
"$ref": "#/definitions/io.k8s.api.discovery.v1beta1.EndpointConditions",
|
||||||
"description": "conditions contains information about the current status of the endpoint."
|
"description": "conditions contains information about the current status of the endpoint."
|
||||||
},
|
},
|
||||||
|
"hints": {
|
||||||
|
"$ref": "#/definitions/io.k8s.api.discovery.v1beta1.EndpointHints",
|
||||||
|
"description": "hints contains information associated with how an endpoint should be consumed."
|
||||||
|
},
|
||||||
"hostname": {
|
"hostname": {
|
||||||
"description": "hostname of this endpoint. This field may be used by consumers of endpoints to distinguish endpoints from each other (e.g. in DNS names). Multiple endpoints which use the same hostname should be considered fungible (e.g. multiple A values in DNS). Must be lowercase and pass DNS Label (RFC 1123) validation.",
|
"description": "hostname of this endpoint. This field may be used by consumers of endpoints to distinguish endpoints from each other (e.g. in DNS names). Multiple endpoints which use the same hostname should be considered fungible (e.g. multiple A values in DNS). Must be lowercase and pass DNS Label (RFC 1123) validation.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
@ -11219,6 +11254,20 @@
|
|||||||
},
|
},
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"io.k8s.api.discovery.v1beta1.EndpointHints": {
|
||||||
|
"description": "EndpointHints provides hints describing how an endpoint should be consumed.",
|
||||||
|
"properties": {
|
||||||
|
"forZones": {
|
||||||
|
"description": "forZones indicates the zone(s) this endpoint should be consumed by to enable topology aware routing. May contain a maximum of 8 entries.",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/io.k8s.api.discovery.v1beta1.ForZone"
|
||||||
|
},
|
||||||
|
"type": "array",
|
||||||
|
"x-kubernetes-list-type": "atomic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"io.k8s.api.discovery.v1beta1.EndpointPort": {
|
"io.k8s.api.discovery.v1beta1.EndpointPort": {
|
||||||
"description": "EndpointPort represents a Port used by an EndpointSlice",
|
"description": "EndpointPort represents a Port used by an EndpointSlice",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -11326,6 +11375,19 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"io.k8s.api.discovery.v1beta1.ForZone": {
|
||||||
|
"description": "ForZone provides information about which zones should consume this endpoint.",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"description": "name represents the name of the zone.",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"name"
|
||||||
|
],
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"io.k8s.api.events.v1.Event": {
|
"io.k8s.api.events.v1.Event": {
|
||||||
"description": "Event is a report of an event somewhere in the cluster. It generally denotes some state change in the system. Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given Reason reflecting a consistent underlying trigger, or the continued existence of events with that Reason. Events should be treated as informative, best-effort, supplemental data.",
|
"description": "Event is a report of an event somewhere in the cluster. It generally denotes some state change in the system. Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given Reason reflecting a consistent underlying trigger, or the continued existence of events with that Reason. Events should be treated as informative, best-effort, supplemental data.",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -116,4 +116,9 @@ const (
|
|||||||
//
|
//
|
||||||
// This annotation is alpha-level and is only honored when PodDeletionCost feature is enabled.
|
// This annotation is alpha-level and is only honored when PodDeletionCost feature is enabled.
|
||||||
PodDeletionCost = "controller.kubernetes.io/pod-deletion-cost"
|
PodDeletionCost = "controller.kubernetes.io/pod-deletion-cost"
|
||||||
|
|
||||||
|
// AnnotationTopologyAwareHints can be used to enable or disable Topology
|
||||||
|
// Aware Hints for a Service. This may be set to "auto" or "disabled". Any
|
||||||
|
// other value is treated as "disabled".
|
||||||
|
AnnotationTopologyAwareHints = "service.kubernetes.io/topology-aware-hints"
|
||||||
)
|
)
|
||||||
|
@ -100,6 +100,11 @@ type Endpoint struct {
|
|||||||
// zone is the name of the Zone this endpoint exists in.
|
// zone is the name of the Zone this endpoint exists in.
|
||||||
// +optional
|
// +optional
|
||||||
Zone *string
|
Zone *string
|
||||||
|
// hints contains information associated with how an endpoint should be
|
||||||
|
// consumed.
|
||||||
|
// +featureGate=TopologyAwareHints
|
||||||
|
// +optional
|
||||||
|
Hints *EndpointHints
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointConditions represents the current condition of an endpoint.
|
// EndpointConditions represents the current condition of an endpoint.
|
||||||
@ -127,6 +132,19 @@ type EndpointConditions struct {
|
|||||||
Terminating *bool
|
Terminating *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EndpointHints provides hints describing how an endpoint should be consumed.
|
||||||
|
type EndpointHints struct {
|
||||||
|
// forZones indicates the zone(s) this endpoint should be consumed by to
|
||||||
|
// enable topology aware routing. May contain a maximum of 8 entries.
|
||||||
|
ForZones []ForZone
|
||||||
|
}
|
||||||
|
|
||||||
|
// ForZone provides information about which zones should consume this endpoint.
|
||||||
|
type ForZone struct {
|
||||||
|
// name represents the name of the zone.
|
||||||
|
Name string
|
||||||
|
}
|
||||||
|
|
||||||
// EndpointPort represents a Port used by an EndpointSlice.
|
// EndpointPort represents a Port used by an EndpointSlice.
|
||||||
type EndpointPort struct {
|
type EndpointPort struct {
|
||||||
// The name of this port. All ports in an EndpointSlice must have a unique
|
// The name of this port. All ports in an EndpointSlice must have a unique
|
||||||
|
62
pkg/apis/discovery/v1/zz_generated.conversion.go
generated
62
pkg/apis/discovery/v1/zz_generated.conversion.go
generated
@ -58,6 +58,16 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*v1.EndpointHints)(nil), (*discovery.EndpointHints)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1_EndpointHints_To_discovery_EndpointHints(a.(*v1.EndpointHints), b.(*discovery.EndpointHints), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*discovery.EndpointHints)(nil), (*v1.EndpointHints)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_discovery_EndpointHints_To_v1_EndpointHints(a.(*discovery.EndpointHints), b.(*v1.EndpointHints), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := s.AddGeneratedConversionFunc((*v1.EndpointPort)(nil), (*discovery.EndpointPort)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddGeneratedConversionFunc((*v1.EndpointPort)(nil), (*discovery.EndpointPort)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1_EndpointPort_To_discovery_EndpointPort(a.(*v1.EndpointPort), b.(*discovery.EndpointPort), scope)
|
return Convert_v1_EndpointPort_To_discovery_EndpointPort(a.(*v1.EndpointPort), b.(*discovery.EndpointPort), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@ -88,6 +98,16 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*v1.ForZone)(nil), (*discovery.ForZone)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1_ForZone_To_discovery_ForZone(a.(*v1.ForZone), b.(*discovery.ForZone), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*discovery.ForZone)(nil), (*v1.ForZone)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_discovery_ForZone_To_v1_ForZone(a.(*discovery.ForZone), b.(*v1.ForZone), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,6 +121,7 @@ func autoConvert_v1_Endpoint_To_discovery_Endpoint(in *v1.Endpoint, out *discove
|
|||||||
out.DeprecatedTopology = *(*map[string]string)(unsafe.Pointer(&in.DeprecatedTopology))
|
out.DeprecatedTopology = *(*map[string]string)(unsafe.Pointer(&in.DeprecatedTopology))
|
||||||
out.NodeName = (*string)(unsafe.Pointer(in.NodeName))
|
out.NodeName = (*string)(unsafe.Pointer(in.NodeName))
|
||||||
out.Zone = (*string)(unsafe.Pointer(in.Zone))
|
out.Zone = (*string)(unsafe.Pointer(in.Zone))
|
||||||
|
out.Hints = (*discovery.EndpointHints)(unsafe.Pointer(in.Hints))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,6 +140,7 @@ func autoConvert_discovery_Endpoint_To_v1_Endpoint(in *discovery.Endpoint, out *
|
|||||||
out.DeprecatedTopology = *(*map[string]string)(unsafe.Pointer(&in.DeprecatedTopology))
|
out.DeprecatedTopology = *(*map[string]string)(unsafe.Pointer(&in.DeprecatedTopology))
|
||||||
out.NodeName = (*string)(unsafe.Pointer(in.NodeName))
|
out.NodeName = (*string)(unsafe.Pointer(in.NodeName))
|
||||||
out.Zone = (*string)(unsafe.Pointer(in.Zone))
|
out.Zone = (*string)(unsafe.Pointer(in.Zone))
|
||||||
|
out.Hints = (*v1.EndpointHints)(unsafe.Pointer(in.Hints))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,6 +173,26 @@ func Convert_discovery_EndpointConditions_To_v1_EndpointConditions(in *discovery
|
|||||||
return autoConvert_discovery_EndpointConditions_To_v1_EndpointConditions(in, out, s)
|
return autoConvert_discovery_EndpointConditions_To_v1_EndpointConditions(in, out, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1_EndpointHints_To_discovery_EndpointHints(in *v1.EndpointHints, out *discovery.EndpointHints, s conversion.Scope) error {
|
||||||
|
out.ForZones = *(*[]discovery.ForZone)(unsafe.Pointer(&in.ForZones))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_v1_EndpointHints_To_discovery_EndpointHints is an autogenerated conversion function.
|
||||||
|
func Convert_v1_EndpointHints_To_discovery_EndpointHints(in *v1.EndpointHints, out *discovery.EndpointHints, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1_EndpointHints_To_discovery_EndpointHints(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_discovery_EndpointHints_To_v1_EndpointHints(in *discovery.EndpointHints, out *v1.EndpointHints, s conversion.Scope) error {
|
||||||
|
out.ForZones = *(*[]v1.ForZone)(unsafe.Pointer(&in.ForZones))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_discovery_EndpointHints_To_v1_EndpointHints is an autogenerated conversion function.
|
||||||
|
func Convert_discovery_EndpointHints_To_v1_EndpointHints(in *discovery.EndpointHints, out *v1.EndpointHints, s conversion.Scope) error {
|
||||||
|
return autoConvert_discovery_EndpointHints_To_v1_EndpointHints(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
func autoConvert_v1_EndpointPort_To_discovery_EndpointPort(in *v1.EndpointPort, out *discovery.EndpointPort, s conversion.Scope) error {
|
func autoConvert_v1_EndpointPort_To_discovery_EndpointPort(in *v1.EndpointPort, out *discovery.EndpointPort, s conversion.Scope) error {
|
||||||
out.Name = (*string)(unsafe.Pointer(in.Name))
|
out.Name = (*string)(unsafe.Pointer(in.Name))
|
||||||
out.Protocol = (*core.Protocol)(unsafe.Pointer(in.Protocol))
|
out.Protocol = (*core.Protocol)(unsafe.Pointer(in.Protocol))
|
||||||
@ -224,3 +266,23 @@ func autoConvert_discovery_EndpointSliceList_To_v1_EndpointSliceList(in *discove
|
|||||||
func Convert_discovery_EndpointSliceList_To_v1_EndpointSliceList(in *discovery.EndpointSliceList, out *v1.EndpointSliceList, s conversion.Scope) error {
|
func Convert_discovery_EndpointSliceList_To_v1_EndpointSliceList(in *discovery.EndpointSliceList, out *v1.EndpointSliceList, s conversion.Scope) error {
|
||||||
return autoConvert_discovery_EndpointSliceList_To_v1_EndpointSliceList(in, out, s)
|
return autoConvert_discovery_EndpointSliceList_To_v1_EndpointSliceList(in, out, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1_ForZone_To_discovery_ForZone(in *v1.ForZone, out *discovery.ForZone, s conversion.Scope) error {
|
||||||
|
out.Name = in.Name
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_v1_ForZone_To_discovery_ForZone is an autogenerated conversion function.
|
||||||
|
func Convert_v1_ForZone_To_discovery_ForZone(in *v1.ForZone, out *discovery.ForZone, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1_ForZone_To_discovery_ForZone(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_discovery_ForZone_To_v1_ForZone(in *discovery.ForZone, out *v1.ForZone, s conversion.Scope) error {
|
||||||
|
out.Name = in.Name
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_discovery_ForZone_To_v1_ForZone is an autogenerated conversion function.
|
||||||
|
func Convert_discovery_ForZone_To_v1_ForZone(in *discovery.ForZone, out *v1.ForZone, s conversion.Scope) error {
|
||||||
|
return autoConvert_discovery_ForZone_To_v1_ForZone(in, out, s)
|
||||||
|
}
|
||||||
|
@ -48,6 +48,16 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*v1beta1.EndpointHints)(nil), (*discovery.EndpointHints)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1beta1_EndpointHints_To_discovery_EndpointHints(a.(*v1beta1.EndpointHints), b.(*discovery.EndpointHints), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*discovery.EndpointHints)(nil), (*v1beta1.EndpointHints)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_discovery_EndpointHints_To_v1beta1_EndpointHints(a.(*discovery.EndpointHints), b.(*v1beta1.EndpointHints), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := s.AddGeneratedConversionFunc((*v1beta1.EndpointPort)(nil), (*discovery.EndpointPort)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddGeneratedConversionFunc((*v1beta1.EndpointPort)(nil), (*discovery.EndpointPort)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_v1beta1_EndpointPort_To_discovery_EndpointPort(a.(*v1beta1.EndpointPort), b.(*discovery.EndpointPort), scope)
|
return Convert_v1beta1_EndpointPort_To_discovery_EndpointPort(a.(*v1beta1.EndpointPort), b.(*discovery.EndpointPort), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@ -78,6 +88,16 @@ func RegisterConversions(s *runtime.Scheme) error {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*v1beta1.ForZone)(nil), (*discovery.ForZone)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_v1beta1_ForZone_To_discovery_ForZone(a.(*v1beta1.ForZone), b.(*discovery.ForZone), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := s.AddGeneratedConversionFunc((*discovery.ForZone)(nil), (*v1beta1.ForZone)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
|
return Convert_discovery_ForZone_To_v1beta1_ForZone(a.(*discovery.ForZone), b.(*v1beta1.ForZone), scope)
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
if err := s.AddConversionFunc((*discovery.Endpoint)(nil), (*v1beta1.Endpoint)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
if err := s.AddConversionFunc((*discovery.Endpoint)(nil), (*v1beta1.Endpoint)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||||
return Convert_discovery_Endpoint_To_v1beta1_Endpoint(a.(*discovery.Endpoint), b.(*v1beta1.Endpoint), scope)
|
return Convert_discovery_Endpoint_To_v1beta1_Endpoint(a.(*discovery.Endpoint), b.(*v1beta1.Endpoint), scope)
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
@ -100,6 +120,7 @@ func autoConvert_v1beta1_Endpoint_To_discovery_Endpoint(in *v1beta1.Endpoint, ou
|
|||||||
out.TargetRef = (*core.ObjectReference)(unsafe.Pointer(in.TargetRef))
|
out.TargetRef = (*core.ObjectReference)(unsafe.Pointer(in.TargetRef))
|
||||||
// WARNING: in.Topology requires manual conversion: does not exist in peer-type
|
// WARNING: in.Topology requires manual conversion: does not exist in peer-type
|
||||||
out.NodeName = (*string)(unsafe.Pointer(in.NodeName))
|
out.NodeName = (*string)(unsafe.Pointer(in.NodeName))
|
||||||
|
out.Hints = (*discovery.EndpointHints)(unsafe.Pointer(in.Hints))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,6 +134,7 @@ func autoConvert_discovery_Endpoint_To_v1beta1_Endpoint(in *discovery.Endpoint,
|
|||||||
// WARNING: in.DeprecatedTopology requires manual conversion: does not exist in peer-type
|
// WARNING: in.DeprecatedTopology requires manual conversion: does not exist in peer-type
|
||||||
out.NodeName = (*string)(unsafe.Pointer(in.NodeName))
|
out.NodeName = (*string)(unsafe.Pointer(in.NodeName))
|
||||||
// WARNING: in.Zone requires manual conversion: does not exist in peer-type
|
// WARNING: in.Zone requires manual conversion: does not exist in peer-type
|
||||||
|
out.Hints = (*v1beta1.EndpointHints)(unsafe.Pointer(in.Hints))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,6 +162,26 @@ func Convert_discovery_EndpointConditions_To_v1beta1_EndpointConditions(in *disc
|
|||||||
return autoConvert_discovery_EndpointConditions_To_v1beta1_EndpointConditions(in, out, s)
|
return autoConvert_discovery_EndpointConditions_To_v1beta1_EndpointConditions(in, out, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1beta1_EndpointHints_To_discovery_EndpointHints(in *v1beta1.EndpointHints, out *discovery.EndpointHints, s conversion.Scope) error {
|
||||||
|
out.ForZones = *(*[]discovery.ForZone)(unsafe.Pointer(&in.ForZones))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_v1beta1_EndpointHints_To_discovery_EndpointHints is an autogenerated conversion function.
|
||||||
|
func Convert_v1beta1_EndpointHints_To_discovery_EndpointHints(in *v1beta1.EndpointHints, out *discovery.EndpointHints, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1beta1_EndpointHints_To_discovery_EndpointHints(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_discovery_EndpointHints_To_v1beta1_EndpointHints(in *discovery.EndpointHints, out *v1beta1.EndpointHints, s conversion.Scope) error {
|
||||||
|
out.ForZones = *(*[]v1beta1.ForZone)(unsafe.Pointer(&in.ForZones))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_discovery_EndpointHints_To_v1beta1_EndpointHints is an autogenerated conversion function.
|
||||||
|
func Convert_discovery_EndpointHints_To_v1beta1_EndpointHints(in *discovery.EndpointHints, out *v1beta1.EndpointHints, s conversion.Scope) error {
|
||||||
|
return autoConvert_discovery_EndpointHints_To_v1beta1_EndpointHints(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
func autoConvert_v1beta1_EndpointPort_To_discovery_EndpointPort(in *v1beta1.EndpointPort, out *discovery.EndpointPort, s conversion.Scope) error {
|
func autoConvert_v1beta1_EndpointPort_To_discovery_EndpointPort(in *v1beta1.EndpointPort, out *discovery.EndpointPort, s conversion.Scope) error {
|
||||||
out.Name = (*string)(unsafe.Pointer(in.Name))
|
out.Name = (*string)(unsafe.Pointer(in.Name))
|
||||||
out.Protocol = (*core.Protocol)(unsafe.Pointer(in.Protocol))
|
out.Protocol = (*core.Protocol)(unsafe.Pointer(in.Protocol))
|
||||||
@ -253,3 +295,23 @@ func autoConvert_discovery_EndpointSliceList_To_v1beta1_EndpointSliceList(in *di
|
|||||||
func Convert_discovery_EndpointSliceList_To_v1beta1_EndpointSliceList(in *discovery.EndpointSliceList, out *v1beta1.EndpointSliceList, s conversion.Scope) error {
|
func Convert_discovery_EndpointSliceList_To_v1beta1_EndpointSliceList(in *discovery.EndpointSliceList, out *v1beta1.EndpointSliceList, s conversion.Scope) error {
|
||||||
return autoConvert_discovery_EndpointSliceList_To_v1beta1_EndpointSliceList(in, out, s)
|
return autoConvert_discovery_EndpointSliceList_To_v1beta1_EndpointSliceList(in, out, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func autoConvert_v1beta1_ForZone_To_discovery_ForZone(in *v1beta1.ForZone, out *discovery.ForZone, s conversion.Scope) error {
|
||||||
|
out.Name = in.Name
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_v1beta1_ForZone_To_discovery_ForZone is an autogenerated conversion function.
|
||||||
|
func Convert_v1beta1_ForZone_To_discovery_ForZone(in *v1beta1.ForZone, out *discovery.ForZone, s conversion.Scope) error {
|
||||||
|
return autoConvert_v1beta1_ForZone_To_discovery_ForZone(in, out, s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoConvert_discovery_ForZone_To_v1beta1_ForZone(in *discovery.ForZone, out *v1beta1.ForZone, s conversion.Scope) error {
|
||||||
|
out.Name = in.Name
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert_discovery_ForZone_To_v1beta1_ForZone is an autogenerated conversion function.
|
||||||
|
func Convert_discovery_ForZone_To_v1beta1_ForZone(in *discovery.ForZone, out *v1beta1.ForZone, s conversion.Scope) error {
|
||||||
|
return autoConvert_discovery_ForZone_To_v1beta1_ForZone(in, out, s)
|
||||||
|
}
|
||||||
|
@ -45,6 +45,7 @@ var (
|
|||||||
maxAddresses = 100
|
maxAddresses = 100
|
||||||
maxPorts = 20000
|
maxPorts = 20000
|
||||||
maxEndpoints = 1000
|
maxEndpoints = 1000
|
||||||
|
maxZoneHints = 8
|
||||||
)
|
)
|
||||||
|
|
||||||
// ValidateEndpointSliceName can be used to check whether the given endpoint
|
// ValidateEndpointSliceName can be used to check whether the given endpoint
|
||||||
@ -125,6 +126,10 @@ func validateEndpoints(endpoints []discovery.Endpoint, addrType discovery.Addres
|
|||||||
if endpoint.Hostname != nil {
|
if endpoint.Hostname != nil {
|
||||||
allErrs = append(allErrs, apivalidation.ValidateDNS1123Label(*endpoint.Hostname, idxPath.Child("hostname"))...)
|
allErrs = append(allErrs, apivalidation.ValidateDNS1123Label(*endpoint.Hostname, idxPath.Child("hostname"))...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if endpoint.Hints != nil {
|
||||||
|
allErrs = append(allErrs, validateHints(endpoint.Hints, idxPath.Child("hints"))...)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return allErrs
|
return allErrs
|
||||||
@ -179,3 +184,29 @@ func validateAddressType(addressType discovery.AddressType) field.ErrorList {
|
|||||||
|
|
||||||
return allErrs
|
return allErrs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func validateHints(endpointHints *discovery.EndpointHints, fldPath *field.Path) field.ErrorList {
|
||||||
|
allErrs := field.ErrorList{}
|
||||||
|
|
||||||
|
fzPath := fldPath.Child("forZones")
|
||||||
|
if len(endpointHints.ForZones) > maxZoneHints {
|
||||||
|
allErrs = append(allErrs, field.TooMany(fzPath, len(endpointHints.ForZones), maxZoneHints))
|
||||||
|
return allErrs
|
||||||
|
}
|
||||||
|
|
||||||
|
zoneNames := sets.String{}
|
||||||
|
for i, forZone := range endpointHints.ForZones {
|
||||||
|
zonePath := fzPath.Index(i).Child("name")
|
||||||
|
if zoneNames.Has(forZone.Name) {
|
||||||
|
allErrs = append(allErrs, field.Duplicate(zonePath, forZone.Name))
|
||||||
|
} else {
|
||||||
|
zoneNames.Insert(forZone.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, msg := range validation.IsValidLabelValue(forZone.Name) {
|
||||||
|
allErrs = append(allErrs, field.Invalid(zonePath, forZone.Name, msg))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return allErrs
|
||||||
|
}
|
||||||
|
@ -203,6 +203,23 @@ func TestValidateEndpointSlice(t *testing.T) {
|
|||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"valid-hints": {
|
||||||
|
expectedErrors: 0,
|
||||||
|
endpointSlice: &discovery.EndpointSlice{
|
||||||
|
ObjectMeta: standardMeta,
|
||||||
|
AddressType: discovery.AddressTypeIPv4,
|
||||||
|
Ports: []discovery.EndpointPort{{
|
||||||
|
Name: utilpointer.StringPtr("http"),
|
||||||
|
Protocol: protocolPtr(api.ProtocolTCP),
|
||||||
|
}},
|
||||||
|
Endpoints: []discovery.Endpoint{{
|
||||||
|
Addresses: generateIPAddresses(1),
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-a"}},
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
// expected failures
|
// expected failures
|
||||||
"duplicate-port-name": {
|
"duplicate-port-name": {
|
||||||
@ -451,6 +468,71 @@ func TestValidateEndpointSlice(t *testing.T) {
|
|||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"invalid-hints": {
|
||||||
|
expectedErrors: 1,
|
||||||
|
endpointSlice: &discovery.EndpointSlice{
|
||||||
|
ObjectMeta: standardMeta,
|
||||||
|
AddressType: discovery.AddressTypeIPv4,
|
||||||
|
Ports: []discovery.EndpointPort{{
|
||||||
|
Name: utilpointer.StringPtr("http"),
|
||||||
|
Protocol: protocolPtr(api.ProtocolTCP),
|
||||||
|
}},
|
||||||
|
Endpoints: []discovery.Endpoint{{
|
||||||
|
Addresses: generateIPAddresses(1),
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "inv@lid"}},
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"overlapping-hints": {
|
||||||
|
expectedErrors: 1,
|
||||||
|
endpointSlice: &discovery.EndpointSlice{
|
||||||
|
ObjectMeta: standardMeta,
|
||||||
|
AddressType: discovery.AddressTypeIPv4,
|
||||||
|
Ports: []discovery.EndpointPort{{
|
||||||
|
Name: utilpointer.StringPtr("http"),
|
||||||
|
Protocol: protocolPtr(api.ProtocolTCP),
|
||||||
|
}},
|
||||||
|
Endpoints: []discovery.Endpoint{{
|
||||||
|
Addresses: generateIPAddresses(1),
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{
|
||||||
|
{Name: "zone-a"},
|
||||||
|
{Name: "zone-b"},
|
||||||
|
{Name: "zone-a"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"too-many-hints": {
|
||||||
|
expectedErrors: 1,
|
||||||
|
endpointSlice: &discovery.EndpointSlice{
|
||||||
|
ObjectMeta: standardMeta,
|
||||||
|
AddressType: discovery.AddressTypeIPv4,
|
||||||
|
Ports: []discovery.EndpointPort{{
|
||||||
|
Name: utilpointer.StringPtr("http"),
|
||||||
|
Protocol: protocolPtr(api.ProtocolTCP),
|
||||||
|
}},
|
||||||
|
Endpoints: []discovery.Endpoint{{
|
||||||
|
Addresses: generateIPAddresses(1),
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{
|
||||||
|
{Name: "zone-a"},
|
||||||
|
{Name: "zone-b"},
|
||||||
|
{Name: "zone-c"},
|
||||||
|
{Name: "zone-d"},
|
||||||
|
{Name: "zone-e"},
|
||||||
|
{Name: "zone-f"},
|
||||||
|
{Name: "zone-g"},
|
||||||
|
{Name: "zone-h"},
|
||||||
|
{Name: "zone-i"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
},
|
||||||
"empty-everything": {
|
"empty-everything": {
|
||||||
expectedErrors: 3,
|
expectedErrors: 3,
|
||||||
endpointSlice: &discovery.EndpointSlice{},
|
endpointSlice: &discovery.EndpointSlice{},
|
||||||
|
42
pkg/apis/discovery/zz_generated.deepcopy.go
generated
42
pkg/apis/discovery/zz_generated.deepcopy.go
generated
@ -61,6 +61,11 @@ func (in *Endpoint) DeepCopyInto(out *Endpoint) {
|
|||||||
*out = new(string)
|
*out = new(string)
|
||||||
**out = **in
|
**out = **in
|
||||||
}
|
}
|
||||||
|
if in.Hints != nil {
|
||||||
|
in, out := &in.Hints, &out.Hints
|
||||||
|
*out = new(EndpointHints)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,6 +110,27 @@ func (in *EndpointConditions) DeepCopy() *EndpointConditions {
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *EndpointHints) DeepCopyInto(out *EndpointHints) {
|
||||||
|
*out = *in
|
||||||
|
if in.ForZones != nil {
|
||||||
|
in, out := &in.ForZones, &out.ForZones
|
||||||
|
*out = make([]ForZone, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointHints.
|
||||||
|
func (in *EndpointHints) DeepCopy() *EndpointHints {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(EndpointHints)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *EndpointPort) DeepCopyInto(out *EndpointPort) {
|
func (in *EndpointPort) DeepCopyInto(out *EndpointPort) {
|
||||||
*out = *in
|
*out = *in
|
||||||
@ -213,3 +239,19 @@ func (in *EndpointSliceList) DeepCopyObject() runtime.Object {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *ForZone) DeepCopyInto(out *ForZone) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForZone.
|
||||||
|
func (in *ForZone) DeepCopy() *ForZone {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(ForZone)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
@ -111,13 +111,17 @@ func (endpointSliceStrategy) AllowUnconditionalUpdate() bool {
|
|||||||
// dropDisabledConditionsOnCreate will drop any fields that are disabled.
|
// dropDisabledConditionsOnCreate will drop any fields that are disabled.
|
||||||
func dropDisabledFieldsOnCreate(endpointSlice *discovery.EndpointSlice) {
|
func dropDisabledFieldsOnCreate(endpointSlice *discovery.EndpointSlice) {
|
||||||
dropTerminating := !utilfeature.DefaultFeatureGate.Enabled(features.EndpointSliceTerminatingCondition)
|
dropTerminating := !utilfeature.DefaultFeatureGate.Enabled(features.EndpointSliceTerminatingCondition)
|
||||||
|
dropHints := !utilfeature.DefaultFeatureGate.Enabled(features.TopologyAwareHints)
|
||||||
|
|
||||||
if dropTerminating {
|
if dropHints || dropTerminating {
|
||||||
for i := range endpointSlice.Endpoints {
|
for i := range endpointSlice.Endpoints {
|
||||||
if dropTerminating {
|
if dropTerminating {
|
||||||
endpointSlice.Endpoints[i].Conditions.Serving = nil
|
endpointSlice.Endpoints[i].Conditions.Serving = nil
|
||||||
endpointSlice.Endpoints[i].Conditions.Terminating = nil
|
endpointSlice.Endpoints[i].Conditions.Terminating = nil
|
||||||
}
|
}
|
||||||
|
if dropHints {
|
||||||
|
endpointSlice.Endpoints[i].Hints = nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -135,12 +139,25 @@ func dropDisabledFieldsOnUpdate(oldEPS, newEPS *discovery.EndpointSlice) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if dropTerminating {
|
dropHints := !utilfeature.DefaultFeatureGate.Enabled(features.TopologyAwareHints)
|
||||||
|
if dropHints {
|
||||||
|
for _, ep := range oldEPS.Endpoints {
|
||||||
|
if ep.Hints != nil {
|
||||||
|
dropHints = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if dropHints || dropTerminating {
|
||||||
for i := range newEPS.Endpoints {
|
for i := range newEPS.Endpoints {
|
||||||
if dropTerminating {
|
if dropTerminating {
|
||||||
newEPS.Endpoints[i].Conditions.Serving = nil
|
newEPS.Endpoints[i].Conditions.Serving = nil
|
||||||
newEPS.Endpoints[i].Conditions.Terminating = nil
|
newEPS.Endpoints[i].Conditions.Terminating = nil
|
||||||
}
|
}
|
||||||
|
if dropHints {
|
||||||
|
newEPS.Endpoints[i].Hints = nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ func Test_dropDisabledFieldsOnCreate(t *testing.T) {
|
|||||||
testcases := []struct {
|
testcases := []struct {
|
||||||
name string
|
name string
|
||||||
terminatingGateEnabled bool
|
terminatingGateEnabled bool
|
||||||
|
hintsGateEnabled bool
|
||||||
eps *discovery.EndpointSlice
|
eps *discovery.EndpointSlice
|
||||||
expectedEPS *discovery.EndpointSlice
|
expectedEPS *discovery.EndpointSlice
|
||||||
}{
|
}{
|
||||||
@ -162,6 +163,7 @@ func Test_dropDisabledFieldsOnCreate(t *testing.T) {
|
|||||||
for _, testcase := range testcases {
|
for _, testcase := range testcases {
|
||||||
t.Run(testcase.name, func(t *testing.T) {
|
t.Run(testcase.name, func(t *testing.T) {
|
||||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.EndpointSliceTerminatingCondition, testcase.terminatingGateEnabled)()
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.EndpointSliceTerminatingCondition, testcase.terminatingGateEnabled)()
|
||||||
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.TopologyAwareHints, testcase.hintsGateEnabled)()
|
||||||
|
|
||||||
dropDisabledFieldsOnCreate(testcase.eps)
|
dropDisabledFieldsOnCreate(testcase.eps)
|
||||||
if !apiequality.Semantic.DeepEqual(testcase.eps, testcase.expectedEPS) {
|
if !apiequality.Semantic.DeepEqual(testcase.eps, testcase.expectedEPS) {
|
||||||
@ -177,6 +179,7 @@ func Test_dropDisabledFieldsOnUpdate(t *testing.T) {
|
|||||||
testcases := []struct {
|
testcases := []struct {
|
||||||
name string
|
name string
|
||||||
terminatingGateEnabled bool
|
terminatingGateEnabled bool
|
||||||
|
hintsGateEnabled bool
|
||||||
oldEPS *discovery.EndpointSlice
|
oldEPS *discovery.EndpointSlice
|
||||||
newEPS *discovery.EndpointSlice
|
newEPS *discovery.EndpointSlice
|
||||||
expectedEPS *discovery.EndpointSlice
|
expectedEPS *discovery.EndpointSlice
|
||||||
@ -524,11 +527,138 @@ func Test_dropDisabledFieldsOnUpdate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "hints gate enabled, set on new EPS",
|
||||||
|
hintsGateEnabled: true,
|
||||||
|
oldEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: nil,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
newEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-a"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-b"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
expectedEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-a"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-b"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hints gate disabled, set on new EPS",
|
||||||
|
hintsGateEnabled: false,
|
||||||
|
oldEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: nil,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
newEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-a"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-b"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
expectedEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: nil,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "hints gate disabled, set on new and old EPS",
|
||||||
|
hintsGateEnabled: false,
|
||||||
|
oldEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-a-old"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-b-old"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
newEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-a"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-b"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
expectedEPS: &discovery.EndpointSlice{
|
||||||
|
Endpoints: []discovery.Endpoint{
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-a"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hints: &discovery.EndpointHints{
|
||||||
|
ForZones: []discovery.ForZone{{Name: "zone-b"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, testcase := range testcases {
|
for _, testcase := range testcases {
|
||||||
t.Run(testcase.name, func(t *testing.T) {
|
t.Run(testcase.name, func(t *testing.T) {
|
||||||
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.EndpointSliceTerminatingCondition, testcase.terminatingGateEnabled)()
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.EndpointSliceTerminatingCondition, testcase.terminatingGateEnabled)()
|
||||||
|
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.TopologyAwareHints, testcase.hintsGateEnabled)()
|
||||||
|
|
||||||
dropDisabledFieldsOnUpdate(testcase.oldEPS, testcase.newEPS)
|
dropDisabledFieldsOnUpdate(testcase.oldEPS, testcase.newEPS)
|
||||||
if !apiequality.Semantic.DeepEqual(testcase.newEPS, testcase.expectedEPS) {
|
if !apiequality.Semantic.DeepEqual(testcase.newEPS, testcase.expectedEPS) {
|
||||||
|
@ -138,4 +138,9 @@ const (
|
|||||||
//
|
//
|
||||||
// This annotation is alpha-level and is only honored when PodDeletionCost feature is enabled.
|
// This annotation is alpha-level and is only honored when PodDeletionCost feature is enabled.
|
||||||
PodDeletionCost = "controller.kubernetes.io/pod-deletion-cost"
|
PodDeletionCost = "controller.kubernetes.io/pod-deletion-cost"
|
||||||
|
|
||||||
|
// AnnotationTopologyAwareHints can be used to enable or disable Topology
|
||||||
|
// Aware Hints for a Service. This may be set to "auto" or "disabled". Any
|
||||||
|
// other value is treated as "disabled".
|
||||||
|
AnnotationTopologyAwareHints = "service.kubernetes.io/topology-aware-hints"
|
||||||
)
|
)
|
||||||
|
509
staging/src/k8s.io/api/discovery/v1/generated.pb.go
generated
509
staging/src/k8s.io/api/discovery/v1/generated.pb.go
generated
@ -102,10 +102,38 @@ func (m *EndpointConditions) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_EndpointConditions proto.InternalMessageInfo
|
var xxx_messageInfo_EndpointConditions proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *EndpointHints) Reset() { *m = EndpointHints{} }
|
||||||
|
func (*EndpointHints) ProtoMessage() {}
|
||||||
|
func (*EndpointHints) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_3a5d310fb1396ddf, []int{2}
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_Unmarshal(b []byte) error {
|
||||||
|
return m.Unmarshal(b)
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
b = b[:cap(b)]
|
||||||
|
n, err := m.MarshalToSizedBuffer(b)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return b[:n], nil
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_EndpointHints.Merge(m, src)
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_Size() int {
|
||||||
|
return m.Size()
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_EndpointHints.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_EndpointHints proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *EndpointPort) Reset() { *m = EndpointPort{} }
|
func (m *EndpointPort) Reset() { *m = EndpointPort{} }
|
||||||
func (*EndpointPort) ProtoMessage() {}
|
func (*EndpointPort) ProtoMessage() {}
|
||||||
func (*EndpointPort) Descriptor() ([]byte, []int) {
|
func (*EndpointPort) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_3a5d310fb1396ddf, []int{2}
|
return fileDescriptor_3a5d310fb1396ddf, []int{3}
|
||||||
}
|
}
|
||||||
func (m *EndpointPort) XXX_Unmarshal(b []byte) error {
|
func (m *EndpointPort) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -133,7 +161,7 @@ var xxx_messageInfo_EndpointPort proto.InternalMessageInfo
|
|||||||
func (m *EndpointSlice) Reset() { *m = EndpointSlice{} }
|
func (m *EndpointSlice) Reset() { *m = EndpointSlice{} }
|
||||||
func (*EndpointSlice) ProtoMessage() {}
|
func (*EndpointSlice) ProtoMessage() {}
|
||||||
func (*EndpointSlice) Descriptor() ([]byte, []int) {
|
func (*EndpointSlice) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_3a5d310fb1396ddf, []int{3}
|
return fileDescriptor_3a5d310fb1396ddf, []int{4}
|
||||||
}
|
}
|
||||||
func (m *EndpointSlice) XXX_Unmarshal(b []byte) error {
|
func (m *EndpointSlice) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -161,7 +189,7 @@ var xxx_messageInfo_EndpointSlice proto.InternalMessageInfo
|
|||||||
func (m *EndpointSliceList) Reset() { *m = EndpointSliceList{} }
|
func (m *EndpointSliceList) Reset() { *m = EndpointSliceList{} }
|
||||||
func (*EndpointSliceList) ProtoMessage() {}
|
func (*EndpointSliceList) ProtoMessage() {}
|
||||||
func (*EndpointSliceList) Descriptor() ([]byte, []int) {
|
func (*EndpointSliceList) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_3a5d310fb1396ddf, []int{4}
|
return fileDescriptor_3a5d310fb1396ddf, []int{5}
|
||||||
}
|
}
|
||||||
func (m *EndpointSliceList) XXX_Unmarshal(b []byte) error {
|
func (m *EndpointSliceList) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -186,13 +214,43 @@ func (m *EndpointSliceList) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_EndpointSliceList proto.InternalMessageInfo
|
var xxx_messageInfo_EndpointSliceList proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *ForZone) Reset() { *m = ForZone{} }
|
||||||
|
func (*ForZone) ProtoMessage() {}
|
||||||
|
func (*ForZone) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_3a5d310fb1396ddf, []int{6}
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_Unmarshal(b []byte) error {
|
||||||
|
return m.Unmarshal(b)
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
b = b[:cap(b)]
|
||||||
|
n, err := m.MarshalToSizedBuffer(b)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return b[:n], nil
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_ForZone.Merge(m, src)
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_Size() int {
|
||||||
|
return m.Size()
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_ForZone.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_ForZone proto.InternalMessageInfo
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterType((*Endpoint)(nil), "k8s.io.api.discovery.v1.Endpoint")
|
proto.RegisterType((*Endpoint)(nil), "k8s.io.api.discovery.v1.Endpoint")
|
||||||
proto.RegisterMapType((map[string]string)(nil), "k8s.io.api.discovery.v1.Endpoint.DeprecatedTopologyEntry")
|
proto.RegisterMapType((map[string]string)(nil), "k8s.io.api.discovery.v1.Endpoint.DeprecatedTopologyEntry")
|
||||||
proto.RegisterType((*EndpointConditions)(nil), "k8s.io.api.discovery.v1.EndpointConditions")
|
proto.RegisterType((*EndpointConditions)(nil), "k8s.io.api.discovery.v1.EndpointConditions")
|
||||||
|
proto.RegisterType((*EndpointHints)(nil), "k8s.io.api.discovery.v1.EndpointHints")
|
||||||
proto.RegisterType((*EndpointPort)(nil), "k8s.io.api.discovery.v1.EndpointPort")
|
proto.RegisterType((*EndpointPort)(nil), "k8s.io.api.discovery.v1.EndpointPort")
|
||||||
proto.RegisterType((*EndpointSlice)(nil), "k8s.io.api.discovery.v1.EndpointSlice")
|
proto.RegisterType((*EndpointSlice)(nil), "k8s.io.api.discovery.v1.EndpointSlice")
|
||||||
proto.RegisterType((*EndpointSliceList)(nil), "k8s.io.api.discovery.v1.EndpointSliceList")
|
proto.RegisterType((*EndpointSliceList)(nil), "k8s.io.api.discovery.v1.EndpointSliceList")
|
||||||
|
proto.RegisterType((*ForZone)(nil), "k8s.io.api.discovery.v1.ForZone")
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -200,59 +258,63 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptor_3a5d310fb1396ddf = []byte{
|
var fileDescriptor_3a5d310fb1396ddf = []byte{
|
||||||
// 823 bytes of a gzipped FileDescriptorProto
|
// 889 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xcf, 0x6f, 0xe3, 0x44,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0x4d, 0x6f, 0xe3, 0x44,
|
||||||
0x14, 0x8e, 0x9b, 0x86, 0xda, 0x93, 0xad, 0xd8, 0x1d, 0x21, 0x6d, 0x14, 0x90, 0x5d, 0x82, 0x16,
|
0x18, 0x8e, 0x9b, 0x86, 0xda, 0x93, 0x56, 0xec, 0x8e, 0x90, 0x36, 0x0a, 0x28, 0x0e, 0x46, 0x8b,
|
||||||
0x45, 0xaa, 0xb0, 0x69, 0x85, 0xd0, 0xc2, 0x89, 0x9a, 0xad, 0xf8, 0xbd, 0x54, 0xb3, 0x3d, 0xad,
|
0x22, 0x55, 0xd8, 0xb4, 0x42, 0x68, 0xe1, 0x44, 0xcd, 0x96, 0x5d, 0xbe, 0x4a, 0x35, 0xdb, 0xd3,
|
||||||
0x90, 0x60, 0x6a, 0xbf, 0x75, 0x4d, 0xe2, 0x19, 0x6b, 0x66, 0x12, 0x29, 0x9c, 0xb8, 0x70, 0x86,
|
0x0a, 0x69, 0x71, 0xed, 0xb7, 0x8e, 0x49, 0x33, 0x63, 0xcd, 0x4c, 0x22, 0x85, 0x13, 0x17, 0xce,
|
||||||
0xff, 0x83, 0xff, 0x81, 0x23, 0xea, 0x71, 0x6f, 0xec, 0xc9, 0xa2, 0xe6, 0xbf, 0xd8, 0x13, 0x9a,
|
0xf0, 0x8b, 0x38, 0xa2, 0x1e, 0xf7, 0xc6, 0x9e, 0x2c, 0x6a, 0xfe, 0x02, 0xa7, 0x3d, 0xa1, 0x19,
|
||||||
0xb1, 0x1d, 0x7b, 0x49, 0xab, 0x70, 0xf3, 0x7c, 0xef, 0x7d, 0xdf, 0x7b, 0xef, 0x9b, 0x79, 0x46,
|
0x7f, 0x96, 0xb4, 0x0a, 0xb7, 0x99, 0x67, 0x9e, 0xe7, 0xfd, 0x78, 0x66, 0xe6, 0x45, 0x9f, 0xcd,
|
||||||
0x9f, 0xcc, 0x1e, 0x4a, 0x3f, 0xe5, 0xc1, 0x6c, 0x71, 0x01, 0x82, 0x81, 0x02, 0x19, 0x2c, 0x81,
|
0x1e, 0x09, 0x37, 0x61, 0xde, 0x6c, 0x71, 0x0e, 0x9c, 0x82, 0x04, 0xe1, 0x2d, 0x81, 0x46, 0x8c,
|
||||||
0xc5, 0x5c, 0x04, 0x75, 0x80, 0xe6, 0x69, 0x10, 0xa7, 0x32, 0xe2, 0x4b, 0x10, 0xab, 0x60, 0x79,
|
0x7b, 0xe5, 0x41, 0x90, 0x26, 0x5e, 0x94, 0x88, 0x90, 0x2d, 0x81, 0xaf, 0xbc, 0xe5, 0x81, 0x17,
|
||||||
0x14, 0x24, 0xc0, 0x40, 0x50, 0x05, 0xb1, 0x9f, 0x0b, 0xae, 0x38, 0xbe, 0x5f, 0x25, 0xfa, 0x34,
|
0x03, 0x05, 0x1e, 0x48, 0x88, 0xdc, 0x94, 0x33, 0xc9, 0xf0, 0x83, 0x82, 0xe8, 0x06, 0x69, 0xe2,
|
||||||
0x4f, 0xfd, 0x75, 0xa2, 0xbf, 0x3c, 0x1a, 0xbf, 0x97, 0xa4, 0xea, 0x72, 0x71, 0xe1, 0x47, 0x3c,
|
0xd6, 0x44, 0x77, 0x79, 0x30, 0xfc, 0x20, 0x4e, 0xe4, 0x74, 0x71, 0xee, 0x86, 0x6c, 0xee, 0xc5,
|
||||||
0x0b, 0x12, 0x9e, 0xf0, 0xc0, 0xe4, 0x5f, 0x2c, 0x9e, 0x99, 0x93, 0x39, 0x98, 0xaf, 0x4a, 0x67,
|
0x2c, 0x66, 0x9e, 0xe6, 0x9f, 0x2f, 0x2e, 0xf4, 0x4e, 0x6f, 0xf4, 0xaa, 0x88, 0x33, 0x74, 0x5a,
|
||||||
0x3c, 0xe9, 0x14, 0x8c, 0xb8, 0x80, 0x1b, 0x6a, 0x8d, 0x3f, 0x68, 0x73, 0x32, 0x1a, 0x5d, 0xa6,
|
0x09, 0x43, 0xc6, 0xe1, 0x96, 0x5c, 0xc3, 0x8f, 0x1a, 0xce, 0x3c, 0x08, 0xa7, 0x09, 0x55, 0x35,
|
||||||
0x4c, 0xf7, 0x94, 0xcf, 0x12, 0x0d, 0xc8, 0x20, 0x03, 0x45, 0x6f, 0x62, 0x05, 0xb7, 0xb1, 0xc4,
|
0xa5, 0xb3, 0x58, 0x01, 0xc2, 0x9b, 0x83, 0x0c, 0x6e, 0x53, 0x79, 0x77, 0xa9, 0xf8, 0x82, 0xca,
|
||||||
0x82, 0xa9, 0x34, 0x83, 0x0d, 0xc2, 0x87, 0xdb, 0x08, 0x32, 0xba, 0x84, 0x8c, 0xfe, 0x97, 0x37,
|
0x64, 0x0e, 0x6b, 0x82, 0x8f, 0x37, 0x09, 0x44, 0x38, 0x85, 0x79, 0xf0, 0x5f, 0x9d, 0xf3, 0xcf,
|
||||||
0xf9, 0x7d, 0x17, 0xd9, 0xa7, 0x2c, 0xce, 0x79, 0xca, 0x14, 0x3e, 0x44, 0x0e, 0x8d, 0x63, 0x01,
|
0x36, 0x32, 0x8f, 0x69, 0x94, 0xb2, 0x84, 0x4a, 0xbc, 0x8f, 0xac, 0x20, 0x8a, 0x38, 0x08, 0x01,
|
||||||
0x52, 0x82, 0x1c, 0x59, 0x07, 0xfd, 0xa9, 0x13, 0xee, 0x97, 0x85, 0xe7, 0x9c, 0x34, 0x20, 0x69,
|
0x62, 0x60, 0x8c, 0xbb, 0x13, 0xcb, 0xdf, 0xcb, 0x33, 0xdb, 0x3a, 0xaa, 0x40, 0xd2, 0x9c, 0xe3,
|
||||||
0xe3, 0xf8, 0x7b, 0x84, 0x22, 0xce, 0xe2, 0x54, 0xa5, 0x9c, 0xc9, 0xd1, 0xce, 0x81, 0x35, 0x1d,
|
0x17, 0x08, 0x85, 0x8c, 0x46, 0x89, 0x4c, 0x18, 0x15, 0x83, 0xad, 0xb1, 0x31, 0xe9, 0x1f, 0xee,
|
||||||
0x1e, 0x1f, 0xfa, 0xb7, 0x38, 0xeb, 0x37, 0x35, 0x3e, 0x5d, 0x53, 0x42, 0x7c, 0x55, 0x78, 0xbd,
|
0xbb, 0x77, 0x38, 0xeb, 0x56, 0x39, 0x3e, 0xaf, 0x25, 0x3e, 0xbe, 0xca, 0xec, 0x4e, 0x9e, 0xd9,
|
||||||
0xb2, 0xf0, 0x50, 0x8b, 0x91, 0x8e, 0x24, 0x9e, 0x22, 0xfb, 0x92, 0x4b, 0xc5, 0x68, 0x06, 0xa3,
|
0xa8, 0xc1, 0x48, 0x2b, 0x24, 0x9e, 0x20, 0x73, 0xca, 0x84, 0xa4, 0xc1, 0x1c, 0x06, 0xdd, 0xb1,
|
||||||
0xfe, 0x81, 0x35, 0x75, 0xc2, 0x3b, 0x65, 0xe1, 0xd9, 0x9f, 0xd7, 0x18, 0x59, 0x47, 0xf1, 0x19,
|
0x31, 0xb1, 0xfc, 0xdd, 0x3c, 0xb3, 0xcd, 0xa7, 0x25, 0x46, 0xea, 0x53, 0x7c, 0x8a, 0x2c, 0x19,
|
||||||
0x72, 0x14, 0x15, 0x09, 0x28, 0x02, 0xcf, 0x46, 0xbb, 0xa6, 0x93, 0x77, 0xba, 0x9d, 0xe8, 0xbb,
|
0xf0, 0x18, 0x24, 0x81, 0x8b, 0xc1, 0xb6, 0xae, 0xe4, 0xbd, 0x76, 0x25, 0xea, 0x6e, 0x54, 0x11,
|
||||||
0xd1, 0x4d, 0x7c, 0x7b, 0xf1, 0x23, 0x44, 0x3a, 0x09, 0x04, 0xb0, 0x08, 0xaa, 0xe1, 0xce, 0x1b,
|
0xdf, 0x9d, 0xff, 0x08, 0xa1, 0x22, 0x01, 0x07, 0x1a, 0x42, 0xd1, 0xdc, 0x59, 0xa5, 0x24, 0x4d,
|
||||||
0x26, 0x69, 0x45, 0xf0, 0x2f, 0x16, 0xc2, 0x31, 0xe4, 0x02, 0x22, 0xed, 0xd5, 0x39, 0xcf, 0xf9,
|
0x10, 0xfc, 0x8b, 0x81, 0x70, 0x04, 0x29, 0x87, 0x50, 0x79, 0x75, 0xc6, 0x52, 0x76, 0xc9, 0xe2,
|
||||||
0x9c, 0x27, 0xab, 0xd1, 0xe0, 0xa0, 0x3f, 0x1d, 0x1e, 0x7f, 0xb4, 0x75, 0x4a, 0xff, 0xd1, 0x06,
|
0xd5, 0xa0, 0x37, 0xee, 0x4e, 0xfa, 0x87, 0x9f, 0x6c, 0xec, 0xd2, 0x7d, 0xbc, 0xa6, 0x3d, 0xa6,
|
||||||
0xf7, 0x94, 0x29, 0xb1, 0x0a, 0xc7, 0xf5, 0xcc, 0x78, 0x33, 0x81, 0xdc, 0x50, 0x50, 0x7b, 0xc0,
|
0x92, 0xaf, 0xfc, 0x61, 0xd9, 0x33, 0x5e, 0x27, 0x90, 0x5b, 0x12, 0x2a, 0x0f, 0x28, 0x8b, 0xe0,
|
||||||
0x78, 0x0c, 0x8f, 0xb5, 0x07, 0xaf, 0xb5, 0x1e, 0x3c, 0xae, 0x31, 0xb2, 0x8e, 0xe2, 0xb7, 0xd0,
|
0x44, 0x79, 0xf0, 0x46, 0xe3, 0xc1, 0x49, 0x89, 0x91, 0xfa, 0x14, 0xbf, 0x83, 0xb6, 0x7f, 0x62,
|
||||||
0xee, 0x4f, 0x9c, 0xc1, 0x68, 0xcf, 0x64, 0xd9, 0x65, 0xe1, 0xed, 0x3e, 0xe5, 0x0c, 0x88, 0x41,
|
0x14, 0x06, 0x3b, 0x9a, 0x65, 0xe6, 0x99, 0xbd, 0xfd, 0x9c, 0x51, 0x20, 0x1a, 0xc5, 0x4f, 0x50,
|
||||||
0xc7, 0xa7, 0xe8, 0xfe, 0x2d, 0x2d, 0xe1, 0xbb, 0xa8, 0x3f, 0x83, 0xd5, 0xc8, 0xd2, 0x3c, 0xa2,
|
0x6f, 0x9a, 0x50, 0x29, 0x06, 0xa6, 0x76, 0xe7, 0xfd, 0x8d, 0x1d, 0x3c, 0x55, 0x6c, 0xdf, 0xca,
|
||||||
0x3f, 0xf1, 0x1b, 0x68, 0xb0, 0xa4, 0xf3, 0x05, 0x98, 0x4b, 0x75, 0x48, 0x75, 0xf8, 0x78, 0xe7,
|
0x33, 0xbb, 0xa7, 0x97, 0xa4, 0xd0, 0x0f, 0x8f, 0xd1, 0x83, 0x3b, 0x7a, 0xc3, 0xf7, 0x50, 0x77,
|
||||||
0xa1, 0x35, 0xf9, 0xd5, 0x42, 0x78, 0xf3, 0x26, 0xb1, 0x87, 0x06, 0x02, 0x68, 0x5c, 0x89, 0xd8,
|
0x06, 0xab, 0x81, 0xa1, 0x0a, 0x20, 0x6a, 0x89, 0xdf, 0x42, 0xbd, 0x65, 0x70, 0xb9, 0x00, 0xfd,
|
||||||
0xa1, 0x53, 0x16, 0xde, 0x80, 0x68, 0x80, 0x54, 0x38, 0x7e, 0x80, 0xf6, 0x24, 0x88, 0x65, 0xca,
|
0x3a, 0x2c, 0x52, 0x6c, 0x3e, 0xdd, 0x7a, 0x64, 0x38, 0xbf, 0x1a, 0x08, 0xaf, 0x3f, 0x09, 0x6c,
|
||||||
0x12, 0xa3, 0x69, 0x87, 0xc3, 0xb2, 0xf0, 0xf6, 0x9e, 0x54, 0x10, 0x69, 0x62, 0xf8, 0x08, 0x0d,
|
0xa3, 0x1e, 0x87, 0x20, 0x2a, 0x82, 0x98, 0x45, 0x7a, 0xa2, 0x00, 0x52, 0xe0, 0xf8, 0x21, 0xda,
|
||||||
0x15, 0x88, 0x2c, 0x65, 0x54, 0xe9, 0xd4, 0xbe, 0x49, 0x7d, 0xbd, 0x2c, 0xbc, 0xe1, 0x79, 0x0b,
|
0x11, 0xc0, 0x97, 0x09, 0x8d, 0x75, 0x4c, 0xd3, 0xef, 0xe7, 0x99, 0xbd, 0xf3, 0xac, 0x80, 0x48,
|
||||||
0x93, 0x6e, 0xce, 0xe4, 0x4f, 0x0b, 0xdd, 0x69, 0x3a, 0x3a, 0xe3, 0x42, 0x69, 0x1f, 0xcc, 0x8b,
|
0x75, 0x86, 0x0f, 0x50, 0x5f, 0x02, 0x9f, 0x27, 0x34, 0x90, 0x8a, 0xda, 0xd5, 0xd4, 0x37, 0xf3,
|
||||||
0xb1, 0x5a, 0x1f, 0x8c, 0x53, 0x06, 0xc5, 0x9f, 0x21, 0xdb, 0xbc, 0xfb, 0x88, 0xcf, 0xab, 0xe9,
|
0xcc, 0xee, 0x9f, 0x35, 0x30, 0x69, 0x73, 0x9c, 0x17, 0x68, 0xef, 0x46, 0xef, 0xf8, 0x04, 0x99,
|
||||||
0xc2, 0x43, 0xed, 0xe7, 0x59, 0x8d, 0xbd, 0x2c, 0xbc, 0x37, 0x37, 0x77, 0xda, 0x6f, 0xc2, 0x64,
|
0x17, 0x8c, 0x2b, 0x0f, 0x8b, 0xbf, 0xd0, 0x3f, 0x1c, 0xdf, 0xe9, 0xda, 0x17, 0x05, 0xd1, 0xbf,
|
||||||
0x4d, 0xd6, 0x65, 0x72, 0x2e, 0x94, 0xe9, 0x71, 0x50, 0x95, 0xd1, 0xe5, 0x89, 0x41, 0xf5, 0x20,
|
0x57, 0x5e, 0xaf, 0x59, 0x02, 0x82, 0xd4, 0x31, 0x9c, 0x3f, 0x0c, 0xb4, 0x5b, 0x65, 0x38, 0x65,
|
||||||
0x34, 0xcf, 0x1b, 0x9a, 0x79, 0x92, 0x4e, 0x35, 0xc8, 0x49, 0x0b, 0x93, 0x6e, 0xce, 0xe4, 0xaf,
|
0x5c, 0xaa, 0x1b, 0xd3, 0x6f, 0xdb, 0x68, 0x6e, 0x4c, 0xdf, 0xa9, 0x46, 0xf1, 0x13, 0x64, 0xea,
|
||||||
0x1d, 0xb4, 0xdf, 0x0c, 0xf2, 0x64, 0x9e, 0x46, 0x80, 0x7f, 0x40, 0xb6, 0xfe, 0x3d, 0xc4, 0x54,
|
0x1f, 0x1a, 0xb2, 0xcb, 0xc2, 0x3e, 0x7f, 0x5f, 0x05, 0x3e, 0x2d, 0xb1, 0xd7, 0x99, 0xfd, 0xf6,
|
||||||
0x51, 0x33, 0xcd, 0xf0, 0xf8, 0xfd, 0xce, 0xc3, 0x5b, 0x6f, 0xb9, 0x9f, 0xcf, 0x12, 0x0d, 0x48,
|
0xfa, 0xf4, 0x71, 0xab, 0x63, 0x52, 0x8b, 0x55, 0x9a, 0x94, 0x71, 0xa9, 0x4d, 0xe8, 0x15, 0x69,
|
||||||
0x5f, 0x67, 0xb7, 0xcf, 0xfc, 0x1b, 0x50, 0xb4, 0xdd, 0xb1, 0x16, 0x23, 0x6b, 0x55, 0xfc, 0x08,
|
0x54, 0x7a, 0xa2, 0x51, 0xe5, 0x54, 0x90, 0xa6, 0x95, 0x4c, 0x7f, 0x1e, 0xab, 0x70, 0xea, 0xa8,
|
||||||
0x0d, 0xeb, 0x7d, 0x3e, 0x5f, 0xe5, 0x50, 0xb7, 0x39, 0xa9, 0x29, 0xc3, 0x93, 0x36, 0xf4, 0xf2,
|
0x81, 0x49, 0x9b, 0xe3, 0xfc, 0xb9, 0xd5, 0x58, 0xf5, 0xec, 0x32, 0x09, 0x01, 0xff, 0x80, 0x4c,
|
||||||
0xd5, 0x23, 0xe9, 0xd2, 0x30, 0x41, 0x0e, 0xd4, 0x8d, 0xeb, 0xff, 0x80, 0xde, 0x90, 0xb7, 0xb7,
|
0x35, 0xc8, 0xa2, 0x40, 0x06, 0xba, 0x9b, 0xfe, 0xe1, 0x87, 0x2d, 0xab, 0xea, 0x79, 0xe4, 0xa6,
|
||||||
0x6e, 0x48, 0x78, 0xaf, 0x2e, 0xe3, 0x34, 0x88, 0x24, 0xad, 0x0c, 0xfe, 0x12, 0x0d, 0xb4, 0x91,
|
0xb3, 0x58, 0x01, 0xc2, 0x55, 0xec, 0xe6, 0x43, 0x7e, 0x0b, 0x32, 0x68, 0xa6, 0x41, 0x83, 0x91,
|
||||||
0x72, 0xd4, 0x37, 0x7a, 0x0f, 0xb6, 0xea, 0x69, 0xf3, 0xc3, 0xfd, 0x5a, 0x73, 0xa0, 0x4f, 0x92,
|
0x3a, 0x2a, 0x7e, 0x8c, 0xfa, 0xe5, 0xe4, 0x39, 0x5b, 0xa5, 0x50, 0x96, 0xe9, 0x94, 0x92, 0xfe,
|
||||||
0x54, 0x12, 0x93, 0x3f, 0x2c, 0x74, 0xef, 0x15, 0x67, 0xbf, 0x4e, 0xa5, 0xc2, 0xdf, 0x6d, 0xb8,
|
0x51, 0x73, 0xf4, 0xfa, 0xe6, 0x96, 0xb4, 0x65, 0x98, 0x20, 0x0b, 0xca, 0xc2, 0xd5, 0xc4, 0x52,
|
||||||
0xeb, 0xff, 0x3f, 0x77, 0x35, 0xdb, 0x78, 0x7b, 0xb7, 0xae, 0x66, 0x37, 0x48, 0xc7, 0xd9, 0xaf,
|
0x77, 0xfa, 0xee, 0xc6, 0x9f, 0xe0, 0xdf, 0x2f, 0xd3, 0x58, 0x15, 0x22, 0x48, 0x13, 0x06, 0x7f,
|
||||||
0xd0, 0x20, 0x55, 0x90, 0x35, 0x7e, 0xbc, 0xbb, 0xb5, 0x7f, 0xd3, 0x58, 0x3b, 0xc0, 0x17, 0x9a,
|
0x85, 0x7a, 0xca, 0x48, 0x31, 0xe8, 0xea, 0x78, 0x0f, 0x37, 0xc6, 0x53, 0xe6, 0xfb, 0x7b, 0x65,
|
||||||
0x4c, 0x2a, 0x8d, 0x70, 0x7a, 0x75, 0xed, 0xf6, 0x9e, 0x5f, 0xbb, 0xbd, 0x17, 0xd7, 0x6e, 0xef,
|
0xcc, 0x9e, 0xda, 0x09, 0x52, 0x84, 0x70, 0x7e, 0x37, 0xd0, 0xfd, 0x1b, 0xce, 0x7e, 0x93, 0x08,
|
||||||
0xe7, 0xd2, 0xb5, 0xae, 0x4a, 0xd7, 0x7a, 0x5e, 0xba, 0xd6, 0x8b, 0xd2, 0xb5, 0xfe, 0x2e, 0x5d,
|
0x89, 0xbf, 0x5f, 0x73, 0xd7, 0xfd, 0x7f, 0xee, 0x2a, 0xb5, 0xf6, 0xb6, 0x7e, 0x96, 0x15, 0xd2,
|
||||||
0xeb, 0xb7, 0x7f, 0xdc, 0xde, 0xd3, 0x9d, 0xe5, 0xd1, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x34,
|
0x72, 0xf6, 0x6b, 0xd4, 0x4b, 0x24, 0xcc, 0x2b, 0x3f, 0x36, 0x4f, 0x06, 0x5d, 0x58, 0xd3, 0xc0,
|
||||||
0x9c, 0x0c, 0xa4, 0x1b, 0x07, 0x00, 0x00,
|
0x97, 0x4a, 0x4c, 0x8a, 0x18, 0xce, 0x3e, 0xda, 0x29, 0x5f, 0x3e, 0x1e, 0xdf, 0x78, 0xdd, 0xbb,
|
||||||
|
0x25, 0xbd, 0xf5, 0xc2, 0xfd, 0xc9, 0xd5, 0xf5, 0xa8, 0xf3, 0xf2, 0x7a, 0xd4, 0x79, 0x75, 0x3d,
|
||||||
|
0xea, 0xfc, 0x9c, 0x8f, 0x8c, 0xab, 0x7c, 0x64, 0xbc, 0xcc, 0x47, 0xc6, 0xab, 0x7c, 0x64, 0xfc,
|
||||||
|
0x95, 0x8f, 0x8c, 0xdf, 0xfe, 0x1e, 0x75, 0x9e, 0x6f, 0x2d, 0x0f, 0xfe, 0x0d, 0x00, 0x00, 0xff,
|
||||||
|
0xff, 0x66, 0x0f, 0x26, 0x7b, 0xf2, 0x07, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Endpoint) Marshal() (dAtA []byte, err error) {
|
func (m *Endpoint) Marshal() (dAtA []byte, err error) {
|
||||||
@ -275,6 +337,18 @@ func (m *Endpoint) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
if m.Hints != nil {
|
||||||
|
{
|
||||||
|
size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i -= size
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(size))
|
||||||
|
}
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x42
|
||||||
|
}
|
||||||
if m.Zone != nil {
|
if m.Zone != nil {
|
||||||
i -= len(*m.Zone)
|
i -= len(*m.Zone)
|
||||||
copy(dAtA[i:], *m.Zone)
|
copy(dAtA[i:], *m.Zone)
|
||||||
@ -407,6 +481,43 @@ func (m *EndpointConditions) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *EndpointHints) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *EndpointHints) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
size := m.Size()
|
||||||
|
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *EndpointHints) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
|
i := len(dAtA)
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
if len(m.ForZones) > 0 {
|
||||||
|
for iNdEx := len(m.ForZones) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
|
{
|
||||||
|
size, err := m.ForZones[iNdEx].MarshalToSizedBuffer(dAtA[:i])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i -= size
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(size))
|
||||||
|
}
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return len(dAtA) - i, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *EndpointPort) Marshal() (dAtA []byte, err error) {
|
func (m *EndpointPort) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
@ -569,6 +680,34 @@ func (m *EndpointSliceList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *ForZone) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ForZone) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
size := m.Size()
|
||||||
|
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ForZone) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
|
i := len(dAtA)
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
i -= len(m.Name)
|
||||||
|
copy(dAtA[i:], m.Name)
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
return len(dAtA) - i, nil
|
||||||
|
}
|
||||||
|
|
||||||
func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
||||||
offset -= sovGenerated(v)
|
offset -= sovGenerated(v)
|
||||||
base := offset
|
base := offset
|
||||||
@ -618,6 +757,10 @@ func (m *Endpoint) Size() (n int) {
|
|||||||
l = len(*m.Zone)
|
l = len(*m.Zone)
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
|
if m.Hints != nil {
|
||||||
|
l = m.Hints.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -639,6 +782,21 @@ func (m *EndpointConditions) Size() (n int) {
|
|||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *EndpointHints) Size() (n int) {
|
||||||
|
if m == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
if len(m.ForZones) > 0 {
|
||||||
|
for _, e := range m.ForZones {
|
||||||
|
l = e.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
func (m *EndpointPort) Size() (n int) {
|
func (m *EndpointPort) Size() (n int) {
|
||||||
if m == nil {
|
if m == nil {
|
||||||
return 0
|
return 0
|
||||||
@ -705,6 +863,17 @@ func (m *EndpointSliceList) Size() (n int) {
|
|||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *ForZone) Size() (n int) {
|
||||||
|
if m == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = len(m.Name)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
func sovGenerated(x uint64) (n int) {
|
func sovGenerated(x uint64) (n int) {
|
||||||
return (math_bits.Len64(x|1) + 6) / 7
|
return (math_bits.Len64(x|1) + 6) / 7
|
||||||
}
|
}
|
||||||
@ -733,6 +902,7 @@ func (this *Endpoint) String() string {
|
|||||||
`DeprecatedTopology:` + mapStringForDeprecatedTopology + `,`,
|
`DeprecatedTopology:` + mapStringForDeprecatedTopology + `,`,
|
||||||
`NodeName:` + valueToStringGenerated(this.NodeName) + `,`,
|
`NodeName:` + valueToStringGenerated(this.NodeName) + `,`,
|
||||||
`Zone:` + valueToStringGenerated(this.Zone) + `,`,
|
`Zone:` + valueToStringGenerated(this.Zone) + `,`,
|
||||||
|
`Hints:` + strings.Replace(this.Hints.String(), "EndpointHints", "EndpointHints", 1) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
@ -749,6 +919,21 @@ func (this *EndpointConditions) String() string {
|
|||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
func (this *EndpointHints) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
repeatedStringForForZones := "[]ForZone{"
|
||||||
|
for _, f := range this.ForZones {
|
||||||
|
repeatedStringForForZones += strings.Replace(strings.Replace(f.String(), "ForZone", "ForZone", 1), `&`, ``, 1) + ","
|
||||||
|
}
|
||||||
|
repeatedStringForForZones += "}"
|
||||||
|
s := strings.Join([]string{`&EndpointHints{`,
|
||||||
|
`ForZones:` + repeatedStringForForZones + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
func (this *EndpointPort) String() string {
|
func (this *EndpointPort) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
@ -801,6 +986,16 @@ func (this *EndpointSliceList) String() string {
|
|||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
func (this *ForZone) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&ForZone{`,
|
||||||
|
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
func valueToStringGenerated(v interface{}) string {
|
func valueToStringGenerated(v interface{}) string {
|
||||||
rv := reflect.ValueOf(v)
|
rv := reflect.ValueOf(v)
|
||||||
if rv.IsNil() {
|
if rv.IsNil() {
|
||||||
@ -1165,6 +1360,42 @@ func (m *Endpoint) Unmarshal(dAtA []byte) error {
|
|||||||
s := string(dAtA[iNdEx:postIndex])
|
s := string(dAtA[iNdEx:postIndex])
|
||||||
m.Zone = &s
|
m.Zone = &s
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 8:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= int(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if m.Hints == nil {
|
||||||
|
m.Hints = &EndpointHints{}
|
||||||
|
}
|
||||||
|
if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
@ -1299,6 +1530,90 @@ func (m *EndpointConditions) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func (m *EndpointHints) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: EndpointHints: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: EndpointHints: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field ForZones", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= int(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.ForZones = append(m.ForZones, ForZone{})
|
||||||
|
if err := m.ForZones[len(m.ForZones)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func (m *EndpointPort) Unmarshal(dAtA []byte) error {
|
func (m *EndpointPort) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
@ -1768,6 +2083,88 @@ func (m *EndpointSliceList) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func (m *ForZone) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: ForZone: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: ForZone: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Name = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func skipGenerated(dAtA []byte) (n int, err error) {
|
func skipGenerated(dAtA []byte) (n int, err error) {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
|
@ -73,6 +73,11 @@ message Endpoint {
|
|||||||
// zone is the name of the Zone this endpoint exists in.
|
// zone is the name of the Zone this endpoint exists in.
|
||||||
// +optional
|
// +optional
|
||||||
optional string zone = 7;
|
optional string zone = 7;
|
||||||
|
|
||||||
|
// hints contains information associated with how an endpoint should be
|
||||||
|
// consumed.
|
||||||
|
// +optional
|
||||||
|
optional EndpointHints hints = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointConditions represents the current condition of an endpoint.
|
// EndpointConditions represents the current condition of an endpoint.
|
||||||
@ -101,6 +106,14 @@ message EndpointConditions {
|
|||||||
optional bool terminating = 3;
|
optional bool terminating = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EndpointHints provides hints describing how an endpoint should be consumed.
|
||||||
|
message EndpointHints {
|
||||||
|
// forZones indicates the zone(s) this endpoint should be consumed by to
|
||||||
|
// enable topology aware routing.
|
||||||
|
// +listType=atomic
|
||||||
|
repeated ForZone forZones = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// EndpointPort represents a Port used by an EndpointSlice
|
// EndpointPort represents a Port used by an EndpointSlice
|
||||||
message EndpointPort {
|
message EndpointPort {
|
||||||
// The name of this port. All ports in an EndpointSlice must have a unique
|
// The name of this port. All ports in an EndpointSlice must have a unique
|
||||||
@ -175,3 +188,9 @@ message EndpointSliceList {
|
|||||||
repeated EndpointSlice items = 2;
|
repeated EndpointSlice items = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ForZone provides information about which zones should consume this endpoint.
|
||||||
|
message ForZone {
|
||||||
|
// name represents the name of the zone.
|
||||||
|
optional string name = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -106,6 +106,10 @@ type Endpoint struct {
|
|||||||
// zone is the name of the Zone this endpoint exists in.
|
// zone is the name of the Zone this endpoint exists in.
|
||||||
// +optional
|
// +optional
|
||||||
Zone *string `json:"zone,omitempty" protobuf:"bytes,7,opt,name=zone"`
|
Zone *string `json:"zone,omitempty" protobuf:"bytes,7,opt,name=zone"`
|
||||||
|
// hints contains information associated with how an endpoint should be
|
||||||
|
// consumed.
|
||||||
|
// +optional
|
||||||
|
Hints *EndpointHints `json:"hints,omitempty" protobuf:"bytes,8,opt,name=hints"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointConditions represents the current condition of an endpoint.
|
// EndpointConditions represents the current condition of an endpoint.
|
||||||
@ -134,6 +138,20 @@ type EndpointConditions struct {
|
|||||||
Terminating *bool `json:"terminating,omitempty" protobuf:"bytes,3,name=terminating"`
|
Terminating *bool `json:"terminating,omitempty" protobuf:"bytes,3,name=terminating"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EndpointHints provides hints describing how an endpoint should be consumed.
|
||||||
|
type EndpointHints struct {
|
||||||
|
// forZones indicates the zone(s) this endpoint should be consumed by to
|
||||||
|
// enable topology aware routing.
|
||||||
|
// +listType=atomic
|
||||||
|
ForZones []ForZone `json:"forZones,omitempty" protobuf:"bytes,1,name=forZones"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ForZone provides information about which zones should consume this endpoint.
|
||||||
|
type ForZone struct {
|
||||||
|
// name represents the name of the zone.
|
||||||
|
Name string `json:"name" protobuf:"bytes,1,name=name"`
|
||||||
|
}
|
||||||
|
|
||||||
// EndpointPort represents a Port used by an EndpointSlice
|
// EndpointPort represents a Port used by an EndpointSlice
|
||||||
type EndpointPort struct {
|
type EndpointPort struct {
|
||||||
// The name of this port. All ports in an EndpointSlice must have a unique
|
// The name of this port. All ports in an EndpointSlice must have a unique
|
||||||
|
@ -36,6 +36,7 @@ var map_Endpoint = map[string]string{
|
|||||||
"deprecatedTopology": "deprecatedTopology contains topology information part of the v1beta1 API. This field is deprecated, and will be removed when the v1beta1 API is removed (no sooner than kubernetes v1.24). While this field can hold values, it is not writable through the v1 API, and any attempts to write to it will be silently ignored. Topology information can be found in the zone and nodeName fields instead.",
|
"deprecatedTopology": "deprecatedTopology contains topology information part of the v1beta1 API. This field is deprecated, and will be removed when the v1beta1 API is removed (no sooner than kubernetes v1.24). While this field can hold values, it is not writable through the v1 API, and any attempts to write to it will be silently ignored. Topology information can be found in the zone and nodeName fields instead.",
|
||||||
"nodeName": "nodeName represents the name of the Node hosting this endpoint. This can be used to determine endpoints local to a Node. This field can be enabled with the EndpointSliceNodeName feature gate.",
|
"nodeName": "nodeName represents the name of the Node hosting this endpoint. This can be used to determine endpoints local to a Node. This field can be enabled with the EndpointSliceNodeName feature gate.",
|
||||||
"zone": "zone is the name of the Zone this endpoint exists in.",
|
"zone": "zone is the name of the Zone this endpoint exists in.",
|
||||||
|
"hints": "hints contains information associated with how an endpoint should be consumed.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Endpoint) SwaggerDoc() map[string]string {
|
func (Endpoint) SwaggerDoc() map[string]string {
|
||||||
@ -53,6 +54,15 @@ func (EndpointConditions) SwaggerDoc() map[string]string {
|
|||||||
return map_EndpointConditions
|
return map_EndpointConditions
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var map_EndpointHints = map[string]string{
|
||||||
|
"": "EndpointHints provides hints describing how an endpoint should be consumed.",
|
||||||
|
"forZones": "forZones indicates the zone(s) this endpoint should be consumed by to enable topology aware routing.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (EndpointHints) SwaggerDoc() map[string]string {
|
||||||
|
return map_EndpointHints
|
||||||
|
}
|
||||||
|
|
||||||
var map_EndpointPort = map[string]string{
|
var map_EndpointPort = map[string]string{
|
||||||
"": "EndpointPort represents a Port used by an EndpointSlice",
|
"": "EndpointPort represents a Port used by an EndpointSlice",
|
||||||
"name": "The name of this port. All ports in an EndpointSlice must have a unique name. If the EndpointSlice is dervied from a Kubernetes service, this corresponds to the Service.ports[].name. Name must either be an empty string or pass DNS_LABEL validation: * must be no more than 63 characters long. * must consist of lower case alphanumeric characters or '-'. * must start and end with an alphanumeric character. Default is empty string.",
|
"name": "The name of this port. All ports in an EndpointSlice must have a unique name. If the EndpointSlice is dervied from a Kubernetes service, this corresponds to the Service.ports[].name. Name must either be an empty string or pass DNS_LABEL validation: * must be no more than 63 characters long. * must consist of lower case alphanumeric characters or '-'. * must start and end with an alphanumeric character. Default is empty string.",
|
||||||
@ -87,4 +97,13 @@ func (EndpointSliceList) SwaggerDoc() map[string]string {
|
|||||||
return map_EndpointSliceList
|
return map_EndpointSliceList
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var map_ForZone = map[string]string{
|
||||||
|
"": "ForZone provides information about which zones should consume this endpoint.",
|
||||||
|
"name": "name represents the name of the zone.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ForZone) SwaggerDoc() map[string]string {
|
||||||
|
return map_ForZone
|
||||||
|
}
|
||||||
|
|
||||||
// AUTO-GENERATED FUNCTIONS END HERE
|
// AUTO-GENERATED FUNCTIONS END HERE
|
||||||
|
@ -61,6 +61,11 @@ func (in *Endpoint) DeepCopyInto(out *Endpoint) {
|
|||||||
*out = new(string)
|
*out = new(string)
|
||||||
**out = **in
|
**out = **in
|
||||||
}
|
}
|
||||||
|
if in.Hints != nil {
|
||||||
|
in, out := &in.Hints, &out.Hints
|
||||||
|
*out = new(EndpointHints)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,6 +110,27 @@ func (in *EndpointConditions) DeepCopy() *EndpointConditions {
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *EndpointHints) DeepCopyInto(out *EndpointHints) {
|
||||||
|
*out = *in
|
||||||
|
if in.ForZones != nil {
|
||||||
|
in, out := &in.ForZones, &out.ForZones
|
||||||
|
*out = make([]ForZone, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointHints.
|
||||||
|
func (in *EndpointHints) DeepCopy() *EndpointHints {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(EndpointHints)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *EndpointPort) DeepCopyInto(out *EndpointPort) {
|
func (in *EndpointPort) DeepCopyInto(out *EndpointPort) {
|
||||||
*out = *in
|
*out = *in
|
||||||
@ -213,3 +239,19 @@ func (in *EndpointSliceList) DeepCopyObject() runtime.Object {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *ForZone) DeepCopyInto(out *ForZone) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForZone.
|
||||||
|
func (in *ForZone) DeepCopy() *ForZone {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(ForZone)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
506
staging/src/k8s.io/api/discovery/v1beta1/generated.pb.go
generated
506
staging/src/k8s.io/api/discovery/v1beta1/generated.pb.go
generated
@ -102,10 +102,38 @@ func (m *EndpointConditions) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_EndpointConditions proto.InternalMessageInfo
|
var xxx_messageInfo_EndpointConditions proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *EndpointHints) Reset() { *m = EndpointHints{} }
|
||||||
|
func (*EndpointHints) ProtoMessage() {}
|
||||||
|
func (*EndpointHints) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_ece80bbc872d519b, []int{2}
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_Unmarshal(b []byte) error {
|
||||||
|
return m.Unmarshal(b)
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
b = b[:cap(b)]
|
||||||
|
n, err := m.MarshalToSizedBuffer(b)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return b[:n], nil
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_EndpointHints.Merge(m, src)
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_Size() int {
|
||||||
|
return m.Size()
|
||||||
|
}
|
||||||
|
func (m *EndpointHints) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_EndpointHints.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_EndpointHints proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *EndpointPort) Reset() { *m = EndpointPort{} }
|
func (m *EndpointPort) Reset() { *m = EndpointPort{} }
|
||||||
func (*EndpointPort) ProtoMessage() {}
|
func (*EndpointPort) ProtoMessage() {}
|
||||||
func (*EndpointPort) Descriptor() ([]byte, []int) {
|
func (*EndpointPort) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ece80bbc872d519b, []int{2}
|
return fileDescriptor_ece80bbc872d519b, []int{3}
|
||||||
}
|
}
|
||||||
func (m *EndpointPort) XXX_Unmarshal(b []byte) error {
|
func (m *EndpointPort) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -133,7 +161,7 @@ var xxx_messageInfo_EndpointPort proto.InternalMessageInfo
|
|||||||
func (m *EndpointSlice) Reset() { *m = EndpointSlice{} }
|
func (m *EndpointSlice) Reset() { *m = EndpointSlice{} }
|
||||||
func (*EndpointSlice) ProtoMessage() {}
|
func (*EndpointSlice) ProtoMessage() {}
|
||||||
func (*EndpointSlice) Descriptor() ([]byte, []int) {
|
func (*EndpointSlice) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ece80bbc872d519b, []int{3}
|
return fileDescriptor_ece80bbc872d519b, []int{4}
|
||||||
}
|
}
|
||||||
func (m *EndpointSlice) XXX_Unmarshal(b []byte) error {
|
func (m *EndpointSlice) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -161,7 +189,7 @@ var xxx_messageInfo_EndpointSlice proto.InternalMessageInfo
|
|||||||
func (m *EndpointSliceList) Reset() { *m = EndpointSliceList{} }
|
func (m *EndpointSliceList) Reset() { *m = EndpointSliceList{} }
|
||||||
func (*EndpointSliceList) ProtoMessage() {}
|
func (*EndpointSliceList) ProtoMessage() {}
|
||||||
func (*EndpointSliceList) Descriptor() ([]byte, []int) {
|
func (*EndpointSliceList) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ece80bbc872d519b, []int{4}
|
return fileDescriptor_ece80bbc872d519b, []int{5}
|
||||||
}
|
}
|
||||||
func (m *EndpointSliceList) XXX_Unmarshal(b []byte) error {
|
func (m *EndpointSliceList) XXX_Unmarshal(b []byte) error {
|
||||||
return m.Unmarshal(b)
|
return m.Unmarshal(b)
|
||||||
@ -186,13 +214,43 @@ func (m *EndpointSliceList) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_EndpointSliceList proto.InternalMessageInfo
|
var xxx_messageInfo_EndpointSliceList proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *ForZone) Reset() { *m = ForZone{} }
|
||||||
|
func (*ForZone) ProtoMessage() {}
|
||||||
|
func (*ForZone) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_ece80bbc872d519b, []int{6}
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_Unmarshal(b []byte) error {
|
||||||
|
return m.Unmarshal(b)
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
b = b[:cap(b)]
|
||||||
|
n, err := m.MarshalToSizedBuffer(b)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return b[:n], nil
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_ForZone.Merge(m, src)
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_Size() int {
|
||||||
|
return m.Size()
|
||||||
|
}
|
||||||
|
func (m *ForZone) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_ForZone.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_ForZone proto.InternalMessageInfo
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterType((*Endpoint)(nil), "k8s.io.api.discovery.v1beta1.Endpoint")
|
proto.RegisterType((*Endpoint)(nil), "k8s.io.api.discovery.v1beta1.Endpoint")
|
||||||
proto.RegisterMapType((map[string]string)(nil), "k8s.io.api.discovery.v1beta1.Endpoint.TopologyEntry")
|
proto.RegisterMapType((map[string]string)(nil), "k8s.io.api.discovery.v1beta1.Endpoint.TopologyEntry")
|
||||||
proto.RegisterType((*EndpointConditions)(nil), "k8s.io.api.discovery.v1beta1.EndpointConditions")
|
proto.RegisterType((*EndpointConditions)(nil), "k8s.io.api.discovery.v1beta1.EndpointConditions")
|
||||||
|
proto.RegisterType((*EndpointHints)(nil), "k8s.io.api.discovery.v1beta1.EndpointHints")
|
||||||
proto.RegisterType((*EndpointPort)(nil), "k8s.io.api.discovery.v1beta1.EndpointPort")
|
proto.RegisterType((*EndpointPort)(nil), "k8s.io.api.discovery.v1beta1.EndpointPort")
|
||||||
proto.RegisterType((*EndpointSlice)(nil), "k8s.io.api.discovery.v1beta1.EndpointSlice")
|
proto.RegisterType((*EndpointSlice)(nil), "k8s.io.api.discovery.v1beta1.EndpointSlice")
|
||||||
proto.RegisterType((*EndpointSliceList)(nil), "k8s.io.api.discovery.v1beta1.EndpointSliceList")
|
proto.RegisterType((*EndpointSliceList)(nil), "k8s.io.api.discovery.v1beta1.EndpointSliceList")
|
||||||
|
proto.RegisterType((*ForZone)(nil), "k8s.io.api.discovery.v1beta1.ForZone")
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -200,57 +258,62 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptor_ece80bbc872d519b = []byte{
|
var fileDescriptor_ece80bbc872d519b = []byte{
|
||||||
// 798 bytes of a gzipped FileDescriptorProto
|
// 870 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x4d, 0x8f, 0xe3, 0x44,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0x41, 0x8f, 0xe3, 0x34,
|
||||||
0x10, 0x8d, 0x27, 0x63, 0xc6, 0xee, 0xec, 0x88, 0xdd, 0x16, 0x87, 0x68, 0x58, 0xd9, 0xa3, 0x20,
|
0x14, 0x6e, 0xa6, 0x53, 0x9a, 0xb8, 0x33, 0x62, 0xd7, 0xe2, 0x50, 0x0d, 0xab, 0xa4, 0x0a, 0x5a,
|
||||||
0x50, 0xc4, 0x68, 0x6d, 0x66, 0xb5, 0x42, 0x2b, 0x38, 0x8d, 0x61, 0x04, 0x48, 0xb0, 0x1b, 0xf5,
|
0x54, 0x31, 0xda, 0x84, 0x19, 0xad, 0xd0, 0x0a, 0x4e, 0x13, 0x18, 0x58, 0xa4, 0x65, 0x77, 0xe4,
|
||||||
0x46, 0x42, 0x42, 0x1c, 0xe8, 0xd8, 0xb5, 0x8e, 0x49, 0xec, 0xb6, 0xba, 0x3b, 0x91, 0x72, 0xe3,
|
0x19, 0x09, 0x69, 0xc5, 0x01, 0x37, 0xf1, 0xa4, 0xa1, 0x53, 0x3b, 0xb2, 0xdd, 0x4a, 0xbd, 0xf1,
|
||||||
0x1f, 0xc0, 0x7f, 0x42, 0x42, 0x73, 0xdc, 0xe3, 0x9e, 0x2c, 0x62, 0xf8, 0x15, 0x7b, 0x42, 0xdd,
|
0x0f, 0xe0, 0xb7, 0xf0, 0x17, 0x90, 0xd0, 0x1c, 0xf7, 0xb8, 0xa7, 0x88, 0x09, 0xff, 0x62, 0x4f,
|
||||||
0xfe, 0x4a, 0x08, 0x1f, 0xb9, 0x75, 0xbf, 0xaa, 0xf7, 0xaa, 0x5e, 0x75, 0x17, 0xba, 0x5d, 0x3c,
|
0xc8, 0x8e, 0x93, 0xb4, 0x14, 0x86, 0xde, 0xec, 0xcf, 0xef, 0xfb, 0xde, 0x7b, 0xdf, 0xb3, 0x0d,
|
||||||
0x15, 0x5e, 0xc2, 0xfc, 0xc5, 0x6a, 0x06, 0x3c, 0x03, 0x09, 0xc2, 0x5f, 0x43, 0x16, 0x31, 0xee,
|
0xce, 0x67, 0xcf, 0x44, 0x90, 0xb1, 0x70, 0xb6, 0x98, 0x10, 0x4e, 0x89, 0x24, 0x22, 0x5c, 0x12,
|
||||||
0xd7, 0x01, 0x9a, 0x27, 0x7e, 0x94, 0x88, 0x90, 0xad, 0x81, 0x6f, 0xfc, 0xf5, 0xf5, 0x0c, 0x24,
|
0x9a, 0x30, 0x1e, 0x9a, 0x03, 0x9c, 0x67, 0x61, 0x92, 0x89, 0x98, 0x2d, 0x09, 0x5f, 0x85, 0xcb,
|
||||||
0xbd, 0xf6, 0x63, 0xc8, 0x80, 0x53, 0x09, 0x91, 0x97, 0x73, 0x26, 0x19, 0x7e, 0x58, 0x65, 0x7b,
|
0x93, 0x09, 0x91, 0xf8, 0x24, 0x4c, 0x09, 0x25, 0x1c, 0x4b, 0x92, 0x04, 0x39, 0x67, 0x92, 0xc1,
|
||||||
0x34, 0x4f, 0xbc, 0x36, 0xdb, 0xab, 0xb3, 0x2f, 0x1e, 0xc5, 0x89, 0x9c, 0xaf, 0x66, 0x5e, 0xc8,
|
0x47, 0x55, 0x74, 0x80, 0xf3, 0x2c, 0x68, 0xa2, 0x03, 0x13, 0x7d, 0xf4, 0x24, 0xcd, 0xe4, 0x74,
|
||||||
0x52, 0x3f, 0x66, 0x31, 0xf3, 0x35, 0x69, 0xb6, 0x7a, 0xa9, 0x6f, 0xfa, 0xa2, 0x4f, 0x95, 0xd8,
|
0x31, 0x09, 0x62, 0x36, 0x0f, 0x53, 0x96, 0xb2, 0x50, 0x93, 0x26, 0x8b, 0x6b, 0xbd, 0xd3, 0x1b,
|
||||||
0xc5, 0x68, 0xa7, 0x74, 0xc8, 0x38, 0xf8, 0xeb, 0x83, 0x82, 0x17, 0x4f, 0xba, 0x9c, 0x94, 0x86,
|
0xbd, 0xaa, 0xc4, 0x8e, 0xfc, 0xb5, 0xd4, 0x31, 0xe3, 0x24, 0x5c, 0x6e, 0x25, 0x3c, 0x7a, 0xda,
|
||||||
0xf3, 0x24, 0x53, 0xdd, 0xe5, 0x8b, 0x58, 0x01, 0xc2, 0x4f, 0x41, 0xd2, 0x7f, 0x62, 0xf9, 0xff,
|
0xc6, 0xcc, 0x71, 0x3c, 0xcd, 0xa8, 0xaa, 0x2e, 0x9f, 0xa5, 0x0a, 0x10, 0xe1, 0x9c, 0x48, 0xfc,
|
||||||
0xc6, 0xe2, 0xab, 0x4c, 0x26, 0x29, 0x1c, 0x10, 0x3e, 0xfe, 0x3f, 0x82, 0x08, 0xe7, 0x90, 0xd2,
|
0x6f, 0xac, 0xf0, 0xbf, 0x58, 0x7c, 0x41, 0x65, 0x36, 0x27, 0x5b, 0x84, 0xcf, 0xfe, 0x8f, 0x20,
|
||||||
0xbf, 0xf3, 0x46, 0x7f, 0xf6, 0x91, 0x75, 0x9b, 0x45, 0x39, 0x4b, 0x32, 0x89, 0xaf, 0x90, 0x4d,
|
0xe2, 0x29, 0x99, 0xe3, 0x7f, 0xf2, 0xfc, 0xdf, 0xf6, 0x81, 0x7d, 0x4e, 0x93, 0x9c, 0x65, 0x54,
|
||||||
0xa3, 0x88, 0x83, 0x10, 0x20, 0x86, 0xc6, 0x65, 0x7f, 0x6c, 0x07, 0xe7, 0x65, 0xe1, 0xda, 0x37,
|
0xc2, 0x63, 0xe0, 0xe0, 0x24, 0xe1, 0x44, 0x08, 0x22, 0x86, 0xd6, 0xa8, 0x3b, 0x76, 0xa2, 0xc3,
|
||||||
0x0d, 0x48, 0xba, 0x38, 0x8e, 0x10, 0x0a, 0x59, 0x16, 0x25, 0x32, 0x61, 0x99, 0x18, 0x9e, 0x5c,
|
0xb2, 0xf0, 0x9c, 0xb3, 0x1a, 0x44, 0xed, 0x39, 0x4c, 0x00, 0x88, 0x19, 0x4d, 0x32, 0x99, 0x31,
|
||||||
0x1a, 0xe3, 0xc1, 0xe3, 0x8f, 0xbc, 0xff, 0x1a, 0xaf, 0xd7, 0x14, 0xfa, 0xac, 0xe5, 0x05, 0xf8,
|
0x2a, 0x86, 0x7b, 0x23, 0x6b, 0x3c, 0x38, 0xfd, 0x34, 0xb8, 0xcf, 0xde, 0xa0, 0x4e, 0xf4, 0x65,
|
||||||
0xae, 0x70, 0x7b, 0x65, 0xe1, 0xa2, 0x0e, 0x23, 0x3b, 0xba, 0x78, 0x8c, 0xac, 0x39, 0x13, 0x32,
|
0xc3, 0x8b, 0xe0, 0x6d, 0xe1, 0x75, 0xca, 0xc2, 0x03, 0x2d, 0x86, 0xd6, 0x74, 0xe1, 0x18, 0xd8,
|
||||||
0xa3, 0x29, 0x0c, 0xfb, 0x97, 0xc6, 0xd8, 0x0e, 0xee, 0x95, 0x85, 0x6b, 0x7d, 0x59, 0x63, 0xa4,
|
0x53, 0x26, 0x24, 0xc5, 0x73, 0x32, 0xec, 0x8e, 0xac, 0xb1, 0x13, 0x1d, 0x94, 0x85, 0x67, 0x3f,
|
||||||
0x8d, 0xe2, 0x09, 0xb2, 0x25, 0xe5, 0x31, 0x48, 0x02, 0x2f, 0x87, 0xa7, 0xba, 0x9d, 0xf7, 0x76,
|
0x37, 0x18, 0x6a, 0x4e, 0xe1, 0x05, 0x70, 0x24, 0xe6, 0x29, 0x91, 0x88, 0x5c, 0x0f, 0xf7, 0x75,
|
||||||
0xdb, 0x51, 0x0f, 0xe4, 0xad, 0xaf, 0xbd, 0xe7, 0xb3, 0x1f, 0x21, 0x54, 0x49, 0xc0, 0x21, 0x0b,
|
0x39, 0x1f, 0xad, 0x97, 0xa3, 0x06, 0x14, 0x2c, 0x4f, 0x82, 0x57, 0x93, 0x9f, 0x48, 0xac, 0x82,
|
||||||
0xa1, 0x72, 0x38, 0x6d, 0x98, 0xa4, 0x13, 0xc1, 0x33, 0x64, 0x49, 0x96, 0xb3, 0x25, 0x8b, 0x37,
|
0x08, 0x27, 0x34, 0x26, 0x55, 0x87, 0x57, 0x35, 0x13, 0xb5, 0x22, 0x70, 0x02, 0x6c, 0xc9, 0x72,
|
||||||
0x43, 0xf3, 0xb2, 0x3f, 0x1e, 0x3c, 0x7e, 0x72, 0x9c, 0x3f, 0x6f, 0x5a, 0xd3, 0x6e, 0x33, 0xc9,
|
0x76, 0xc3, 0xd2, 0xd5, 0xb0, 0x37, 0xea, 0x8e, 0x07, 0xa7, 0x4f, 0x77, 0xeb, 0x2f, 0xb8, 0x32,
|
||||||
0x37, 0xc1, 0xfd, 0xda, 0xa3, 0xd5, 0xc0, 0xa4, 0xd5, 0x55, 0xfe, 0x32, 0x16, 0xc1, 0x33, 0xe5,
|
0xb4, 0x73, 0x2a, 0xf9, 0x2a, 0x7a, 0x60, 0x7a, 0xb4, 0x6b, 0x18, 0x35, 0xba, 0xaa, 0x3f, 0xca,
|
||||||
0xef, 0xad, 0xce, 0xdf, 0xb3, 0x1a, 0x23, 0x6d, 0xf4, 0xe2, 0x53, 0x74, 0xbe, 0x27, 0x8b, 0xef,
|
0x12, 0xf2, 0x52, 0xf5, 0xf7, 0x5e, 0xdb, 0xdf, 0x4b, 0x83, 0xa1, 0xe6, 0x14, 0xbe, 0x00, 0xbd,
|
||||||
0xa3, 0xfe, 0x02, 0x36, 0x43, 0x43, 0xb1, 0x88, 0x3a, 0xe2, 0x77, 0x90, 0xb9, 0xa6, 0xcb, 0x15,
|
0x69, 0x46, 0xa5, 0x18, 0xf6, 0x75, 0x6f, 0xc7, 0xbb, 0x95, 0xf2, 0x5c, 0x51, 0x22, 0xa7, 0x2c,
|
||||||
0xe8, 0xd7, 0xb0, 0x49, 0x75, 0xf9, 0xe4, 0xe4, 0xa9, 0x31, 0xfa, 0xd9, 0x40, 0xf8, 0x70, 0xfa,
|
0xbc, 0x9e, 0x5e, 0xa2, 0x4a, 0xe4, 0xe8, 0x0b, 0x70, 0xb8, 0x51, 0x24, 0x7c, 0x00, 0xba, 0x33,
|
||||||
0xd8, 0x45, 0x26, 0x07, 0x1a, 0x55, 0x22, 0x56, 0x60, 0x97, 0x85, 0x6b, 0x12, 0x05, 0x90, 0x0a,
|
0xb2, 0x1a, 0x5a, 0xaa, 0x06, 0xa4, 0x96, 0xf0, 0x03, 0xd0, 0x5b, 0xe2, 0x9b, 0x05, 0xd1, 0xb3,
|
||||||
0xc7, 0xef, 0xa3, 0x33, 0x01, 0x7c, 0x9d, 0x64, 0xb1, 0xd6, 0xb4, 0x82, 0x41, 0x59, 0xb8, 0x67,
|
0x75, 0x50, 0xb5, 0xf9, 0x7c, 0xef, 0x99, 0xe5, 0xff, 0x62, 0x01, 0xb8, 0x3d, 0x4b, 0xe8, 0x81,
|
||||||
0x2f, 0x2a, 0x88, 0x34, 0x31, 0x7c, 0x8d, 0x06, 0x12, 0x78, 0x9a, 0x64, 0x54, 0xaa, 0xd4, 0xbe,
|
0x1e, 0x27, 0x38, 0xa9, 0x44, 0xec, 0x2a, 0x29, 0x52, 0x00, 0xaa, 0x70, 0xf8, 0x18, 0xf4, 0x05,
|
||||||
0x4e, 0x7d, 0xbb, 0x2c, 0xdc, 0xc1, 0xb4, 0x83, 0xc9, 0x6e, 0xce, 0xe8, 0x37, 0x03, 0xdd, 0x6b,
|
0xe1, 0xcb, 0x8c, 0xa6, 0x5a, 0xd3, 0x8e, 0x06, 0x65, 0xe1, 0xf5, 0x2f, 0x2b, 0x08, 0xd5, 0x67,
|
||||||
0x3a, 0x9a, 0x30, 0x2e, 0xf1, 0x43, 0x74, 0xaa, 0x5f, 0x59, 0xfb, 0x09, 0xac, 0xb2, 0x70, 0x4f,
|
0xf0, 0x04, 0x0c, 0x24, 0xe1, 0xf3, 0x8c, 0x62, 0xa9, 0x42, 0xbb, 0x3a, 0xf4, 0xfd, 0xb2, 0xf0,
|
||||||
0xf5, 0x04, 0x34, 0x8a, 0xbf, 0x40, 0x96, 0xfe, 0xb0, 0x21, 0x5b, 0x56, 0xee, 0x82, 0x2b, 0x35,
|
0x06, 0x57, 0x2d, 0x8c, 0xd6, 0x63, 0xfc, 0x04, 0x1c, 0x6e, 0x74, 0x0c, 0x2f, 0x81, 0x7d, 0xcd,
|
||||||
0xa7, 0x49, 0x8d, 0xbd, 0x29, 0xdc, 0x77, 0x0f, 0x97, 0xd1, 0x6b, 0xc2, 0xa4, 0x25, 0xab, 0x32,
|
0xf8, 0x6b, 0x46, 0xcd, 0x4d, 0x1e, 0x9c, 0x3e, 0xbe, 0xdf, 0xb0, 0xaf, 0xab, 0xe8, 0x76, 0x58,
|
||||||
0x39, 0xe3, 0x52, 0xf7, 0x68, 0x56, 0x65, 0x54, 0x79, 0xa2, 0x51, 0x65, 0x84, 0xe6, 0x79, 0x43,
|
0x06, 0x10, 0xa8, 0x11, 0xf2, 0xff, 0xb0, 0xc0, 0x41, 0x9d, 0xe6, 0x82, 0x71, 0x09, 0x1f, 0x81,
|
||||||
0xd3, 0xdf, 0xc8, 0xae, 0x8c, 0xdc, 0x74, 0x30, 0xd9, 0xcd, 0x19, 0x6d, 0x4f, 0xd0, 0x79, 0x63,
|
0x7d, 0x7d, 0x33, 0xb5, 0x6b, 0x91, 0x5d, 0x16, 0xde, 0xbe, 0x9e, 0x9a, 0x46, 0xe1, 0x37, 0xc0,
|
||||||
0xe4, 0xc5, 0x32, 0x09, 0x01, 0xff, 0x80, 0x2c, 0xb5, 0xd7, 0x11, 0x95, 0x54, 0xbb, 0xd9, 0xdf,
|
0xd6, 0x8f, 0x2c, 0x66, 0x37, 0x95, 0x87, 0xd1, 0xb1, 0x12, 0xbe, 0x30, 0xd8, 0xbb, 0xc2, 0xfb,
|
||||||
0x8b, 0x76, 0x3d, 0xbd, 0x7c, 0x11, 0x2b, 0x40, 0x78, 0x2a, 0xbb, 0xfb, 0x9a, 0xdf, 0x80, 0xa4,
|
0x70, 0xfb, 0x03, 0x09, 0xea, 0x63, 0xd4, 0x90, 0x55, 0x9a, 0x9c, 0x71, 0xa9, 0x9d, 0xe8, 0x55,
|
||||||
0xdd, 0x5e, 0x74, 0x18, 0x69, 0x55, 0xf1, 0xe7, 0x68, 0x50, 0x2f, 0xe2, 0x74, 0x93, 0x43, 0xdd,
|
0x69, 0x54, 0x7a, 0xa4, 0x51, 0x65, 0x17, 0xce, 0xf3, 0x9a, 0xa6, 0xaf, 0xbe, 0x53, 0xd9, 0x75,
|
||||||
0xe6, 0xa8, 0xa6, 0x0c, 0x6e, 0xba, 0xd0, 0x9b, 0xfd, 0x2b, 0xd9, 0xa5, 0xe1, 0x6f, 0x91, 0x0d,
|
0xd6, 0xc2, 0x68, 0x3d, 0xc6, 0xbf, 0xdb, 0x6b, 0xfd, 0xba, 0xbc, 0xc9, 0x62, 0x02, 0x7f, 0x04,
|
||||||
0x75, 0xe3, 0x6a, 0x81, 0xd5, 0x07, 0xff, 0xe0, 0xb8, 0x0f, 0x1e, 0x3c, 0xa8, 0x6b, 0xd9, 0x0d,
|
0xb6, 0xfa, 0x8b, 0x12, 0x2c, 0xb1, 0xee, 0x66, 0xf3, 0x2d, 0x37, 0x5f, 0x4a, 0x90, 0xcf, 0x52,
|
||||||
0x22, 0x48, 0xa7, 0x85, 0x9f, 0x23, 0x53, 0x4d, 0x53, 0x0c, 0xfb, 0x5a, 0xf4, 0xc3, 0xe3, 0x44,
|
0x05, 0x88, 0x40, 0x45, 0xb7, 0xcf, 0xe9, 0x3b, 0x22, 0x71, 0xfb, 0x96, 0x5b, 0x0c, 0x35, 0xaa,
|
||||||
0xd5, 0x33, 0x04, 0xe7, 0xb5, 0xb0, 0xa9, 0x6e, 0x82, 0x54, 0x3a, 0xa3, 0x5f, 0x0d, 0xf4, 0x60,
|
0xf0, 0x2b, 0x30, 0x30, 0x9f, 0xc7, 0xd5, 0x2a, 0x27, 0xa6, 0x4c, 0xdf, 0x50, 0x06, 0x67, 0xed,
|
||||||
0x6f, 0xc6, 0x5f, 0x27, 0x42, 0xe2, 0xef, 0x0f, 0xe6, 0xec, 0x1d, 0x37, 0x67, 0xc5, 0xd6, 0x53,
|
0xd1, 0xbb, 0xcd, 0x2d, 0x5a, 0xa7, 0xc1, 0xef, 0x81, 0x43, 0x4c, 0xe1, 0xea, 0xd3, 0x51, 0x83,
|
||||||
0x6e, 0x37, 0xb3, 0x41, 0x76, 0x66, 0x3c, 0x41, 0x66, 0x22, 0x21, 0x6d, 0x26, 0x73, 0x75, 0x9c,
|
0xfd, 0x78, 0xb7, 0x97, 0x10, 0x3d, 0x34, 0xb9, 0x9c, 0x1a, 0x11, 0xa8, 0xd5, 0x82, 0xaf, 0x40,
|
||||||
0x09, 0xdd, 0x5d, 0xe7, 0xe2, 0x2b, 0xa5, 0x40, 0x2a, 0xa1, 0xe0, 0xd1, 0xdd, 0xd6, 0xe9, 0xbd,
|
0x4f, 0xb9, 0x29, 0x86, 0x5d, 0x2d, 0xfa, 0xc9, 0x6e, 0xa2, 0x6a, 0x0c, 0xd1, 0xa1, 0x11, 0xee,
|
||||||
0xda, 0x3a, 0xbd, 0xd7, 0x5b, 0xa7, 0xf7, 0x53, 0xe9, 0x18, 0x77, 0xa5, 0x63, 0xbc, 0x2a, 0x1d,
|
0xa9, 0x9d, 0x40, 0x95, 0x8e, 0xff, 0xbb, 0x05, 0x1e, 0x6e, 0x78, 0xfc, 0x22, 0x13, 0x12, 0xfe,
|
||||||
0xe3, 0x75, 0xe9, 0x18, 0xbf, 0x97, 0x8e, 0xf1, 0xcb, 0x1f, 0x4e, 0xef, 0xbb, 0xb3, 0x5a, 0xf2,
|
0xb0, 0xe5, 0x73, 0xb0, 0x9b, 0xcf, 0x8a, 0xad, 0x5d, 0x6e, 0x2e, 0x68, 0x8d, 0xac, 0x79, 0x7c,
|
||||||
0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x35, 0xe6, 0xf5, 0xf2, 0x06, 0x00, 0x00,
|
0x01, 0x7a, 0x99, 0x24, 0xf3, 0xda, 0x99, 0x1d, 0xff, 0x08, 0x5d, 0x5d, 0xdb, 0xc5, 0xb7, 0x4a,
|
||||||
|
0x01, 0x55, 0x42, 0xfe, 0x31, 0xe8, 0x9b, 0x87, 0x00, 0x47, 0x1b, 0x97, 0xfd, 0xc0, 0x84, 0xaf,
|
||||||
|
0x5d, 0xf8, 0xe8, 0xc9, 0xed, 0x9d, 0xdb, 0x79, 0x73, 0xe7, 0x76, 0xde, 0xde, 0xb9, 0x9d, 0x9f,
|
||||||
|
0x4b, 0xd7, 0xba, 0x2d, 0x5d, 0xeb, 0x4d, 0xe9, 0x5a, 0x6f, 0x4b, 0xd7, 0xfa, 0xb3, 0x74, 0xad,
|
||||||
|
0x5f, 0xff, 0x72, 0x3b, 0xaf, 0xfb, 0x26, 0xff, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x0d,
|
||||||
|
0x6f, 0x98, 0xd3, 0x07, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Endpoint) Marshal() (dAtA []byte, err error) {
|
func (m *Endpoint) Marshal() (dAtA []byte, err error) {
|
||||||
@ -273,6 +336,18 @@ func (m *Endpoint) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
if m.Hints != nil {
|
||||||
|
{
|
||||||
|
size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i -= size
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(size))
|
||||||
|
}
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x3a
|
||||||
|
}
|
||||||
if m.NodeName != nil {
|
if m.NodeName != nil {
|
||||||
i -= len(*m.NodeName)
|
i -= len(*m.NodeName)
|
||||||
copy(dAtA[i:], *m.NodeName)
|
copy(dAtA[i:], *m.NodeName)
|
||||||
@ -398,6 +473,43 @@ func (m *EndpointConditions) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *EndpointHints) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *EndpointHints) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
size := m.Size()
|
||||||
|
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *EndpointHints) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
|
i := len(dAtA)
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
if len(m.ForZones) > 0 {
|
||||||
|
for iNdEx := len(m.ForZones) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
|
{
|
||||||
|
size, err := m.ForZones[iNdEx].MarshalToSizedBuffer(dAtA[:i])
|
||||||
|
if err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
i -= size
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(size))
|
||||||
|
}
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return len(dAtA) - i, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *EndpointPort) Marshal() (dAtA []byte, err error) {
|
func (m *EndpointPort) Marshal() (dAtA []byte, err error) {
|
||||||
size := m.Size()
|
size := m.Size()
|
||||||
dAtA = make([]byte, size)
|
dAtA = make([]byte, size)
|
||||||
@ -560,6 +672,34 @@ func (m *EndpointSliceList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
|||||||
return len(dAtA) - i, nil
|
return len(dAtA) - i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *ForZone) Marshal() (dAtA []byte, err error) {
|
||||||
|
size := m.Size()
|
||||||
|
dAtA = make([]byte, size)
|
||||||
|
n, err := m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return dAtA[:n], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ForZone) MarshalTo(dAtA []byte) (int, error) {
|
||||||
|
size := m.Size()
|
||||||
|
return m.MarshalToSizedBuffer(dAtA[:size])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *ForZone) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
|
i := len(dAtA)
|
||||||
|
_ = i
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
i -= len(m.Name)
|
||||||
|
copy(dAtA[i:], m.Name)
|
||||||
|
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
return len(dAtA) - i, nil
|
||||||
|
}
|
||||||
|
|
||||||
func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
|
||||||
offset -= sovGenerated(v)
|
offset -= sovGenerated(v)
|
||||||
base := offset
|
base := offset
|
||||||
@ -605,6 +745,10 @@ func (m *Endpoint) Size() (n int) {
|
|||||||
l = len(*m.NodeName)
|
l = len(*m.NodeName)
|
||||||
n += 1 + l + sovGenerated(uint64(l))
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
}
|
}
|
||||||
|
if m.Hints != nil {
|
||||||
|
l = m.Hints.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -626,6 +770,21 @@ func (m *EndpointConditions) Size() (n int) {
|
|||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *EndpointHints) Size() (n int) {
|
||||||
|
if m == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
if len(m.ForZones) > 0 {
|
||||||
|
for _, e := range m.ForZones {
|
||||||
|
l = e.Size()
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
func (m *EndpointPort) Size() (n int) {
|
func (m *EndpointPort) Size() (n int) {
|
||||||
if m == nil {
|
if m == nil {
|
||||||
return 0
|
return 0
|
||||||
@ -692,6 +851,17 @@ func (m *EndpointSliceList) Size() (n int) {
|
|||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *ForZone) Size() (n int) {
|
||||||
|
if m == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
var l int
|
||||||
|
_ = l
|
||||||
|
l = len(m.Name)
|
||||||
|
n += 1 + l + sovGenerated(uint64(l))
|
||||||
|
return n
|
||||||
|
}
|
||||||
|
|
||||||
func sovGenerated(x uint64) (n int) {
|
func sovGenerated(x uint64) (n int) {
|
||||||
return (math_bits.Len64(x|1) + 6) / 7
|
return (math_bits.Len64(x|1) + 6) / 7
|
||||||
}
|
}
|
||||||
@ -719,6 +889,7 @@ func (this *Endpoint) String() string {
|
|||||||
`TargetRef:` + strings.Replace(fmt.Sprintf("%v", this.TargetRef), "ObjectReference", "v1.ObjectReference", 1) + `,`,
|
`TargetRef:` + strings.Replace(fmt.Sprintf("%v", this.TargetRef), "ObjectReference", "v1.ObjectReference", 1) + `,`,
|
||||||
`Topology:` + mapStringForTopology + `,`,
|
`Topology:` + mapStringForTopology + `,`,
|
||||||
`NodeName:` + valueToStringGenerated(this.NodeName) + `,`,
|
`NodeName:` + valueToStringGenerated(this.NodeName) + `,`,
|
||||||
|
`Hints:` + strings.Replace(this.Hints.String(), "EndpointHints", "EndpointHints", 1) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
@ -735,6 +906,21 @@ func (this *EndpointConditions) String() string {
|
|||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
func (this *EndpointHints) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
repeatedStringForForZones := "[]ForZone{"
|
||||||
|
for _, f := range this.ForZones {
|
||||||
|
repeatedStringForForZones += strings.Replace(strings.Replace(f.String(), "ForZone", "ForZone", 1), `&`, ``, 1) + ","
|
||||||
|
}
|
||||||
|
repeatedStringForForZones += "}"
|
||||||
|
s := strings.Join([]string{`&EndpointHints{`,
|
||||||
|
`ForZones:` + repeatedStringForForZones + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
func (this *EndpointPort) String() string {
|
func (this *EndpointPort) String() string {
|
||||||
if this == nil {
|
if this == nil {
|
||||||
return "nil"
|
return "nil"
|
||||||
@ -787,6 +973,16 @@ func (this *EndpointSliceList) String() string {
|
|||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
func (this *ForZone) String() string {
|
||||||
|
if this == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
|
s := strings.Join([]string{`&ForZone{`,
|
||||||
|
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
|
||||||
|
`}`,
|
||||||
|
}, "")
|
||||||
|
return s
|
||||||
|
}
|
||||||
func valueToStringGenerated(v interface{}) string {
|
func valueToStringGenerated(v interface{}) string {
|
||||||
rv := reflect.ValueOf(v)
|
rv := reflect.ValueOf(v)
|
||||||
if rv.IsNil() {
|
if rv.IsNil() {
|
||||||
@ -1118,6 +1314,42 @@ func (m *Endpoint) Unmarshal(dAtA []byte) error {
|
|||||||
s := string(dAtA[iNdEx:postIndex])
|
s := string(dAtA[iNdEx:postIndex])
|
||||||
m.NodeName = &s
|
m.NodeName = &s
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 7:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= int(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
if m.Hints == nil {
|
||||||
|
m.Hints = &EndpointHints{}
|
||||||
|
}
|
||||||
|
if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGenerated(dAtA[iNdEx:])
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
@ -1252,6 +1484,90 @@ func (m *EndpointConditions) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func (m *EndpointHints) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: EndpointHints: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: EndpointHints: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field ForZones", wireType)
|
||||||
|
}
|
||||||
|
var msglen int
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
msglen |= int(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if msglen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + msglen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.ForZones = append(m.ForZones, ForZone{})
|
||||||
|
if err := m.ForZones[len(m.ForZones)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func (m *EndpointPort) Unmarshal(dAtA []byte) error {
|
func (m *EndpointPort) Unmarshal(dAtA []byte) error {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
@ -1721,6 +2037,88 @@ func (m *EndpointSliceList) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func (m *ForZone) Unmarshal(dAtA []byte) error {
|
||||||
|
l := len(dAtA)
|
||||||
|
iNdEx := 0
|
||||||
|
for iNdEx < l {
|
||||||
|
preIndex := iNdEx
|
||||||
|
var wire uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
wire |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fieldNum := int32(wire >> 3)
|
||||||
|
wireType := int(wire & 0x7)
|
||||||
|
if wireType == 4 {
|
||||||
|
return fmt.Errorf("proto: ForZone: wiretype end group for non-group")
|
||||||
|
}
|
||||||
|
if fieldNum <= 0 {
|
||||||
|
return fmt.Errorf("proto: ForZone: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
|
}
|
||||||
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGenerated
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Name = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
default:
|
||||||
|
iNdEx = preIndex
|
||||||
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if (skippy < 0) || (iNdEx+skippy) < 0 {
|
||||||
|
return ErrInvalidLengthGenerated
|
||||||
|
}
|
||||||
|
if (iNdEx + skippy) > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
iNdEx += skippy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if iNdEx > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func skipGenerated(dAtA []byte) (n int, err error) {
|
func skipGenerated(dAtA []byte) (n int, err error) {
|
||||||
l := len(dAtA)
|
l := len(dAtA)
|
||||||
iNdEx := 0
|
iNdEx := 0
|
||||||
|
@ -76,6 +76,12 @@ message Endpoint {
|
|||||||
// with the EndpointSliceNodeName feature gate.
|
// with the EndpointSliceNodeName feature gate.
|
||||||
// +optional
|
// +optional
|
||||||
optional string nodeName = 6;
|
optional string nodeName = 6;
|
||||||
|
|
||||||
|
// hints contains information associated with how an endpoint should be
|
||||||
|
// consumed.
|
||||||
|
// +featureGate=TopologyAwareHints
|
||||||
|
// +optional
|
||||||
|
optional EndpointHints hints = 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointConditions represents the current condition of an endpoint.
|
// EndpointConditions represents the current condition of an endpoint.
|
||||||
@ -104,6 +110,14 @@ message EndpointConditions {
|
|||||||
optional bool terminating = 3;
|
optional bool terminating = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EndpointHints provides hints describing how an endpoint should be consumed.
|
||||||
|
message EndpointHints {
|
||||||
|
// forZones indicates the zone(s) this endpoint should be consumed by to
|
||||||
|
// enable topology aware routing. May contain a maximum of 8 entries.
|
||||||
|
// +listType=atomic
|
||||||
|
repeated ForZone forZones = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// EndpointPort represents a Port used by an EndpointSlice
|
// EndpointPort represents a Port used by an EndpointSlice
|
||||||
message EndpointPort {
|
message EndpointPort {
|
||||||
// The name of this port. All ports in an EndpointSlice must have a unique
|
// The name of this port. All ports in an EndpointSlice must have a unique
|
||||||
@ -178,3 +192,9 @@ message EndpointSliceList {
|
|||||||
repeated EndpointSlice items = 2;
|
repeated EndpointSlice items = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ForZone provides information about which zones should consume this endpoint.
|
||||||
|
message ForZone {
|
||||||
|
// name represents the name of the zone.
|
||||||
|
optional string name = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -110,6 +110,11 @@ type Endpoint struct {
|
|||||||
// with the EndpointSliceNodeName feature gate.
|
// with the EndpointSliceNodeName feature gate.
|
||||||
// +optional
|
// +optional
|
||||||
NodeName *string `json:"nodeName,omitempty" protobuf:"bytes,6,opt,name=nodeName"`
|
NodeName *string `json:"nodeName,omitempty" protobuf:"bytes,6,opt,name=nodeName"`
|
||||||
|
// hints contains information associated with how an endpoint should be
|
||||||
|
// consumed.
|
||||||
|
// +featureGate=TopologyAwareHints
|
||||||
|
// +optional
|
||||||
|
Hints *EndpointHints `json:"hints,omitempty" protobuf:"bytes,7,opt,name=hints"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointConditions represents the current condition of an endpoint.
|
// EndpointConditions represents the current condition of an endpoint.
|
||||||
@ -138,6 +143,20 @@ type EndpointConditions struct {
|
|||||||
Terminating *bool `json:"terminating,omitempty" protobuf:"bytes,3,name=terminating"`
|
Terminating *bool `json:"terminating,omitempty" protobuf:"bytes,3,name=terminating"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EndpointHints provides hints describing how an endpoint should be consumed.
|
||||||
|
type EndpointHints struct {
|
||||||
|
// forZones indicates the zone(s) this endpoint should be consumed by to
|
||||||
|
// enable topology aware routing. May contain a maximum of 8 entries.
|
||||||
|
// +listType=atomic
|
||||||
|
ForZones []ForZone `json:"forZones,omitempty" protobuf:"bytes,1,name=forZones"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ForZone provides information about which zones should consume this endpoint.
|
||||||
|
type ForZone struct {
|
||||||
|
// name represents the name of the zone.
|
||||||
|
Name string `json:"name" protobuf:"bytes,1,name=name"`
|
||||||
|
}
|
||||||
|
|
||||||
// EndpointPort represents a Port used by an EndpointSlice
|
// EndpointPort represents a Port used by an EndpointSlice
|
||||||
type EndpointPort struct {
|
type EndpointPort struct {
|
||||||
// The name of this port. All ports in an EndpointSlice must have a unique
|
// The name of this port. All ports in an EndpointSlice must have a unique
|
||||||
|
@ -35,6 +35,7 @@ var map_Endpoint = map[string]string{
|
|||||||
"targetRef": "targetRef is a reference to a Kubernetes object that represents this endpoint.",
|
"targetRef": "targetRef is a reference to a Kubernetes object that represents this endpoint.",
|
||||||
"topology": "topology contains arbitrary topology information associated with the endpoint. These key/value pairs must conform with the label format. https://kubernetes.io/docs/concepts/overview/working-with-objects/labels Topology may include a maximum of 16 key/value pairs. This includes, but is not limited to the following well known keys: * kubernetes.io/hostname: the value indicates the hostname of the node\n where the endpoint is located. This should match the corresponding\n node label.\n* topology.kubernetes.io/zone: the value indicates the zone where the\n endpoint is located. This should match the corresponding node label.\n* topology.kubernetes.io/region: the value indicates the region where the\n endpoint is located. This should match the corresponding node label.\nThis field is deprecated and will be removed in future api versions.",
|
"topology": "topology contains arbitrary topology information associated with the endpoint. These key/value pairs must conform with the label format. https://kubernetes.io/docs/concepts/overview/working-with-objects/labels Topology may include a maximum of 16 key/value pairs. This includes, but is not limited to the following well known keys: * kubernetes.io/hostname: the value indicates the hostname of the node\n where the endpoint is located. This should match the corresponding\n node label.\n* topology.kubernetes.io/zone: the value indicates the zone where the\n endpoint is located. This should match the corresponding node label.\n* topology.kubernetes.io/region: the value indicates the region where the\n endpoint is located. This should match the corresponding node label.\nThis field is deprecated and will be removed in future api versions.",
|
||||||
"nodeName": "nodeName represents the name of the Node hosting this endpoint. This can be used to determine endpoints local to a Node. This field can be enabled with the EndpointSliceNodeName feature gate.",
|
"nodeName": "nodeName represents the name of the Node hosting this endpoint. This can be used to determine endpoints local to a Node. This field can be enabled with the EndpointSliceNodeName feature gate.",
|
||||||
|
"hints": "hints contains information associated with how an endpoint should be consumed.",
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Endpoint) SwaggerDoc() map[string]string {
|
func (Endpoint) SwaggerDoc() map[string]string {
|
||||||
@ -52,6 +53,15 @@ func (EndpointConditions) SwaggerDoc() map[string]string {
|
|||||||
return map_EndpointConditions
|
return map_EndpointConditions
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var map_EndpointHints = map[string]string{
|
||||||
|
"": "EndpointHints provides hints describing how an endpoint should be consumed.",
|
||||||
|
"forZones": "forZones indicates the zone(s) this endpoint should be consumed by to enable topology aware routing. May contain a maximum of 8 entries.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (EndpointHints) SwaggerDoc() map[string]string {
|
||||||
|
return map_EndpointHints
|
||||||
|
}
|
||||||
|
|
||||||
var map_EndpointPort = map[string]string{
|
var map_EndpointPort = map[string]string{
|
||||||
"": "EndpointPort represents a Port used by an EndpointSlice",
|
"": "EndpointPort represents a Port used by an EndpointSlice",
|
||||||
"name": "The name of this port. All ports in an EndpointSlice must have a unique name. If the EndpointSlice is dervied from a Kubernetes service, this corresponds to the Service.ports[].name. Name must either be an empty string or pass DNS_LABEL validation: * must be no more than 63 characters long. * must consist of lower case alphanumeric characters or '-'. * must start and end with an alphanumeric character. Default is empty string.",
|
"name": "The name of this port. All ports in an EndpointSlice must have a unique name. If the EndpointSlice is dervied from a Kubernetes service, this corresponds to the Service.ports[].name. Name must either be an empty string or pass DNS_LABEL validation: * must be no more than 63 characters long. * must consist of lower case alphanumeric characters or '-'. * must start and end with an alphanumeric character. Default is empty string.",
|
||||||
@ -86,4 +96,13 @@ func (EndpointSliceList) SwaggerDoc() map[string]string {
|
|||||||
return map_EndpointSliceList
|
return map_EndpointSliceList
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var map_ForZone = map[string]string{
|
||||||
|
"": "ForZone provides information about which zones should consume this endpoint.",
|
||||||
|
"name": "name represents the name of the zone.",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ForZone) SwaggerDoc() map[string]string {
|
||||||
|
return map_ForZone
|
||||||
|
}
|
||||||
|
|
||||||
// AUTO-GENERATED FUNCTIONS END HERE
|
// AUTO-GENERATED FUNCTIONS END HERE
|
||||||
|
@ -56,6 +56,11 @@ func (in *Endpoint) DeepCopyInto(out *Endpoint) {
|
|||||||
*out = new(string)
|
*out = new(string)
|
||||||
**out = **in
|
**out = **in
|
||||||
}
|
}
|
||||||
|
if in.Hints != nil {
|
||||||
|
in, out := &in.Hints, &out.Hints
|
||||||
|
*out = new(EndpointHints)
|
||||||
|
(*in).DeepCopyInto(*out)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,6 +105,27 @@ func (in *EndpointConditions) DeepCopy() *EndpointConditions {
|
|||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *EndpointHints) DeepCopyInto(out *EndpointHints) {
|
||||||
|
*out = *in
|
||||||
|
if in.ForZones != nil {
|
||||||
|
in, out := &in.ForZones, &out.ForZones
|
||||||
|
*out = make([]ForZone, len(*in))
|
||||||
|
copy(*out, *in)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointHints.
|
||||||
|
func (in *EndpointHints) DeepCopy() *EndpointHints {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(EndpointHints)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *EndpointPort) DeepCopyInto(out *EndpointPort) {
|
func (in *EndpointPort) DeepCopyInto(out *EndpointPort) {
|
||||||
*out = *in
|
*out = *in
|
||||||
@ -208,3 +234,19 @@ func (in *EndpointSliceList) DeepCopyObject() runtime.Object {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *ForZone) DeepCopyInto(out *ForZone) {
|
||||||
|
*out = *in
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForZone.
|
||||||
|
func (in *ForZone) DeepCopy() *ForZone {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(ForZone)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
@ -65,15 +65,22 @@
|
|||||||
"27": "28"
|
"27": "28"
|
||||||
},
|
},
|
||||||
"nodeName": "29",
|
"nodeName": "29",
|
||||||
"zone": "30"
|
"zone": "30",
|
||||||
|
"hints": {
|
||||||
|
"forZones": [
|
||||||
|
{
|
||||||
|
"name": "31"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ports": [
|
"ports": [
|
||||||
{
|
{
|
||||||
"name": "31",
|
"name": "32",
|
||||||
"protocol": "脽ěĂ凗蓏Ŋ蛊ĉy緅縕",
|
"protocol": "ěĂ凗蓏Ŋ蛊ĉy緅縕",
|
||||||
"port": -591435092,
|
"port": -591435092,
|
||||||
"appProtocol": "32"
|
"appProtocol": "33"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
Binary file not shown.
@ -9,6 +9,9 @@ endpoints:
|
|||||||
terminating: false
|
terminating: false
|
||||||
deprecatedTopology:
|
deprecatedTopology:
|
||||||
"27": "28"
|
"27": "28"
|
||||||
|
hints:
|
||||||
|
forZones:
|
||||||
|
- name: "31"
|
||||||
hostname: "20"
|
hostname: "20"
|
||||||
nodeName: "29"
|
nodeName: "29"
|
||||||
targetRef:
|
targetRef:
|
||||||
@ -51,7 +54,7 @@ metadata:
|
|||||||
selfLink: "5"
|
selfLink: "5"
|
||||||
uid: "7"
|
uid: "7"
|
||||||
ports:
|
ports:
|
||||||
- appProtocol: "32"
|
- appProtocol: "33"
|
||||||
name: "31"
|
name: "32"
|
||||||
port: -591435092
|
port: -591435092
|
||||||
protocol: 脽ěĂ凗蓏Ŋ蛊ĉy緅縕
|
protocol: ěĂ凗蓏Ŋ蛊ĉy緅縕
|
||||||
|
@ -64,15 +64,22 @@
|
|||||||
"topology": {
|
"topology": {
|
||||||
"27": "28"
|
"27": "28"
|
||||||
},
|
},
|
||||||
"nodeName": "29"
|
"nodeName": "29",
|
||||||
|
"hints": {
|
||||||
|
"forZones": [
|
||||||
|
{
|
||||||
|
"name": "30"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ports": [
|
"ports": [
|
||||||
{
|
{
|
||||||
"name": "30",
|
"name": "31",
|
||||||
"protocol": "脽ěĂ凗蓏Ŋ蛊ĉy緅縕",
|
"protocol": "ěĂ凗蓏Ŋ蛊ĉy緅縕",
|
||||||
"port": -591435092,
|
"port": -591435092,
|
||||||
"appProtocol": "31"
|
"appProtocol": "32"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
Binary file not shown.
@ -7,6 +7,9 @@ endpoints:
|
|||||||
ready: false
|
ready: false
|
||||||
serving: false
|
serving: false
|
||||||
terminating: false
|
terminating: false
|
||||||
|
hints:
|
||||||
|
forZones:
|
||||||
|
- name: "30"
|
||||||
hostname: "20"
|
hostname: "20"
|
||||||
nodeName: "29"
|
nodeName: "29"
|
||||||
targetRef:
|
targetRef:
|
||||||
@ -50,7 +53,7 @@ metadata:
|
|||||||
selfLink: "5"
|
selfLink: "5"
|
||||||
uid: "7"
|
uid: "7"
|
||||||
ports:
|
ports:
|
||||||
- appProtocol: "31"
|
- appProtocol: "32"
|
||||||
name: "30"
|
name: "31"
|
||||||
port: -591435092
|
port: -591435092
|
||||||
protocol: 脽ěĂ凗蓏Ŋ蛊ĉy緅縕
|
protocol: ěĂ凗蓏Ŋ蛊ĉy緅縕
|
||||||
|
@ -32,6 +32,7 @@ type EndpointApplyConfiguration struct {
|
|||||||
DeprecatedTopology map[string]string `json:"deprecatedTopology,omitempty"`
|
DeprecatedTopology map[string]string `json:"deprecatedTopology,omitempty"`
|
||||||
NodeName *string `json:"nodeName,omitempty"`
|
NodeName *string `json:"nodeName,omitempty"`
|
||||||
Zone *string `json:"zone,omitempty"`
|
Zone *string `json:"zone,omitempty"`
|
||||||
|
Hints *EndpointHintsApplyConfiguration `json:"hints,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointApplyConfiguration constructs an declarative configuration of the Endpoint type for use with
|
// EndpointApplyConfiguration constructs an declarative configuration of the Endpoint type for use with
|
||||||
@ -103,3 +104,11 @@ func (b *EndpointApplyConfiguration) WithZone(value string) *EndpointApplyConfig
|
|||||||
b.Zone = &value
|
b.Zone = &value
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithHints sets the Hints 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 Hints field is set to the value of the last call.
|
||||||
|
func (b *EndpointApplyConfiguration) WithHints(value *EndpointHintsApplyConfiguration) *EndpointApplyConfiguration {
|
||||||
|
b.Hints = value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
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
|
||||||
|
|
||||||
|
// EndpointHintsApplyConfiguration represents an declarative configuration of the EndpointHints type for use
|
||||||
|
// with apply.
|
||||||
|
type EndpointHintsApplyConfiguration struct {
|
||||||
|
ForZones []ForZoneApplyConfiguration `json:"forZones,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EndpointHintsApplyConfiguration constructs an declarative configuration of the EndpointHints type for use with
|
||||||
|
// apply.
|
||||||
|
func EndpointHints() *EndpointHintsApplyConfiguration {
|
||||||
|
return &EndpointHintsApplyConfiguration{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithForZones adds the given value to the ForZones 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 ForZones field.
|
||||||
|
func (b *EndpointHintsApplyConfiguration) WithForZones(values ...*ForZoneApplyConfiguration) *EndpointHintsApplyConfiguration {
|
||||||
|
for i := range values {
|
||||||
|
if values[i] == nil {
|
||||||
|
panic("nil value passed to WithForZones")
|
||||||
|
}
|
||||||
|
b.ForZones = append(b.ForZones, *values[i])
|
||||||
|
}
|
||||||
|
return b
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
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
|
||||||
|
|
||||||
|
// ForZoneApplyConfiguration represents an declarative configuration of the ForZone type for use
|
||||||
|
// with apply.
|
||||||
|
type ForZoneApplyConfiguration struct {
|
||||||
|
Name *string `json:"name,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ForZoneApplyConfiguration constructs an declarative configuration of the ForZone type for use with
|
||||||
|
// apply.
|
||||||
|
func ForZone() *ForZoneApplyConfiguration {
|
||||||
|
return &ForZoneApplyConfiguration{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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 *ForZoneApplyConfiguration) WithName(value string) *ForZoneApplyConfiguration {
|
||||||
|
b.Name = &value
|
||||||
|
return b
|
||||||
|
}
|
@ -31,6 +31,7 @@ type EndpointApplyConfiguration struct {
|
|||||||
TargetRef *v1.ObjectReferenceApplyConfiguration `json:"targetRef,omitempty"`
|
TargetRef *v1.ObjectReferenceApplyConfiguration `json:"targetRef,omitempty"`
|
||||||
Topology map[string]string `json:"topology,omitempty"`
|
Topology map[string]string `json:"topology,omitempty"`
|
||||||
NodeName *string `json:"nodeName,omitempty"`
|
NodeName *string `json:"nodeName,omitempty"`
|
||||||
|
Hints *EndpointHintsApplyConfiguration `json:"hints,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointApplyConfiguration constructs an declarative configuration of the Endpoint type for use with
|
// EndpointApplyConfiguration constructs an declarative configuration of the Endpoint type for use with
|
||||||
@ -94,3 +95,11 @@ func (b *EndpointApplyConfiguration) WithNodeName(value string) *EndpointApplyCo
|
|||||||
b.NodeName = &value
|
b.NodeName = &value
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithHints sets the Hints 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 Hints field is set to the value of the last call.
|
||||||
|
func (b *EndpointApplyConfiguration) WithHints(value *EndpointHintsApplyConfiguration) *EndpointApplyConfiguration {
|
||||||
|
b.Hints = value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
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
|
||||||
|
|
||||||
|
// EndpointHintsApplyConfiguration represents an declarative configuration of the EndpointHints type for use
|
||||||
|
// with apply.
|
||||||
|
type EndpointHintsApplyConfiguration struct {
|
||||||
|
ForZones []ForZoneApplyConfiguration `json:"forZones,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// EndpointHintsApplyConfiguration constructs an declarative configuration of the EndpointHints type for use with
|
||||||
|
// apply.
|
||||||
|
func EndpointHints() *EndpointHintsApplyConfiguration {
|
||||||
|
return &EndpointHintsApplyConfiguration{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithForZones adds the given value to the ForZones 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 ForZones field.
|
||||||
|
func (b *EndpointHintsApplyConfiguration) WithForZones(values ...*ForZoneApplyConfiguration) *EndpointHintsApplyConfiguration {
|
||||||
|
for i := range values {
|
||||||
|
if values[i] == nil {
|
||||||
|
panic("nil value passed to WithForZones")
|
||||||
|
}
|
||||||
|
b.ForZones = append(b.ForZones, *values[i])
|
||||||
|
}
|
||||||
|
return b
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
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
|
||||||
|
|
||||||
|
// ForZoneApplyConfiguration represents an declarative configuration of the ForZone type for use
|
||||||
|
// with apply.
|
||||||
|
type ForZoneApplyConfiguration struct {
|
||||||
|
Name *string `json:"name,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// ForZoneApplyConfiguration constructs an declarative configuration of the ForZone type for use with
|
||||||
|
// apply.
|
||||||
|
func ForZone() *ForZoneApplyConfiguration {
|
||||||
|
return &ForZoneApplyConfiguration{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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 *ForZoneApplyConfiguration) WithName(value string) *ForZoneApplyConfiguration {
|
||||||
|
b.Name = &value
|
||||||
|
return b
|
||||||
|
}
|
@ -777,20 +777,28 @@ func ForKind(kind schema.GroupVersionKind) interface{} {
|
|||||||
return &applyconfigurationsdiscoveryv1.EndpointApplyConfiguration{}
|
return &applyconfigurationsdiscoveryv1.EndpointApplyConfiguration{}
|
||||||
case discoveryv1.SchemeGroupVersion.WithKind("EndpointConditions"):
|
case discoveryv1.SchemeGroupVersion.WithKind("EndpointConditions"):
|
||||||
return &applyconfigurationsdiscoveryv1.EndpointConditionsApplyConfiguration{}
|
return &applyconfigurationsdiscoveryv1.EndpointConditionsApplyConfiguration{}
|
||||||
|
case discoveryv1.SchemeGroupVersion.WithKind("EndpointHints"):
|
||||||
|
return &applyconfigurationsdiscoveryv1.EndpointHintsApplyConfiguration{}
|
||||||
case discoveryv1.SchemeGroupVersion.WithKind("EndpointPort"):
|
case discoveryv1.SchemeGroupVersion.WithKind("EndpointPort"):
|
||||||
return &applyconfigurationsdiscoveryv1.EndpointPortApplyConfiguration{}
|
return &applyconfigurationsdiscoveryv1.EndpointPortApplyConfiguration{}
|
||||||
case discoveryv1.SchemeGroupVersion.WithKind("EndpointSlice"):
|
case discoveryv1.SchemeGroupVersion.WithKind("EndpointSlice"):
|
||||||
return &applyconfigurationsdiscoveryv1.EndpointSliceApplyConfiguration{}
|
return &applyconfigurationsdiscoveryv1.EndpointSliceApplyConfiguration{}
|
||||||
|
case discoveryv1.SchemeGroupVersion.WithKind("ForZone"):
|
||||||
|
return &applyconfigurationsdiscoveryv1.ForZoneApplyConfiguration{}
|
||||||
|
|
||||||
// Group=discovery.k8s.io, Version=v1beta1
|
// Group=discovery.k8s.io, Version=v1beta1
|
||||||
case discoveryv1beta1.SchemeGroupVersion.WithKind("Endpoint"):
|
case discoveryv1beta1.SchemeGroupVersion.WithKind("Endpoint"):
|
||||||
return &applyconfigurationsdiscoveryv1beta1.EndpointApplyConfiguration{}
|
return &applyconfigurationsdiscoveryv1beta1.EndpointApplyConfiguration{}
|
||||||
case discoveryv1beta1.SchemeGroupVersion.WithKind("EndpointConditions"):
|
case discoveryv1beta1.SchemeGroupVersion.WithKind("EndpointConditions"):
|
||||||
return &applyconfigurationsdiscoveryv1beta1.EndpointConditionsApplyConfiguration{}
|
return &applyconfigurationsdiscoveryv1beta1.EndpointConditionsApplyConfiguration{}
|
||||||
|
case discoveryv1beta1.SchemeGroupVersion.WithKind("EndpointHints"):
|
||||||
|
return &applyconfigurationsdiscoveryv1beta1.EndpointHintsApplyConfiguration{}
|
||||||
case discoveryv1beta1.SchemeGroupVersion.WithKind("EndpointPort"):
|
case discoveryv1beta1.SchemeGroupVersion.WithKind("EndpointPort"):
|
||||||
return &applyconfigurationsdiscoveryv1beta1.EndpointPortApplyConfiguration{}
|
return &applyconfigurationsdiscoveryv1beta1.EndpointPortApplyConfiguration{}
|
||||||
case discoveryv1beta1.SchemeGroupVersion.WithKind("EndpointSlice"):
|
case discoveryv1beta1.SchemeGroupVersion.WithKind("EndpointSlice"):
|
||||||
return &applyconfigurationsdiscoveryv1beta1.EndpointSliceApplyConfiguration{}
|
return &applyconfigurationsdiscoveryv1beta1.EndpointSliceApplyConfiguration{}
|
||||||
|
case discoveryv1beta1.SchemeGroupVersion.WithKind("ForZone"):
|
||||||
|
return &applyconfigurationsdiscoveryv1beta1.ForZoneApplyConfiguration{}
|
||||||
|
|
||||||
// Group=events.k8s.io, Version=v1
|
// Group=events.k8s.io, Version=v1
|
||||||
case eventsv1.SchemeGroupVersion.WithKind("Event"):
|
case eventsv1.SchemeGroupVersion.WithKind("Event"):
|
||||||
|
Loading…
Reference in New Issue
Block a user