Class V1PodAffinityTerm

java.lang.Object
io.kubernetes.client.openapi.models.V1PodAffinityTerm

@Generated(value="org.openapitools.codegen.languages.JavaClientCodegen", date="2024-04-23T13:45:09.091597Z[Etc/UTC]") public class V1PodAffinityTerm extends Object
Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
  • Field Details

  • Constructor Details

    • V1PodAffinityTerm

      public V1PodAffinityTerm()
  • Method Details

    • labelSelector

      public V1PodAffinityTerm labelSelector(V1LabelSelector labelSelector)
    • getLabelSelector

      @Nullable public V1LabelSelector getLabelSelector()
      Get labelSelector
      Returns:
      labelSelector
    • setLabelSelector

      public void setLabelSelector(V1LabelSelector labelSelector)
    • matchLabelKeys

      public V1PodAffinityTerm matchLabelKeys(List<String> matchLabelKeys)
    • addMatchLabelKeysItem

      public V1PodAffinityTerm addMatchLabelKeysItem(String matchLabelKeysItem)
    • getMatchLabelKeys

      @Nullable public List<String> getMatchLabelKeys()
      MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
      Returns:
      matchLabelKeys
    • setMatchLabelKeys

      public void setMatchLabelKeys(List<String> matchLabelKeys)
    • mismatchLabelKeys

      public V1PodAffinityTerm mismatchLabelKeys(List<String> mismatchLabelKeys)
    • addMismatchLabelKeysItem

      public V1PodAffinityTerm addMismatchLabelKeysItem(String mismatchLabelKeysItem)
    • getMismatchLabelKeys

      @Nullable public List<String> getMismatchLabelKeys()
      MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
      Returns:
      mismatchLabelKeys
    • setMismatchLabelKeys

      public void setMismatchLabelKeys(List<String> mismatchLabelKeys)
    • namespaceSelector

      public V1PodAffinityTerm namespaceSelector(V1LabelSelector namespaceSelector)
    • getNamespaceSelector

      @Nullable public V1LabelSelector getNamespaceSelector()
      Get namespaceSelector
      Returns:
      namespaceSelector
    • setNamespaceSelector

      public void setNamespaceSelector(V1LabelSelector namespaceSelector)
    • namespaces

      public V1PodAffinityTerm namespaces(List<String> namespaces)
    • addNamespacesItem

      public V1PodAffinityTerm addNamespacesItem(String namespacesItem)
    • getNamespaces

      @Nullable public List<String> getNamespaces()
      namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".
      Returns:
      namespaces
    • setNamespaces

      public void setNamespaces(List<String> namespaces)
    • topologyKey

      public V1PodAffinityTerm topologyKey(String topologyKey)
    • getTopologyKey

      @Nonnull public String getTopologyKey()
      This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
      Returns:
      topologyKey
    • setTopologyKey

      public void setTopologyKey(String topologyKey)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Overrides:
      toString in class Object
    • validateJsonObject

      public static void validateJsonObject(com.google.gson.JsonObject jsonObj) throws IOException
      Validates the JSON Object and throws an exception if issues found
      Parameters:
      jsonObj - JSON Object
      Throws:
      IOException - if the JSON Object is invalid with respect to V1PodAffinityTerm
    • fromJson

      public static V1PodAffinityTerm fromJson(String jsonString) throws IOException
      Create an instance of V1PodAffinityTerm given an JSON string
      Parameters:
      jsonString - JSON string
      Returns:
      An instance of V1PodAffinityTerm
      Throws:
      IOException - if the JSON string is invalid with respect to V1PodAffinityTerm
    • toJson

      public String toJson()
      Convert an instance of V1PodAffinityTerm to an JSON string
      Returns:
      JSON string