{
    "definitions": {
        "https:__kubernetesjsonschema_dev_master__defs_json_defs_io_k8s_api_flowcontrol_v1alpha1_QueuingConfiguration": {
            "description": "QueuingConfiguration holds the configuration parameters for queuing",
            "properties": {
                "handSize": {
                    "_format": "int32",
                    "description": "`handSize` is a small positive number that configures the shuffle sharding of requests into queues.  When enqueuing a request at this priority level the request's flow identifier (a string pair) is hashed and the hash value is used to shuffle the list of queues and deal a hand of the size specified here.  The request is put into one of the shortest queues in that hand. `handSize` must be no larger than `queues`, and should be significantly smaller (so that a few heavy flows do not saturate most of the queues).  See the user-facing documentation for more extensive guidance on setting this field.  This field has a default value of 8.",
                    "type": "integer"
                },
                "queueLengthLimit": {
                    "_format": "int32",
                    "description": "`queueLengthLimit` is the maximum number of requests allowed to be waiting in a given queue of this priority level at a time; excess requests are rejected.  This value must be positive.  If not specified, it will be defaulted to 50.",
                    "type": "integer"
                },
                "queues": {
                    "_format": "int32",
                    "description": "`queues` is the number of queues for this priority level. The queues exist independently at each apiserver. The value must be positive.  Setting it to 1 effectively precludes shufflesharding and thus makes the distinguisher method of associated flow schemas irrelevant.  This field has a default value of 64.",
                    "type": "integer"
                }
            },
            "type": "object"
        }
    },
    "description": "LimitResponse defines how to handle requests that can not be executed right now.",
    "properties": {
        "queuing": {
            "$ref": "#/definitions/https:__kubernetesjsonschema_dev_master__defs_json_defs_io_k8s_api_flowcontrol_v1alpha1_QueuingConfiguration",
            "description": "`queuing` holds the configuration parameters for queuing. This field may be non-empty only if `type` is `\"Queue\"`."
        },
        "type": {
            "description": "`type` is \"Queue\" or \"Reject\". \"Queue\" means that requests that can not be executed upon arrival are held in a queue until they can be executed or a queuing limit is reached. \"Reject\" means that requests that can not be executed upon arrival are rejected. Required.",
            "type": [
                "string",
                "null"
            ]
        }
    },
    "required": [
        "type"
    ],
    "type": "object",
    "x-kubernetes-unions": [
        {
            "discriminator": "type",
            "fields-to-discriminateBy": {
                "queuing": "Queuing"
            }
        }
    ]
}