Class Endpoint

  • All Implemented Interfaces:
    com.marcnuri.yakc.model.Model

    public class Endpoint
    extends java.lang.Object
    implements com.marcnuri.yakc.model.Model
    Endpoint represents a single logical "backend" implementing a service.
    • Constructor Detail

      • Endpoint

        public Endpoint​(@NonNull
                        @NonNull java.util.List<java.lang.String> addresses,
                        EndpointConditions conditions,
                        java.util.Map<java.lang.String,​java.lang.String> deprecatedTopology,
                        EndpointHints hints,
                        java.lang.String hostname,
                        java.lang.String nodeName,
                        ObjectReference targetRef,
                        java.lang.String zone)
      • Endpoint

        public Endpoint()
    • Method Detail

      • getAddresses

        @NonNull
        public @NonNull java.util.List<java.lang.String> getAddresses()
        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. These are all assumed to be fungible and clients may choose to only use the first element. Refer to: https://issue.k8s.io/106267
      • getDeprecatedTopology

        public java.util.Map<java.lang.String,​java.lang.String> getDeprecatedTopology()
        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.
      • getHostname

        public java.lang.String getHostname()
        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.
      • getNodeName

        public java.lang.String getNodeName()
        nodeName represents the name of the Node hosting this endpoint. This can be used to determine endpoints local to a Node.
      • getZone

        public java.lang.String getZone()
        zone is the name of the Zone this endpoint exists in.
      • setAddresses

        public void setAddresses​(@NonNull
                                 @NonNull java.util.List<java.lang.String> addresses)
        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. These are all assumed to be fungible and clients may choose to only use the first element. Refer to: https://issue.k8s.io/106267
      • setDeprecatedTopology

        public void setDeprecatedTopology​(java.util.Map<java.lang.String,​java.lang.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.
      • setHostname

        public void setHostname​(java.lang.String hostname)
        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.
      • setNodeName

        public void setNodeName​(java.lang.String nodeName)
        nodeName represents the name of the Node hosting this endpoint. This can be used to determine endpoints local to a Node.
      • setZone

        public void setZone​(java.lang.String zone)
        zone is the name of the Zone this endpoint exists in.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • canEqual

        protected boolean canEqual​(java.lang.Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object