{
    "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
    "properties": {
        "key": {
            "description": "key is the label key that the selector applies to.",
            "type": [
                "string",
                "null"
            ],
            "x-kubernetes-patch-merge-key": "key",
            "x-kubernetes-patch-strategy": "merge"
        },
        "operator": {
            "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
            "type": [
                "string",
                "null"
            ]
        },
        "values": {
            "description": "values is 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. This array is replaced during a strategic merge patch.",
            "items": {
                "type": [
                    "string",
                    "null"
                ]
            },
            "type": [
                "array",
                "null"
            ]
        }
    },
    "required": [
        "key",
        "operator"
    ],
    "type": "object"
}