{
    "definitions": {
        "https:__kubernetesjsonschema_dev_master__defs_json_defs_io_k8s_api_core_v1_NodeSelector": {
            "description": "A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.",
            "properties": {
                "nodeSelectorTerms": {
                    "description": "Required. A list of node selector terms. The terms are ORed.",
                    "items": {
                        "$ref": "#/definitions/https:__kubernetesjsonschema_dev_master__defs_json_defs_io_k8s_api_core_v1_NodeSelectorTerm"
                    },
                    "type": "array"
                }
            },
            "required": [
                "nodeSelectorTerms"
            ],
            "type": "object"
        },
        "https:__kubernetesjsonschema_dev_master__defs_json_defs_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.",
            "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.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "key",
                "operator"
            ],
            "type": "object"
        },
        "https:__kubernetesjsonschema_dev_master__defs_json_defs_io_k8s_api_core_v1_NodeSelectorTerm": {
            "description": "A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.",
            "properties": {
                "matchExpressions": {
                    "description": "A list of node selector requirements by node's labels.",
                    "items": {
                        "$ref": "#/definitions/https:__kubernetesjsonschema_dev_master__defs_json_defs_io_k8s_api_core_v1_NodeSelectorRequirement"
                    },
                    "type": "array"
                },
                "matchFields": {
                    "description": "A list of node selector requirements by node's fields.",
                    "items": {
                        "$ref": "#/definitions/https:__kubernetesjsonschema_dev_master__defs_json_defs_io_k8s_api_core_v1_NodeSelectorRequirement"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        }
    },
    "description": "VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from.",
    "properties": {
        "required": {
            "$ref": "#/definitions/https:__kubernetesjsonschema_dev_master__defs_json_defs_io_k8s_api_core_v1_NodeSelector",
            "description": "Required specifies hard node constraints that must be met."
        }
    },
    "type": "object"
}