Documentation
¶
Index ¶
Constants ¶
const ( // AddressTypeIPv4 represents an IPv4 Address. AddressTypeIPv4 = AddressType(api.IPv4Protocol) // AddressTypeIPv6 represents an IPv6 Address. AddressTypeIPv6 = AddressType(api.IPv6Protocol) // AddressTypeFQDN represents a FQDN. AddressTypeFQDN = AddressType("FQDN") )
const GroupName = "discovery.k8s.io"
GroupName is the group name used in this package
Variables ¶
var ( // SchemeBuilder is the scheme builder with scheme init functions to run for this API package SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AddressType ¶
type AddressType string
AddressType represents the type of address referred to by an endpoint.
type Endpoint ¶
type Endpoint struct {
// addresses of this endpoint. The contents of this field are interpreted
// according to the corresponding EndpointSlice addressType field. Consumers
// must handle different types of addresses in the context of their own
// capabilities. This must contain at least one address but no more than
// 100.
// +listType=set
Addresses []string
// conditions contains information about the current status of the endpoint.
Conditions EndpointConditions
// 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 pass DNS Label (RFC 1123)
// validation.
// +optional
Hostname *string
// targetRef is a reference to a Kubernetes object that represents this
// endpoint.
// +optional
TargetRef *api.ObjectReference
// deprecatedTopology is deprecated and only retained for round-trip
// compatibility with v1beta1 Topology field. When v1beta1 is removed, this
// should be removed, too.
// +optional
DeprecatedTopology map[string]string
// 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.
// +optional
NodeName *string
// zone is the name of the Zone this endpoint exists in.
// +optional
Zone *string
// hints contains information associated with how an endpoint should be
// consumed.
// +featureGate=TopologyAwareHints
// +optional
Hints *EndpointHints
}
Endpoint represents a single logical "backend" implementing a service.
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointConditions ¶
type EndpointConditions struct {
// ready indicates that this endpoint is prepared to receive traffic,
// according to whatever system is managing the endpoint. A nil value
// indicates an unknown state. In most cases consumers should interpret this
// unknown state as ready. For compatibility reasons, ready should never be
// "true" for terminating endpoints.
Ready *bool
// serving is identical to ready except that it is set regardless of the
// terminating state of endpoints. This condition should be set to true for
// a ready endpoint that is terminating. If nil, consumers should defer to
// the ready condition. This field can be enabled with the
// EndpointSliceTerminatingCondition feature gate.
// +optional
Serving *bool
// terminating indicates that this endpoint is terminating. A nil value
// indicates an unknown state. Consumers should interpret this unknown state
// to mean that the endpoint is not terminating. This field can be enabled
// with the EndpointSliceTerminatingCondition feature gate.
// +optional
Terminating *bool
}
EndpointConditions represents the current condition of an endpoint.
func (*EndpointConditions) DeepCopy ¶
func (in *EndpointConditions) DeepCopy() *EndpointConditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointConditions.
func (*EndpointConditions) DeepCopyInto ¶
func (in *EndpointConditions) DeepCopyInto(out *EndpointConditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointHints ¶ added in v1.21.0
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
}
EndpointHints provides hints describing how an endpoint should be consumed.
func (*EndpointHints) DeepCopy ¶ added in v1.21.0
func (in *EndpointHints) DeepCopy() *EndpointHints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointHints.
func (*EndpointHints) DeepCopyInto ¶ added in v1.21.0
func (in *EndpointHints) DeepCopyInto(out *EndpointHints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointPort ¶
type EndpointPort struct {
// 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.
Name *string
// The IP protocol for this port.
// Must be UDP, TCP, or SCTP.
Protocol *api.Protocol
// The port number of the endpoint.
// If this is not specified, ports are not restricted and must be
// interpreted in the context of the specific consumer.
Port *int32
// The application protocol for this port.
// This field follows standard Kubernetes label syntax.
// Un-prefixed names are reserved for IANA standard service names (as per
// RFC-6335 and http://www.iana.org/assignments/service-names).
// Non-standard protocols should use prefixed names such as
// mycompany.com/my-custom-protocol.
// +optional
AppProtocol *string
}
EndpointPort represents a Port used by an EndpointSlice.
func (*EndpointPort) DeepCopy ¶
func (in *EndpointPort) DeepCopy() *EndpointPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointPort.
func (*EndpointPort) DeepCopyInto ¶
func (in *EndpointPort) DeepCopyInto(out *EndpointPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointSlice ¶
type EndpointSlice struct {
metav1.TypeMeta
// Standard object's metadata.
// +optional
metav1.ObjectMeta
// addressType specifies the type of address carried by this EndpointSlice.
// All addresses in this slice must be the same type. This field is
// immutable after creation. The following address types are currently
// supported:
// * IPv4: Represents an IPv4 Address.
// * IPv6: Represents an IPv6 Address.
// * FQDN: Represents a Fully Qualified Domain Name.
AddressType AddressType
// endpoints is a list of unique endpoints in this slice. Each slice may
// include a maximum of 1000 endpoints.
// +listType=atomic
Endpoints []Endpoint
// ports specifies the list of network ports exposed by each endpoint in
// this slice. Each port must have a unique name. When ports is empty, it
// indicates that there are no defined ports. When a port is defined with a
// nil port value, it indicates "all ports". Each slice may include a
// maximum of 100 ports.
// +optional
// +listType=atomic
Ports []EndpointPort
}
EndpointSlice represents a subset of the endpoints that implement a service. For a given service there may be multiple EndpointSlice objects, selected by labels, which must be joined to produce the full set of endpoints.
func (*EndpointSlice) DeepCopy ¶
func (in *EndpointSlice) DeepCopy() *EndpointSlice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSlice.
func (*EndpointSlice) DeepCopyInto ¶
func (in *EndpointSlice) DeepCopyInto(out *EndpointSlice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EndpointSlice) DeepCopyObject ¶
func (in *EndpointSlice) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EndpointSliceList ¶
type EndpointSliceList struct {
metav1.TypeMeta
// Standard list metadata.
// +optional
metav1.ListMeta
// List of endpoint slices
Items []EndpointSlice
}
EndpointSliceList represents a list of endpoint slices.
func (*EndpointSliceList) DeepCopy ¶
func (in *EndpointSliceList) DeepCopy() *EndpointSliceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSliceList.
func (*EndpointSliceList) DeepCopyInto ¶
func (in *EndpointSliceList) DeepCopyInto(out *EndpointSliceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EndpointSliceList) DeepCopyObject ¶
func (in *EndpointSliceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ForZone ¶ added in v1.21.0
type ForZone struct {
// name represents the name of the zone.
Name string
}
ForZone provides information about which zones should consume this endpoint.
func (*ForZone) DeepCopy ¶ added in v1.21.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForZone.
func (*ForZone) DeepCopyInto ¶ added in v1.21.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package install installs the discovery API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the discovery API group, making it available as an option to all of the API encoding/decoding machinery. |