{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/argo-workflows/refs/heads/main/json-schema/argo-workflows-io-k8s-api-core-v1-node-selector-requirement-schema.json",
  "title": "io.k8s.api.core.v1.NodeSelectorRequirement",
  "description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
  "type": "object",
  "properties": {
    "key": {
      "description": "The label key that the selector applies to.",
      "type": "string"
    },
    "operator": {
      "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.",
      "type": "string"
    },
    "values": {
      "description": "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "x-kubernetes-list-type": "atomic"
    }
  },
  "required": [
    "key",
    "operator"
  ]
}