{
    "description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
    "properties": {
        "key": {
            "description": "The label key that the selector applies to.",
            "type": [
                "string",
                "null"
            ]
        },
        "operator": {
            "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.",
            "type": [
                "string",
                "null"
            ]
        },
        "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.",
            "items": {
                "type": [
                    "string",
                    "null"
                ]
            },
            "type": [
                "array",
                "null"
            ]
        }
    },
    "required": [
        "key",
        "operator"
    ],
    "type": "object"
}