Class ListenerStatus

  • All Implemented Interfaces:
    io.fabric8.kubernetes.api.builder.Editable<ListenerStatusBuilder>, io.fabric8.kubernetes.api.model.KubernetesResource, Serializable

    @Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator")
    public class ListenerStatus
    extends Object
    implements io.fabric8.kubernetes.api.builder.Editable<ListenerStatusBuilder>, io.fabric8.kubernetes.api.model.KubernetesResource
    ListenerStatus is the status associated with a Listener.
    See Also:
    Serialized Form
    • Constructor Detail

      • ListenerStatus

        public ListenerStatus()
        No args constructor for use in serialization
      • ListenerStatus

        public ListenerStatus​(Integer attachedRoutes,
                              List<io.fabric8.kubernetes.api.model.Condition> conditions,
                              String name,
                              List<RouteGroupKind> supportedKinds)
    • Method Detail

      • getAttachedRoutes

        public Integer getAttachedRoutes()
        AttachedRoutes represents the total number of Routes that have been successfully attached to this Listener.


        Successful attachment of a Route to a Listener is based solely on the combination of the AllowedRoutes field on the corresponding Listener and the Route's ParentRefs field. A Route is successfully attached to a Listener when it is selected by the Listener's AllowedRoutes field AND the Route has a valid ParentRef selecting the whole Gateway resource or a specific Listener as a parent resource (more detail on attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set for Listeners with condition Accepted: false and MUST count successfully attached Routes that may themselves have Accepted: false conditions.


        Uses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener.

      • setAttachedRoutes

        public void setAttachedRoutes​(Integer attachedRoutes)
        AttachedRoutes represents the total number of Routes that have been successfully attached to this Listener.


        Successful attachment of a Route to a Listener is based solely on the combination of the AllowedRoutes field on the corresponding Listener and the Route's ParentRefs field. A Route is successfully attached to a Listener when it is selected by the Listener's AllowedRoutes field AND the Route has a valid ParentRef selecting the whole Gateway resource or a specific Listener as a parent resource (more detail on attachment semantics can be found in the documentation on the various Route kinds ParentRefs fields). Listener or Route status does not impact successful attachment, i.e. the AttachedRoutes field count MUST be set for Listeners with condition Accepted: false and MUST count successfully attached Routes that may themselves have Accepted: false conditions.


        Uses for this field include troubleshooting Route attachment and measuring blast radius/impact of changes to a Listener.

      • getConditions

        public List<io.fabric8.kubernetes.api.model.Condition> getConditions()
        Conditions describe the current condition of this listener.


        <gateway:util:excludeFromCRD> Notes for implementors:


        Conditions are a listType `map`, which means that they function like a map with a key of the `type` field _in the k8s apiserver_.


        This means that implementations must obey some rules when updating this section.


        * Implementations MUST perform a read-modify-write cycle on this field

        before modifying it. That is, when modifying this field, implementations

        must be confident they have fetched the most recent version of this field,

        and ensure that changes they make are on that recent version.

        * Implementations MUST NOT remove or reorder Conditions that they are not

        directly responsible for. For example, if an implementation sees a Condition

        with type `special.io/SomeField`, it MUST NOT remove, change or update that

        Condition.

        * Implementations MUST always _merge_ changes into Conditions of the same Type,

        rather than creating more than one Condition of the same Type.

        * Implementations MUST always update the `observedGeneration` field of the

        Condition to the `metadata.generation` of the Gateway at the time of update creation.

        * If the `observedGeneration` of a Condition is _greater than_ the value the

        implementation knows about, then it MUST NOT perform the update on that Condition,

        but must wait for a future reconciliation and status update. (The assumption is that

        the implementation's copy of the object is stale and an update will be re-triggered

        if relevant.)


        </gateway:util:excludeFromCRD>

      • setConditions

        public void setConditions​(List<io.fabric8.kubernetes.api.model.Condition> conditions)
        Conditions describe the current condition of this listener.


        <gateway:util:excludeFromCRD> Notes for implementors:


        Conditions are a listType `map`, which means that they function like a map with a key of the `type` field _in the k8s apiserver_.


        This means that implementations must obey some rules when updating this section.


        * Implementations MUST perform a read-modify-write cycle on this field

        before modifying it. That is, when modifying this field, implementations

        must be confident they have fetched the most recent version of this field,

        and ensure that changes they make are on that recent version.

        * Implementations MUST NOT remove or reorder Conditions that they are not

        directly responsible for. For example, if an implementation sees a Condition

        with type `special.io/SomeField`, it MUST NOT remove, change or update that

        Condition.

        * Implementations MUST always _merge_ changes into Conditions of the same Type,

        rather than creating more than one Condition of the same Type.

        * Implementations MUST always update the `observedGeneration` field of the

        Condition to the `metadata.generation` of the Gateway at the time of update creation.

        * If the `observedGeneration` of a Condition is _greater than_ the value the

        implementation knows about, then it MUST NOT perform the update on that Condition,

        but must wait for a future reconciliation and status update. (The assumption is that

        the implementation's copy of the object is stale and an update will be re-triggered

        if relevant.)


        </gateway:util:excludeFromCRD>

      • getName

        public String getName()
        Name is the name of the Listener that this status corresponds to.
      • setName

        public void setName​(String name)
        Name is the name of the Listener that this status corresponds to.
      • getSupportedKinds

        public List<RouteGroupKind> getSupportedKinds()
        SupportedKinds is the list indicating the Kinds supported by this listener. This MUST represent the kinds an implementation supports for that Listener configuration.


        If kinds are specified in Spec that are not supported, they MUST NOT appear in this list and an implementation MUST set the "ResolvedRefs" condition to "False" with the "InvalidRouteKinds" reason. If both valid and invalid Route kinds are specified, the implementation MUST reference the valid Route kinds that have been specified.

      • setSupportedKinds

        public void setSupportedKinds​(List<RouteGroupKind> supportedKinds)
        SupportedKinds is the list indicating the Kinds supported by this listener. This MUST represent the kinds an implementation supports for that Listener configuration.


        If kinds are specified in Spec that are not supported, they MUST NOT appear in this list and an implementation MUST set the "ResolvedRefs" condition to "False" with the "InvalidRouteKinds" reason. If both valid and invalid Route kinds are specified, the implementation MUST reference the valid Route kinds that have been specified.

      • getAdditionalProperties

        public Map<String,​Object> getAdditionalProperties()
      • setAdditionalProperty

        public void setAdditionalProperty​(String name,
                                          Object value)
      • setAdditionalProperties

        public void setAdditionalProperties​(Map<String,​Object> additionalProperties)