{
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "GatewayClassParametersSpec defines the desired state of GatewayClassParameters",
      "properties": {
        "gravitee": {
          "description": "The gravitee section controls Gravitee specific features\nand allows you to configure and customize...",
          "properties": {
            "kafka": {
              "default": {
                "enabled": false
              },
              "description": "Use this field to enable Kafka support in the Gateway.",
              "properties": {
                "enabled": {
                  "default": true,
                  "type": "boolean"
                },
                "routingHostMode": {
                  "default": {},
                  "properties": {
                    "bootstrapDomainPattern": {
                      "default": "{apiHost}",
                      "description": "You can find details about these configurations options in our...",
                      "type": "string"
                    },
                    "brokerDomainPattern": {
                      "default": "broker-{brokerId}-{apiHost}",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "licenseRef": {
              "description": "A reference to a Kubernetes Secret that contains your Gravitee license key.",
              "properties": {
                "group": {
                  "default": "",
                  "description": "Group is the group of the referent. For example, \"gateway.networking.k8s.io\".",
                  "maxLength": 253,
                  "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                  "type": "string"
                },
                "kind": {
                  "default": "Secret",
                  "description": "Kind is kind of the referent. For example \"Secret\".",
                  "maxLength": 63,
                  "minLength": 1,
                  "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                  "type": "string"
                },
                "name": {
                  "description": "Name is the name of the referent.",
                  "maxLength": 253,
                  "minLength": 1,
                  "type": "string"
                },
                "namespace": {
                  "description": "Namespace is the namespace of the referenced object.",
                  "maxLength": 63,
                  "minLength": 1,
                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                  "type": "string"
                }
              },
              "required": [
                "name"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "yaml": {
              "description": "Use this field to provide custom gateway configuration,\ngiving you control over additional...",
              "type": "object",
              "x-kubernetes-preserve-unknown-fields": true
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "kubernetes": {
          "description": "The kubernetes section of the GatewayClassParameters\nspec lets you customize core Kubernetes...",
          "properties": {
            "deployment": {
              "description": "Use this field to modify pod labels and annotations,\nadjust the number of replicas to control...",
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "replicas": {
                  "default": 1,
                  "format": "int32",
                  "type": "integer"
                },
                "strategy": {
                  "description": "DeploymentStrategy describes how to replace existing pods with new ones.",
                  "properties": {
                    "rollingUpdate": {
                      "description": "Rolling update config params. Present only if DeploymentStrategyType =\nRollingUpdate.",
                      "properties": {
                        "maxSurge": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "string"
                            }
                          ],
                          "description": "The maximum number of pods that can be scheduled above the desired number of\npods.",
                          "x-kubernetes-int-or-string": true
                        },
                        "maxUnavailable": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "string"
                            }
                          ],
                          "description": "The maximum number of pods that can be unavailable during the update.",
                          "x-kubernetes-int-or-string": true
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": {
                      "description": "Type of deployment. Can be \"Recreate\" or \"RollingUpdate\". Default is RollingUpdate.",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "template": {
                  "description": "The template.",
                  "properties": {
                    "metadata": {
                      "description": "Standard object's metadata.\nMore info: https://git.k8s.",
                      "type": "object"
                    },
                    "spec": {
                      "description": "Specification of the desired behavior of the pod.\nMore info: https://git.k8s.",
                      "properties": {
                        "activeDeadlineSeconds": {
                          "description": "Optional duration in seconds the pod may be active on the node relative to\nStartTime before the...",
                          "format": "int64",
                          "type": "integer"
                        },
                        "affinity": {
                          "description": "If specified, the pod's scheduling constraints",
                          "properties": {
                            "nodeAffinity": {
                              "description": "Describes node affinity scheduling rules for the pod.",
                              "properties": {
                                "preferredDuringSchedulingIgnoredDuringExecution": {
                                  "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe affinity expressions specified...",
                                  "items": {
                                    "description": "An empty preferred scheduling term matches all objects with implicit weight 0\n(i.e. it's a no-op).",
                                    "properties": {
                                      "preference": {
                                        "description": "A node selector term, associated with the corresponding weight.",
                                        "properties": {
                                          "matchExpressions": {
                                            "description": "A list of node selector requirements by node's labels.",
                                            "items": {
                                              "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates...",
                                              "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.",
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchFields": {
                                            "description": "A list of node selector requirements by node's fields.",
                                            "items": {
                                              "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates...",
                                              "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.",
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic",
                                        "additionalProperties": false
                                      },
                                      "weight": {
                                        "description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.",
                                        "format": "int32",
                                        "type": "integer"
                                      }
                                    },
                                    "required": [
                                      "preference",
                                      "weight"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "requiredDuringSchedulingIgnoredDuringExecution": {
                                  "description": "If the affinity requirements specified by this field are not met at\nscheduling time, the pod will...",
                                  "properties": {
                                    "nodeSelectorTerms": {
                                      "description": "Required. A list of node selector terms. The terms are ORed.",
                                      "items": {
                                        "description": "A null or empty node selector term matches no objects. The requirements of\nthem are ANDed.",
                                        "properties": {
                                          "matchExpressions": {
                                            "description": "A list of node selector requirements by node's labels.",
                                            "items": {
                                              "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates...",
                                              "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.",
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchFields": {
                                            "description": "A list of node selector requirements by node's fields.",
                                            "items": {
                                              "description": "A node selector requirement is a selector that contains values, a key, and an operator\nthat relates...",
                                              "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.",
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "description": "An array of string values. If the operator is In or NotIn,\nthe values array must be non-empty.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic",
                                        "additionalProperties": false
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "nodeSelectorTerms"
                                  ],
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "podAffinity": {
                              "description": "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc.",
                              "properties": {
                                "preferredDuringSchedulingIgnoredDuringExecution": {
                                  "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe affinity expressions specified...",
                                  "items": {
                                    "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the...",
                                    "properties": {
                                      "podAffinityTerm": {
                                        "description": "Required. A pod affinity term, associated with the corresponding weight.",
                                        "properties": {
                                          "labelSelector": {
                                            "description": "A label query over a set of resources, in this case pods.",
                                            "properties": {
                                              "matchExpressions": {
                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                "items": {
                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                                  "properties": {
                                                    "key": {
                                                      "description": "key is the label key that the selector applies to.",
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "description": "operator represents a key's relationship to a set of values.",
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "description": "values is an array of string values.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object",
                                                  "additionalProperties": false
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "description": "matchLabels is a map of {key,value} pairs.",
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic",
                                            "additionalProperties": false
                                          },
                                          "matchLabelKeys": {
                                            "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "mismatchLabelKeys": {
                                            "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "namespaceSelector": {
                                            "description": "A label query over the set of namespaces that the term applies to.",
                                            "properties": {
                                              "matchExpressions": {
                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                "items": {
                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                                  "properties": {
                                                    "key": {
                                                      "description": "key is the label key that the selector applies to.",
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "description": "operator represents a key's relationship to a set of values.",
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "description": "values is an array of string values.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object",
                                                  "additionalProperties": false
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "description": "matchLabels is a map of {key,value} pairs.",
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic",
                                            "additionalProperties": false
                                          },
                                          "namespaces": {
                                            "description": "namespaces specifies a static list of namespace names that the term applies to.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "topologyKey": {
                                            "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching...",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "topologyKey"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "weight": {
                                        "description": "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100.",
                                        "format": "int32",
                                        "type": "integer"
                                      }
                                    },
                                    "required": [
                                      "podAffinityTerm",
                                      "weight"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "requiredDuringSchedulingIgnoredDuringExecution": {
                                  "description": "If the affinity requirements specified by this field are not met at\nscheduling time, the pod will...",
                                  "items": {
                                    "description": "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s))...",
                                    "properties": {
                                      "labelSelector": {
                                        "description": "A label query over a set of resources, in this case pods.",
                                        "properties": {
                                          "matchExpressions": {
                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                            "items": {
                                              "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                              "properties": {
                                                "key": {
                                                  "description": "key is the label key that the selector applies to.",
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "description": "operator represents a key's relationship to a set of values.",
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "description": "values is an array of string values.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "description": "matchLabels is a map of {key,value} pairs.",
                                            "type": "object"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic",
                                        "additionalProperties": false
                                      },
                                      "matchLabelKeys": {
                                        "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "mismatchLabelKeys": {
                                        "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "namespaceSelector": {
                                        "description": "A label query over the set of namespaces that the term applies to.",
                                        "properties": {
                                          "matchExpressions": {
                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                            "items": {
                                              "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                              "properties": {
                                                "key": {
                                                  "description": "key is the label key that the selector applies to.",
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "description": "operator represents a key's relationship to a set of values.",
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "description": "values is an array of string values.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "description": "matchLabels is a map of {key,value} pairs.",
                                            "type": "object"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic",
                                        "additionalProperties": false
                                      },
                                      "namespaces": {
                                        "description": "namespaces specifies a static list of namespace names that the term applies to.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "topologyKey": {
                                        "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching...",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "topologyKey"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "podAntiAffinity": {
                              "description": "Describes pod anti-affinity scheduling rules (e.g.",
                              "properties": {
                                "preferredDuringSchedulingIgnoredDuringExecution": {
                                  "description": "The scheduler will prefer to schedule pods to nodes that satisfy\nthe anti-affinity expressions...",
                                  "items": {
                                    "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the...",
                                    "properties": {
                                      "podAffinityTerm": {
                                        "description": "Required. A pod affinity term, associated with the corresponding weight.",
                                        "properties": {
                                          "labelSelector": {
                                            "description": "A label query over a set of resources, in this case pods.",
                                            "properties": {
                                              "matchExpressions": {
                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                "items": {
                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                                  "properties": {
                                                    "key": {
                                                      "description": "key is the label key that the selector applies to.",
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "description": "operator represents a key's relationship to a set of values.",
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "description": "values is an array of string values.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object",
                                                  "additionalProperties": false
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "description": "matchLabels is a map of {key,value} pairs.",
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic",
                                            "additionalProperties": false
                                          },
                                          "matchLabelKeys": {
                                            "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "mismatchLabelKeys": {
                                            "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "namespaceSelector": {
                                            "description": "A label query over the set of namespaces that the term applies to.",
                                            "properties": {
                                              "matchExpressions": {
                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                "items": {
                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                                  "properties": {
                                                    "key": {
                                                      "description": "key is the label key that the selector applies to.",
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "description": "operator represents a key's relationship to a set of values.",
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "description": "values is an array of string values.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object",
                                                  "additionalProperties": false
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "description": "matchLabels is a map of {key,value} pairs.",
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic",
                                            "additionalProperties": false
                                          },
                                          "namespaces": {
                                            "description": "namespaces specifies a static list of namespace names that the term applies to.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "topologyKey": {
                                            "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching...",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "topologyKey"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "weight": {
                                        "description": "weight associated with matching the corresponding podAffinityTerm,\nin the range 1-100.",
                                        "format": "int32",
                                        "type": "integer"
                                      }
                                    },
                                    "required": [
                                      "podAffinityTerm",
                                      "weight"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "requiredDuringSchedulingIgnoredDuringExecution": {
                                  "description": "If the anti-affinity requirements specified by this field are not met at\nscheduling time, the pod...",
                                  "items": {
                                    "description": "Defines a set of pods (namely those matching the labelSelector\nrelative to the given namespace(s))...",
                                    "properties": {
                                      "labelSelector": {
                                        "description": "A label query over a set of resources, in this case pods.",
                                        "properties": {
                                          "matchExpressions": {
                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                            "items": {
                                              "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                              "properties": {
                                                "key": {
                                                  "description": "key is the label key that the selector applies to.",
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "description": "operator represents a key's relationship to a set of values.",
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "description": "values is an array of string values.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "description": "matchLabels is a map of {key,value} pairs.",
                                            "type": "object"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic",
                                        "additionalProperties": false
                                      },
                                      "matchLabelKeys": {
                                        "description": "MatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "mismatchLabelKeys": {
                                        "description": "MismatchLabelKeys is a set of pod label keys to select which pods will\nbe taken into consideration.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "namespaceSelector": {
                                        "description": "A label query over the set of namespaces that the term applies to.",
                                        "properties": {
                                          "matchExpressions": {
                                            "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                            "items": {
                                              "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                              "properties": {
                                                "key": {
                                                  "description": "key is the label key that the selector applies to.",
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "description": "operator represents a key's relationship to a set of values.",
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "description": "values is an array of string values.",
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "description": "matchLabels is a map of {key,value} pairs.",
                                            "type": "object"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic",
                                        "additionalProperties": false
                                      },
                                      "namespaces": {
                                        "description": "namespaces specifies a static list of namespace names that the term applies to.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "topologyKey": {
                                        "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching...",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "topologyKey"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "automountServiceAccountToken": {
                          "description": "AutomountServiceAccountToken indicates whether a service account token should be automatically...",
                          "type": "boolean"
                        },
                        "containers": {
                          "description": "List of containers belonging to the pod.\nContainers cannot currently be added or removed.",
                          "items": {
                            "description": "A single application container that you want to run within a pod.",
                            "properties": {
                              "args": {
                                "description": "Arguments to the entrypoint.\nThe container image's CMD is used if this is not provided.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "command": {
                                "description": "Entrypoint array. Not executed within a shell.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "env": {
                                "description": "List of environment variables to set in the container.\nCannot be updated.",
                                "items": {
                                  "description": "EnvVar represents an environment variable present in a Container.",
                                  "properties": {
                                    "name": {
                                      "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in...",
                                      "type": "string"
                                    },
                                    "valueFrom": {
                                      "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                      "properties": {
                                        "configMapKeyRef": {
                                          "description": "Selects a key of a ConfigMap.",
                                          "properties": {
                                            "key": {
                                              "description": "The key to select.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "description": "Name of the referent.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "Specify whether the ConfigMap or its key must be defined",
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "fieldRef": {
                                          "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.",
                                          "properties": {
                                            "apiVersion": {
                                              "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                              "type": "string"
                                            },
                                            "fieldPath": {
                                              "description": "Path of the field to select in the specified API version.",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "fieldPath"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "resourceFieldRef": {
                                          "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.",
                                          "properties": {
                                            "containerName": {
                                              "description": "Container name: required for volumes, optional for env vars",
                                              "type": "string"
                                            },
                                            "divisor": {
                                              "anyOf": [
                                                {
                                                  "type": "integer"
                                                },
                                                {
                                                  "type": "string"
                                                }
                                              ],
                                              "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                              "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                              "x-kubernetes-int-or-string": true
                                            },
                                            "resource": {
                                              "description": "Required: resource to select",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "resource"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "secretKeyRef": {
                                          "description": "Selects a key of a secret in the pod's namespace",
                                          "properties": {
                                            "key": {
                                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "description": "Name of the referent.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "Specify whether the Secret or its key must be defined",
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "name"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "envFrom": {
                                "description": "List of sources to populate environment variables in the container.",
                                "items": {
                                  "description": "EnvFromSource represents the source of a set of ConfigMaps or Secrets",
                                  "properties": {
                                    "configMapRef": {
                                      "description": "The ConfigMap to select from",
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "description": "Name of the referent.",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "description": "Specify whether the ConfigMap must be defined",
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic",
                                      "additionalProperties": false
                                    },
                                    "prefix": {
                                      "description": "Optional text to prepend to the name of each environment variable. Must be a C_IDENTIFIER.",
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "description": "The Secret to select from",
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "description": "Name of the referent.",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "description": "Specify whether the Secret must be defined",
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic",
                                      "additionalProperties": false
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "image": {
                                "description": "Container image name.\nMore info: https://kubernetes.",
                                "type": "string"
                              },
                              "imagePullPolicy": {
                                "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.",
                                "type": "string"
                              },
                              "lifecycle": {
                                "description": "Actions that the management system should take in response to container lifecycle events.",
                                "properties": {
                                  "postStart": {
                                    "description": "PostStart is called immediately after a container is created.",
                                    "properties": {
                                      "exec": {
                                        "description": "Exec specifies a command to execute in the container.",
                                        "properties": {
                                          "command": {
                                            "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "httpGet": {
                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                        "properties": {
                                          "host": {
                                            "description": "Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                            "items": {
                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                              "properties": {
                                                "name": {
                                                  "description": "The header field name.",
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The header field value",
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "description": "Path to access on the HTTP server.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "sleep": {
                                        "description": "Sleep represents a duration that the container should sleep.",
                                        "properties": {
                                          "seconds": {
                                            "description": "Seconds is the number of seconds to sleep.",
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "tcpSocket": {
                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility.",
                                        "properties": {
                                          "host": {
                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "preStop": {
                                    "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management...",
                                    "properties": {
                                      "exec": {
                                        "description": "Exec specifies a command to execute in the container.",
                                        "properties": {
                                          "command": {
                                            "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "httpGet": {
                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                        "properties": {
                                          "host": {
                                            "description": "Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                            "items": {
                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                              "properties": {
                                                "name": {
                                                  "description": "The header field name.",
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The header field value",
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "description": "Path to access on the HTTP server.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "sleep": {
                                        "description": "Sleep represents a duration that the container should sleep.",
                                        "properties": {
                                          "seconds": {
                                            "description": "Seconds is the number of seconds to sleep.",
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "tcpSocket": {
                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility.",
                                        "properties": {
                                          "host": {
                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "stopSignal": {
                                    "description": "StopSignal defines which signal will be sent to a container when it is being stopped.",
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "livenessProbe": {
                                "description": "Periodic probe of container liveness.\nContainer will be restarted if the probe fails.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "name": {
                                "description": "Name of the container specified as a DNS_LABEL.",
                                "type": "string"
                              },
                              "ports": {
                                "description": "List of ports to expose from the container.",
                                "items": {
                                  "description": "ContainerPort represents a network port in a single container.",
                                  "properties": {
                                    "containerPort": {
                                      "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 < x < 65536.",
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "hostIP": {
                                      "description": "What host IP to bind the external port to.",
                                      "type": "string"
                                    },
                                    "hostPort": {
                                      "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 < x < 65536.",
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "name": {
                                      "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod.",
                                      "type": "string"
                                    },
                                    "protocol": {
                                      "default": "TCP",
                                      "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "containerPort"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "containerPort",
                                  "protocol"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "readinessProbe": {
                                "description": "Periodic probe of container service readiness.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "resizePolicy": {
                                "description": "Resources resize policy for the container.",
                                "items": {
                                  "description": "ContainerResizePolicy represents resource resize policy for the container.",
                                  "properties": {
                                    "resourceName": {
                                      "description": "Name of the resource to which this resource resize policy applies.\nSupported values: cpu, memory.",
                                      "type": "string"
                                    },
                                    "restartPolicy": {
                                      "description": "Restart policy to apply when specified resource is resized.",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "resourceName",
                                    "restartPolicy"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "resources": {
                                "description": "Compute Resources required by this container.\nCannot be updated.\nMore info: https://kubernetes.",
                                "properties": {
                                  "claims": {
                                    "description": "Claims lists the names of resources, defined in spec.",
                                    "items": {
                                      "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                      "properties": {
                                        "name": {
                                          "description": "Name must match the name of one entry in pod.spec.",
                                          "type": "string"
                                        },
                                        "request": {
                                          "description": "Request is the name chosen for a request in the referenced claim.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "name"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-map-keys": [
                                      "name"
                                    ],
                                    "x-kubernetes-list-type": "map"
                                  },
                                  "limits": {
                                    "additionalProperties": {
                                      "anyOf": [
                                        {
                                          "type": "integer"
                                        },
                                        {
                                          "type": "string"
                                        }
                                      ],
                                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                      "x-kubernetes-int-or-string": true
                                    },
                                    "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.",
                                    "type": "object"
                                  },
                                  "requests": {
                                    "additionalProperties": {
                                      "anyOf": [
                                        {
                                          "type": "integer"
                                        },
                                        {
                                          "type": "string"
                                        }
                                      ],
                                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                      "x-kubernetes-int-or-string": true
                                    },
                                    "description": "Requests describes the minimum amount of compute resources required.",
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "restartPolicy": {
                                "description": "RestartPolicy defines the restart behavior of individual containers in a pod.",
                                "type": "string"
                              },
                              "securityContext": {
                                "description": "SecurityContext defines the security options the container should be run with.",
                                "properties": {
                                  "allowPrivilegeEscalation": {
                                    "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent...",
                                    "type": "boolean"
                                  },
                                  "appArmorProfile": {
                                    "description": "appArmorProfile is the AppArmor options to use by this container.",
                                    "properties": {
                                      "localhostProfile": {
                                        "description": "localhostProfile indicates a profile loaded on the node that should be used.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "type indicates which kind of AppArmor profile will be applied.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "capabilities": {
                                    "description": "The capabilities to add/drop when running containers.",
                                    "properties": {
                                      "add": {
                                        "description": "Added capabilities",
                                        "items": {
                                          "description": "Capability represent POSIX capabilities type",
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "drop": {
                                        "description": "Removed capabilities",
                                        "items": {
                                          "description": "Capability represent POSIX capabilities type",
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "privileged": {
                                    "description": "Run container in privileged mode.",
                                    "type": "boolean"
                                  },
                                  "procMount": {
                                    "description": "procMount denotes the type of proc mount to use for the containers.",
                                    "type": "string"
                                  },
                                  "readOnlyRootFilesystem": {
                                    "description": "Whether this container has a read-only root filesystem.\nDefault is false.",
                                    "type": "boolean"
                                  },
                                  "runAsGroup": {
                                    "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "runAsNonRoot": {
                                    "description": "Indicates that the container must run as a non-root user.",
                                    "type": "boolean"
                                  },
                                  "runAsUser": {
                                    "description": "The UID to run the entrypoint of the container process.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "seLinuxOptions": {
                                    "description": "The SELinux context to be applied to the container.",
                                    "properties": {
                                      "level": {
                                        "description": "Level is SELinux level label that applies to the container.",
                                        "type": "string"
                                      },
                                      "role": {
                                        "description": "Role is a SELinux role label that applies to the container.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "Type is a SELinux type label that applies to the container.",
                                        "type": "string"
                                      },
                                      "user": {
                                        "description": "User is a SELinux user label that applies to the container.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "seccompProfile": {
                                    "description": "The seccomp options to use by this container.",
                                    "properties": {
                                      "localhostProfile": {
                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "type indicates which kind of seccomp profile will be applied.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "windowsOptions": {
                                    "description": "The Windows specific settings applied to all containers.",
                                    "properties": {
                                      "gmsaCredentialSpec": {
                                        "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.",
                                        "type": "string"
                                      },
                                      "gmsaCredentialSpecName": {
                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                        "type": "string"
                                      },
                                      "hostProcess": {
                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container.",
                                        "type": "boolean"
                                      },
                                      "runAsUserName": {
                                        "description": "The UserName in Windows to run the entrypoint of the container process.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "startupProbe": {
                                "description": "StartupProbe indicates that the Pod has successfully initialized.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "stdin": {
                                "description": "Whether this container should allocate a buffer for stdin in the container runtime.",
                                "type": "boolean"
                              },
                              "stdinOnce": {
                                "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single...",
                                "type": "boolean"
                              },
                              "terminationMessagePath": {
                                "description": "Optional: Path at which the file to which the container's termination message\nwill be written is...",
                                "type": "string"
                              },
                              "terminationMessagePolicy": {
                                "description": "Indicate how the termination message should be populated.",
                                "type": "string"
                              },
                              "tty": {
                                "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.",
                                "type": "boolean"
                              },
                              "volumeDevices": {
                                "description": "volumeDevices is the list of block devices to be used by the container.",
                                "items": {
                                  "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                  "properties": {
                                    "devicePath": {
                                      "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "name must match the name of a persistentVolumeClaim in the pod",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "devicePath",
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "devicePath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "volumeMounts": {
                                "description": "Pod volumes to mount into the container's filesystem.\nCannot be updated.",
                                "items": {
                                  "description": "VolumeMount describes a mounting of a Volume within a container.",
                                  "properties": {
                                    "mountPath": {
                                      "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                      "type": "string"
                                    },
                                    "mountPropagation": {
                                      "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way...",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "This must match the Name of a Volume.",
                                      "type": "string"
                                    },
                                    "readOnly": {
                                      "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                      "type": "boolean"
                                    },
                                    "recursiveReadOnly": {
                                      "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.",
                                      "type": "string"
                                    },
                                    "subPath": {
                                      "description": "Path within the volume from which the container's volume should be mounted.",
                                      "type": "string"
                                    },
                                    "subPathExpr": {
                                      "description": "Expanded path within the volume from which the container's volume should be mounted.",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "mountPath",
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "mountPath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "workingDir": {
                                "description": "Container's working directory.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "dnsConfig": {
                          "description": "Specifies the DNS parameters of a pod.",
                          "properties": {
                            "nameservers": {
                              "description": "A list of DNS name server IP addresses.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            },
                            "options": {
                              "description": "A list of DNS resolver options.\nThis will be merged with the base options generated from DNSPolicy.",
                              "items": {
                                "description": "PodDNSConfigOption defines DNS resolver options of a pod.",
                                "properties": {
                                  "name": {
                                    "description": "Name is this DNS resolver option's name.\nRequired.",
                                    "type": "string"
                                  },
                                  "value": {
                                    "description": "Value is this DNS resolver option's value.",
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            },
                            "searches": {
                              "description": "A list of DNS search domains for host-name lookup.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "dnsPolicy": {
                          "description": "Set DNS policy for the pod.\nDefaults to \"ClusterFirst\".",
                          "type": "string"
                        },
                        "enableServiceLinks": {
                          "description": "EnableServiceLinks indicates whether information about services should be injected into pod's...",
                          "type": "boolean"
                        },
                        "ephemeralContainers": {
                          "description": "List of ephemeral containers run in this pod.",
                          "items": {
                            "description": "An EphemeralContainer is a temporary container that you may add to an existing Pod for...",
                            "properties": {
                              "args": {
                                "description": "Arguments to the entrypoint.\nThe image's CMD is used if this is not provided.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "command": {
                                "description": "Entrypoint array. Not executed within a shell.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "env": {
                                "description": "List of environment variables to set in the container.\nCannot be updated.",
                                "items": {
                                  "description": "EnvVar represents an environment variable present in a Container.",
                                  "properties": {
                                    "name": {
                                      "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in...",
                                      "type": "string"
                                    },
                                    "valueFrom": {
                                      "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                      "properties": {
                                        "configMapKeyRef": {
                                          "description": "Selects a key of a ConfigMap.",
                                          "properties": {
                                            "key": {
                                              "description": "The key to select.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "description": "Name of the referent.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "Specify whether the ConfigMap or its key must be defined",
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "fieldRef": {
                                          "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.",
                                          "properties": {
                                            "apiVersion": {
                                              "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                              "type": "string"
                                            },
                                            "fieldPath": {
                                              "description": "Path of the field to select in the specified API version.",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "fieldPath"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "resourceFieldRef": {
                                          "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.",
                                          "properties": {
                                            "containerName": {
                                              "description": "Container name: required for volumes, optional for env vars",
                                              "type": "string"
                                            },
                                            "divisor": {
                                              "anyOf": [
                                                {
                                                  "type": "integer"
                                                },
                                                {
                                                  "type": "string"
                                                }
                                              ],
                                              "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                              "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                              "x-kubernetes-int-or-string": true
                                            },
                                            "resource": {
                                              "description": "Required: resource to select",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "resource"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "secretKeyRef": {
                                          "description": "Selects a key of a secret in the pod's namespace",
                                          "properties": {
                                            "key": {
                                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "description": "Name of the referent.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "Specify whether the Secret or its key must be defined",
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "name"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "envFrom": {
                                "description": "List of sources to populate environment variables in the container.",
                                "items": {
                                  "description": "EnvFromSource represents the source of a set of ConfigMaps or Secrets",
                                  "properties": {
                                    "configMapRef": {
                                      "description": "The ConfigMap to select from",
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "description": "Name of the referent.",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "description": "Specify whether the ConfigMap must be defined",
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic",
                                      "additionalProperties": false
                                    },
                                    "prefix": {
                                      "description": "Optional text to prepend to the name of each environment variable. Must be a C_IDENTIFIER.",
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "description": "The Secret to select from",
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "description": "Name of the referent.",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "description": "Specify whether the Secret must be defined",
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic",
                                      "additionalProperties": false
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "image": {
                                "description": "Container image name.\nMore info: https://kubernetes.io/docs/concepts/containers/images",
                                "type": "string"
                              },
                              "imagePullPolicy": {
                                "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.",
                                "type": "string"
                              },
                              "lifecycle": {
                                "description": "Lifecycle is not allowed for ephemeral containers.",
                                "properties": {
                                  "postStart": {
                                    "description": "PostStart is called immediately after a container is created.",
                                    "properties": {
                                      "exec": {
                                        "description": "Exec specifies a command to execute in the container.",
                                        "properties": {
                                          "command": {
                                            "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "httpGet": {
                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                        "properties": {
                                          "host": {
                                            "description": "Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                            "items": {
                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                              "properties": {
                                                "name": {
                                                  "description": "The header field name.",
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The header field value",
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "description": "Path to access on the HTTP server.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "sleep": {
                                        "description": "Sleep represents a duration that the container should sleep.",
                                        "properties": {
                                          "seconds": {
                                            "description": "Seconds is the number of seconds to sleep.",
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "tcpSocket": {
                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility.",
                                        "properties": {
                                          "host": {
                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "preStop": {
                                    "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management...",
                                    "properties": {
                                      "exec": {
                                        "description": "Exec specifies a command to execute in the container.",
                                        "properties": {
                                          "command": {
                                            "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "httpGet": {
                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                        "properties": {
                                          "host": {
                                            "description": "Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                            "items": {
                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                              "properties": {
                                                "name": {
                                                  "description": "The header field name.",
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The header field value",
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "description": "Path to access on the HTTP server.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "sleep": {
                                        "description": "Sleep represents a duration that the container should sleep.",
                                        "properties": {
                                          "seconds": {
                                            "description": "Seconds is the number of seconds to sleep.",
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "tcpSocket": {
                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility.",
                                        "properties": {
                                          "host": {
                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "stopSignal": {
                                    "description": "StopSignal defines which signal will be sent to a container when it is being stopped.",
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "livenessProbe": {
                                "description": "Probes are not allowed for ephemeral containers.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "name": {
                                "description": "Name of the ephemeral container specified as a DNS_LABEL.",
                                "type": "string"
                              },
                              "ports": {
                                "description": "Ports are not allowed for ephemeral containers.",
                                "items": {
                                  "description": "ContainerPort represents a network port in a single container.",
                                  "properties": {
                                    "containerPort": {
                                      "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 < x < 65536.",
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "hostIP": {
                                      "description": "What host IP to bind the external port to.",
                                      "type": "string"
                                    },
                                    "hostPort": {
                                      "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 < x < 65536.",
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "name": {
                                      "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod.",
                                      "type": "string"
                                    },
                                    "protocol": {
                                      "default": "TCP",
                                      "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "containerPort"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "containerPort",
                                  "protocol"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "readinessProbe": {
                                "description": "Probes are not allowed for ephemeral containers.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "resizePolicy": {
                                "description": "Resources resize policy for the container.",
                                "items": {
                                  "description": "ContainerResizePolicy represents resource resize policy for the container.",
                                  "properties": {
                                    "resourceName": {
                                      "description": "Name of the resource to which this resource resize policy applies.\nSupported values: cpu, memory.",
                                      "type": "string"
                                    },
                                    "restartPolicy": {
                                      "description": "Restart policy to apply when specified resource is resized.",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "resourceName",
                                    "restartPolicy"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "resources": {
                                "description": "Resources are not allowed for ephemeral containers.",
                                "properties": {
                                  "claims": {
                                    "description": "Claims lists the names of resources, defined in spec.",
                                    "items": {
                                      "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                      "properties": {
                                        "name": {
                                          "description": "Name must match the name of one entry in pod.spec.",
                                          "type": "string"
                                        },
                                        "request": {
                                          "description": "Request is the name chosen for a request in the referenced claim.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "name"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-map-keys": [
                                      "name"
                                    ],
                                    "x-kubernetes-list-type": "map"
                                  },
                                  "limits": {
                                    "additionalProperties": {
                                      "anyOf": [
                                        {
                                          "type": "integer"
                                        },
                                        {
                                          "type": "string"
                                        }
                                      ],
                                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                      "x-kubernetes-int-or-string": true
                                    },
                                    "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.",
                                    "type": "object"
                                  },
                                  "requests": {
                                    "additionalProperties": {
                                      "anyOf": [
                                        {
                                          "type": "integer"
                                        },
                                        {
                                          "type": "string"
                                        }
                                      ],
                                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                      "x-kubernetes-int-or-string": true
                                    },
                                    "description": "Requests describes the minimum amount of compute resources required.",
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "restartPolicy": {
                                "description": "Restart policy for the container to manage the restart behavior of each\ncontainer within a pod.",
                                "type": "string"
                              },
                              "securityContext": {
                                "description": "Optional: SecurityContext defines the security options the ephemeral container should be run with.",
                                "properties": {
                                  "allowPrivilegeEscalation": {
                                    "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent...",
                                    "type": "boolean"
                                  },
                                  "appArmorProfile": {
                                    "description": "appArmorProfile is the AppArmor options to use by this container.",
                                    "properties": {
                                      "localhostProfile": {
                                        "description": "localhostProfile indicates a profile loaded on the node that should be used.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "type indicates which kind of AppArmor profile will be applied.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "capabilities": {
                                    "description": "The capabilities to add/drop when running containers.",
                                    "properties": {
                                      "add": {
                                        "description": "Added capabilities",
                                        "items": {
                                          "description": "Capability represent POSIX capabilities type",
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "drop": {
                                        "description": "Removed capabilities",
                                        "items": {
                                          "description": "Capability represent POSIX capabilities type",
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "privileged": {
                                    "description": "Run container in privileged mode.",
                                    "type": "boolean"
                                  },
                                  "procMount": {
                                    "description": "procMount denotes the type of proc mount to use for the containers.",
                                    "type": "string"
                                  },
                                  "readOnlyRootFilesystem": {
                                    "description": "Whether this container has a read-only root filesystem.\nDefault is false.",
                                    "type": "boolean"
                                  },
                                  "runAsGroup": {
                                    "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "runAsNonRoot": {
                                    "description": "Indicates that the container must run as a non-root user.",
                                    "type": "boolean"
                                  },
                                  "runAsUser": {
                                    "description": "The UID to run the entrypoint of the container process.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "seLinuxOptions": {
                                    "description": "The SELinux context to be applied to the container.",
                                    "properties": {
                                      "level": {
                                        "description": "Level is SELinux level label that applies to the container.",
                                        "type": "string"
                                      },
                                      "role": {
                                        "description": "Role is a SELinux role label that applies to the container.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "Type is a SELinux type label that applies to the container.",
                                        "type": "string"
                                      },
                                      "user": {
                                        "description": "User is a SELinux user label that applies to the container.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "seccompProfile": {
                                    "description": "The seccomp options to use by this container.",
                                    "properties": {
                                      "localhostProfile": {
                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "type indicates which kind of seccomp profile will be applied.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "windowsOptions": {
                                    "description": "The Windows specific settings applied to all containers.",
                                    "properties": {
                                      "gmsaCredentialSpec": {
                                        "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.",
                                        "type": "string"
                                      },
                                      "gmsaCredentialSpecName": {
                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                        "type": "string"
                                      },
                                      "hostProcess": {
                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container.",
                                        "type": "boolean"
                                      },
                                      "runAsUserName": {
                                        "description": "The UserName in Windows to run the entrypoint of the container process.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "startupProbe": {
                                "description": "Probes are not allowed for ephemeral containers.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "stdin": {
                                "description": "Whether this container should allocate a buffer for stdin in the container runtime.",
                                "type": "boolean"
                              },
                              "stdinOnce": {
                                "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single...",
                                "type": "boolean"
                              },
                              "targetContainerName": {
                                "description": "If set, the name of the container from PodSpec that this ephemeral container targets.",
                                "type": "string"
                              },
                              "terminationMessagePath": {
                                "description": "Optional: Path at which the file to which the container's termination message\nwill be written is...",
                                "type": "string"
                              },
                              "terminationMessagePolicy": {
                                "description": "Indicate how the termination message should be populated.",
                                "type": "string"
                              },
                              "tty": {
                                "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.",
                                "type": "boolean"
                              },
                              "volumeDevices": {
                                "description": "volumeDevices is the list of block devices to be used by the container.",
                                "items": {
                                  "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                  "properties": {
                                    "devicePath": {
                                      "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "name must match the name of a persistentVolumeClaim in the pod",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "devicePath",
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "devicePath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "volumeMounts": {
                                "description": "Pod volumes to mount into the container's filesystem.",
                                "items": {
                                  "description": "VolumeMount describes a mounting of a Volume within a container.",
                                  "properties": {
                                    "mountPath": {
                                      "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                      "type": "string"
                                    },
                                    "mountPropagation": {
                                      "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way...",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "This must match the Name of a Volume.",
                                      "type": "string"
                                    },
                                    "readOnly": {
                                      "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                      "type": "boolean"
                                    },
                                    "recursiveReadOnly": {
                                      "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.",
                                      "type": "string"
                                    },
                                    "subPath": {
                                      "description": "Path within the volume from which the container's volume should be mounted.",
                                      "type": "string"
                                    },
                                    "subPathExpr": {
                                      "description": "Expanded path within the volume from which the container's volume should be mounted.",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "mountPath",
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "mountPath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "workingDir": {
                                "description": "Container's working directory.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "hostAliases": {
                          "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts\nfile if...",
                          "items": {
                            "description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the\npod's...",
                            "properties": {
                              "hostnames": {
                                "description": "Hostnames for the above IP address.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "ip": {
                                "description": "IP address of the host file entry.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "ip"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "ip"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "hostIPC": {
                          "description": "Use the host's ipc namespace.\nOptional: Default to false.",
                          "type": "boolean"
                        },
                        "hostNetwork": {
                          "description": "Host networking requested for this pod. Use the host's network namespace.",
                          "type": "boolean"
                        },
                        "hostPID": {
                          "description": "Use the host's pid namespace.\nOptional: Default to false.",
                          "type": "boolean"
                        },
                        "hostUsers": {
                          "description": "Use the host's user namespace.\nOptional: Default to true.",
                          "type": "boolean"
                        },
                        "hostname": {
                          "description": "Specifies the hostname of the Pod\nIf not specified, the pod's hostname will be set to a...",
                          "type": "string"
                        },
                        "imagePullSecrets": {
                          "description": "ImagePullSecrets is an optional list of references to secrets in the same namespace to use for...",
                          "items": {
                            "description": "LocalObjectReference contains enough information to let you locate the\nreferenced object inside the...",
                            "properties": {
                              "name": {
                                "default": "",
                                "description": "Name of the referent.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "initContainers": {
                          "description": "List of initialization containers belonging to the pod.",
                          "items": {
                            "description": "A single application container that you want to run within a pod.",
                            "properties": {
                              "args": {
                                "description": "Arguments to the entrypoint.\nThe container image's CMD is used if this is not provided.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "command": {
                                "description": "Entrypoint array. Not executed within a shell.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "env": {
                                "description": "List of environment variables to set in the container.\nCannot be updated.",
                                "items": {
                                  "description": "EnvVar represents an environment variable present in a Container.",
                                  "properties": {
                                    "name": {
                                      "description": "Name of the environment variable. Must be a C_IDENTIFIER.",
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "Variable references $(VAR_NAME) are expanded\nusing the previously defined environment variables in...",
                                      "type": "string"
                                    },
                                    "valueFrom": {
                                      "description": "Source for the environment variable's value. Cannot be used if value is not empty.",
                                      "properties": {
                                        "configMapKeyRef": {
                                          "description": "Selects a key of a ConfigMap.",
                                          "properties": {
                                            "key": {
                                              "description": "The key to select.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "description": "Name of the referent.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "Specify whether the ConfigMap or its key must be defined",
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "fieldRef": {
                                          "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.",
                                          "properties": {
                                            "apiVersion": {
                                              "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                              "type": "string"
                                            },
                                            "fieldPath": {
                                              "description": "Path of the field to select in the specified API version.",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "fieldPath"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "resourceFieldRef": {
                                          "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.",
                                          "properties": {
                                            "containerName": {
                                              "description": "Container name: required for volumes, optional for env vars",
                                              "type": "string"
                                            },
                                            "divisor": {
                                              "anyOf": [
                                                {
                                                  "type": "integer"
                                                },
                                                {
                                                  "type": "string"
                                                }
                                              ],
                                              "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                              "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                              "x-kubernetes-int-or-string": true
                                            },
                                            "resource": {
                                              "description": "Required: resource to select",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "resource"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "secretKeyRef": {
                                          "description": "Selects a key of a secret in the pod's namespace",
                                          "properties": {
                                            "key": {
                                              "description": "The key of the secret to select from.  Must be a valid secret key.",
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "description": "Name of the referent.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "Specify whether the Secret or its key must be defined",
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    }
                                  },
                                  "required": [
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "name"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "envFrom": {
                                "description": "List of sources to populate environment variables in the container.",
                                "items": {
                                  "description": "EnvFromSource represents the source of a set of ConfigMaps or Secrets",
                                  "properties": {
                                    "configMapRef": {
                                      "description": "The ConfigMap to select from",
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "description": "Name of the referent.",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "description": "Specify whether the ConfigMap must be defined",
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic",
                                      "additionalProperties": false
                                    },
                                    "prefix": {
                                      "description": "Optional text to prepend to the name of each environment variable. Must be a C_IDENTIFIER.",
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "description": "The Secret to select from",
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "description": "Name of the referent.",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "description": "Specify whether the Secret must be defined",
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic",
                                      "additionalProperties": false
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "image": {
                                "description": "Container image name.\nMore info: https://kubernetes.",
                                "type": "string"
                              },
                              "imagePullPolicy": {
                                "description": "Image pull policy.\nOne of Always, Never, IfNotPresent.",
                                "type": "string"
                              },
                              "lifecycle": {
                                "description": "Actions that the management system should take in response to container lifecycle events.",
                                "properties": {
                                  "postStart": {
                                    "description": "PostStart is called immediately after a container is created.",
                                    "properties": {
                                      "exec": {
                                        "description": "Exec specifies a command to execute in the container.",
                                        "properties": {
                                          "command": {
                                            "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "httpGet": {
                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                        "properties": {
                                          "host": {
                                            "description": "Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                            "items": {
                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                              "properties": {
                                                "name": {
                                                  "description": "The header field name.",
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The header field value",
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "description": "Path to access on the HTTP server.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "sleep": {
                                        "description": "Sleep represents a duration that the container should sleep.",
                                        "properties": {
                                          "seconds": {
                                            "description": "Seconds is the number of seconds to sleep.",
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "tcpSocket": {
                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility.",
                                        "properties": {
                                          "host": {
                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "preStop": {
                                    "description": "PreStop is called immediately before a container is terminated due to an\nAPI request or management...",
                                    "properties": {
                                      "exec": {
                                        "description": "Exec specifies a command to execute in the container.",
                                        "properties": {
                                          "command": {
                                            "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "httpGet": {
                                        "description": "HTTPGet specifies an HTTP GET request to perform.",
                                        "properties": {
                                          "host": {
                                            "description": "Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                            "items": {
                                              "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                              "properties": {
                                                "name": {
                                                  "description": "The header field name.",
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "description": "The header field value",
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "description": "Path to access on the HTTP server.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "sleep": {
                                        "description": "Sleep represents a duration that the container should sleep.",
                                        "properties": {
                                          "seconds": {
                                            "description": "Seconds is the number of seconds to sleep.",
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "tcpSocket": {
                                        "description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept\nfor backward compatibility.",
                                        "properties": {
                                          "host": {
                                            "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object",
                                        "additionalProperties": false
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "stopSignal": {
                                    "description": "StopSignal defines which signal will be sent to a container when it is being stopped.",
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "livenessProbe": {
                                "description": "Periodic probe of container liveness.\nContainer will be restarted if the probe fails.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "name": {
                                "description": "Name of the container specified as a DNS_LABEL.",
                                "type": "string"
                              },
                              "ports": {
                                "description": "List of ports to expose from the container.",
                                "items": {
                                  "description": "ContainerPort represents a network port in a single container.",
                                  "properties": {
                                    "containerPort": {
                                      "description": "Number of port to expose on the pod's IP address.\nThis must be a valid port number, 0 < x < 65536.",
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "hostIP": {
                                      "description": "What host IP to bind the external port to.",
                                      "type": "string"
                                    },
                                    "hostPort": {
                                      "description": "Number of port to expose on the host.\nIf specified, this must be a valid port number, 0 < x < 65536.",
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "name": {
                                      "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod.",
                                      "type": "string"
                                    },
                                    "protocol": {
                                      "default": "TCP",
                                      "description": "Protocol for port. Must be UDP, TCP, or SCTP.\nDefaults to \"TCP\".",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "containerPort"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "containerPort",
                                  "protocol"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "readinessProbe": {
                                "description": "Periodic probe of container service readiness.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "resizePolicy": {
                                "description": "Resources resize policy for the container.",
                                "items": {
                                  "description": "ContainerResizePolicy represents resource resize policy for the container.",
                                  "properties": {
                                    "resourceName": {
                                      "description": "Name of the resource to which this resource resize policy applies.\nSupported values: cpu, memory.",
                                      "type": "string"
                                    },
                                    "restartPolicy": {
                                      "description": "Restart policy to apply when specified resource is resized.",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "resourceName",
                                    "restartPolicy"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "resources": {
                                "description": "Compute Resources required by this container.\nCannot be updated.\nMore info: https://kubernetes.",
                                "properties": {
                                  "claims": {
                                    "description": "Claims lists the names of resources, defined in spec.",
                                    "items": {
                                      "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                      "properties": {
                                        "name": {
                                          "description": "Name must match the name of one entry in pod.spec.",
                                          "type": "string"
                                        },
                                        "request": {
                                          "description": "Request is the name chosen for a request in the referenced claim.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "name"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-map-keys": [
                                      "name"
                                    ],
                                    "x-kubernetes-list-type": "map"
                                  },
                                  "limits": {
                                    "additionalProperties": {
                                      "anyOf": [
                                        {
                                          "type": "integer"
                                        },
                                        {
                                          "type": "string"
                                        }
                                      ],
                                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                      "x-kubernetes-int-or-string": true
                                    },
                                    "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.",
                                    "type": "object"
                                  },
                                  "requests": {
                                    "additionalProperties": {
                                      "anyOf": [
                                        {
                                          "type": "integer"
                                        },
                                        {
                                          "type": "string"
                                        }
                                      ],
                                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                      "x-kubernetes-int-or-string": true
                                    },
                                    "description": "Requests describes the minimum amount of compute resources required.",
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "restartPolicy": {
                                "description": "RestartPolicy defines the restart behavior of individual containers in a pod.",
                                "type": "string"
                              },
                              "securityContext": {
                                "description": "SecurityContext defines the security options the container should be run with.",
                                "properties": {
                                  "allowPrivilegeEscalation": {
                                    "description": "AllowPrivilegeEscalation controls whether a process can gain more\nprivileges than its parent...",
                                    "type": "boolean"
                                  },
                                  "appArmorProfile": {
                                    "description": "appArmorProfile is the AppArmor options to use by this container.",
                                    "properties": {
                                      "localhostProfile": {
                                        "description": "localhostProfile indicates a profile loaded on the node that should be used.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "type indicates which kind of AppArmor profile will be applied.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "capabilities": {
                                    "description": "The capabilities to add/drop when running containers.",
                                    "properties": {
                                      "add": {
                                        "description": "Added capabilities",
                                        "items": {
                                          "description": "Capability represent POSIX capabilities type",
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "drop": {
                                        "description": "Removed capabilities",
                                        "items": {
                                          "description": "Capability represent POSIX capabilities type",
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "privileged": {
                                    "description": "Run container in privileged mode.",
                                    "type": "boolean"
                                  },
                                  "procMount": {
                                    "description": "procMount denotes the type of proc mount to use for the containers.",
                                    "type": "string"
                                  },
                                  "readOnlyRootFilesystem": {
                                    "description": "Whether this container has a read-only root filesystem.\nDefault is false.",
                                    "type": "boolean"
                                  },
                                  "runAsGroup": {
                                    "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "runAsNonRoot": {
                                    "description": "Indicates that the container must run as a non-root user.",
                                    "type": "boolean"
                                  },
                                  "runAsUser": {
                                    "description": "The UID to run the entrypoint of the container process.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "seLinuxOptions": {
                                    "description": "The SELinux context to be applied to the container.",
                                    "properties": {
                                      "level": {
                                        "description": "Level is SELinux level label that applies to the container.",
                                        "type": "string"
                                      },
                                      "role": {
                                        "description": "Role is a SELinux role label that applies to the container.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "Type is a SELinux type label that applies to the container.",
                                        "type": "string"
                                      },
                                      "user": {
                                        "description": "User is a SELinux user label that applies to the container.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "seccompProfile": {
                                    "description": "The seccomp options to use by this container.",
                                    "properties": {
                                      "localhostProfile": {
                                        "description": "localhostProfile indicates a profile defined in a file on the node should be used.",
                                        "type": "string"
                                      },
                                      "type": {
                                        "description": "type indicates which kind of seccomp profile will be applied.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "windowsOptions": {
                                    "description": "The Windows specific settings applied to all containers.",
                                    "properties": {
                                      "gmsaCredentialSpec": {
                                        "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.",
                                        "type": "string"
                                      },
                                      "gmsaCredentialSpecName": {
                                        "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                        "type": "string"
                                      },
                                      "hostProcess": {
                                        "description": "HostProcess determines if a container should be run as a 'Host Process' container.",
                                        "type": "boolean"
                                      },
                                      "runAsUserName": {
                                        "description": "The UserName in Windows to run the entrypoint of the container process.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "startupProbe": {
                                "description": "StartupProbe indicates that the Pod has successfully initialized.",
                                "properties": {
                                  "exec": {
                                    "description": "Exec specifies a command to execute in the container.",
                                    "properties": {
                                      "command": {
                                        "description": "Command is the command line to execute inside the container, the working directory for the\ncommand ...",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "failureThreshold": {
                                    "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "description": "GRPC specifies a GRPC HealthCheckRequest.",
                                    "properties": {
                                      "port": {
                                        "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.",
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "description": "Service is the name of the service to place in the gRPC HealthCheckRequest\n(see https://github.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "httpGet": {
                                    "description": "HTTPGet specifies an HTTP GET request to perform.",
                                    "properties": {
                                      "host": {
                                        "description": "Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "description": "Custom headers to set in the request. HTTP allows repeated headers.",
                                        "items": {
                                          "description": "HTTPHeader describes a custom header to be used in HTTP probes",
                                          "properties": {
                                            "name": {
                                              "description": "The header field name.",
                                              "type": "string"
                                            },
                                            "value": {
                                              "description": "The header field value",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "description": "Path to access on the HTTP server.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Name or number of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "description": "Scheme to use for connecting to the host.\nDefaults to HTTP.",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "initialDelaySeconds": {
                                    "description": "Number of seconds after the container has started before liveness probes are initiated.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "description": "How often (in seconds) to perform the probe.\nDefault to 10 seconds. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "description": "Minimum consecutive successes for the probe to be considered successful after having failed.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "description": "TCPSocket specifies a connection to a TCP port.",
                                    "properties": {
                                      "host": {
                                        "description": "Optional: Host name to connect to, defaults to the pod IP.",
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "description": "Number or name of the port to access on the container.\nNumber must be in the range 1 to 65535.",
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure.",
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "description": "Number of seconds after which the probe times out.\nDefaults to 1 second. Minimum value is 1.",
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "stdin": {
                                "description": "Whether this container should allocate a buffer for stdin in the container runtime.",
                                "type": "boolean"
                              },
                              "stdinOnce": {
                                "description": "Whether the container runtime should close the stdin channel after it has been opened by\na single...",
                                "type": "boolean"
                              },
                              "terminationMessagePath": {
                                "description": "Optional: Path at which the file to which the container's termination message\nwill be written is...",
                                "type": "string"
                              },
                              "terminationMessagePolicy": {
                                "description": "Indicate how the termination message should be populated.",
                                "type": "string"
                              },
                              "tty": {
                                "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.",
                                "type": "boolean"
                              },
                              "volumeDevices": {
                                "description": "volumeDevices is the list of block devices to be used by the container.",
                                "items": {
                                  "description": "volumeDevice describes a mapping of a raw block device within a container.",
                                  "properties": {
                                    "devicePath": {
                                      "description": "devicePath is the path inside of the container that the device will be mapped to.",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "name must match the name of a persistentVolumeClaim in the pod",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "devicePath",
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "devicePath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "volumeMounts": {
                                "description": "Pod volumes to mount into the container's filesystem.\nCannot be updated.",
                                "items": {
                                  "description": "VolumeMount describes a mounting of a Volume within a container.",
                                  "properties": {
                                    "mountPath": {
                                      "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
                                      "type": "string"
                                    },
                                    "mountPropagation": {
                                      "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way...",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "This must match the Name of a Volume.",
                                      "type": "string"
                                    },
                                    "readOnly": {
                                      "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.",
                                      "type": "boolean"
                                    },
                                    "recursiveReadOnly": {
                                      "description": "RecursiveReadOnly specifies whether read-only mounts should be handled\nrecursively.",
                                      "type": "string"
                                    },
                                    "subPath": {
                                      "description": "Path within the volume from which the container's volume should be mounted.",
                                      "type": "string"
                                    },
                                    "subPathExpr": {
                                      "description": "Expanded path within the volume from which the container's volume should be mounted.",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "mountPath",
                                    "name"
                                  ],
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "mountPath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "workingDir": {
                                "description": "Container's working directory.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "nodeName": {
                          "description": "NodeName indicates in which node this pod is scheduled.",
                          "type": "string"
                        },
                        "nodeSelector": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "NodeSelector is a selector which must be true for the pod to fit on a node.",
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "os": {
                          "description": "Specifies the OS of the containers in the pod.",
                          "properties": {
                            "name": {
                              "description": "Name is the name of the operating system. The currently supported values are linux and windows.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "name"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "overhead": {
                          "additionalProperties": {
                            "anyOf": [
                              {
                                "type": "integer"
                              },
                              {
                                "type": "string"
                              }
                            ],
                            "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                            "x-kubernetes-int-or-string": true
                          },
                          "description": "Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.",
                          "type": "object"
                        },
                        "preemptionPolicy": {
                          "description": "PreemptionPolicy is the Policy for preempting pods with lower priority.",
                          "type": "string"
                        },
                        "priority": {
                          "description": "The priority value. Various system components use this field to find the\npriority of the pod.",
                          "format": "int32",
                          "type": "integer"
                        },
                        "priorityClassName": {
                          "description": "If specified, indicates the pod's priority.",
                          "type": "string"
                        },
                        "readinessGates": {
                          "description": "If specified, all readiness gates will be evaluated for pod readiness.",
                          "items": {
                            "description": "PodReadinessGate contains the reference to a pod condition",
                            "properties": {
                              "conditionType": {
                                "description": "ConditionType refers to a condition in the pod's condition list with matching type.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "conditionType"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "atomic"
                        },
                        "resourceClaims": {
                          "description": "ResourceClaims defines which ResourceClaims must be allocated\nand reserved before the Pod is...",
                          "items": {
                            "description": "PodResourceClaim references exactly one ResourceClaim, either directly\nor by naming a...",
                            "properties": {
                              "name": {
                                "description": "Name uniquely identifies this resource claim inside the pod.\nThis must be a DNS_LABEL.",
                                "type": "string"
                              },
                              "resourceClaimName": {
                                "description": "ResourceClaimName is the name of a ResourceClaim object in the same\nnamespace as this pod.",
                                "type": "string"
                              },
                              "resourceClaimTemplateName": {
                                "description": "ResourceClaimTemplateName is the name of a ResourceClaimTemplate\nobject in the same namespace as...",
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "resources": {
                          "description": "Resources is the total amount of CPU and Memory resources required by all\ncontainers in the pod.",
                          "properties": {
                            "claims": {
                              "description": "Claims lists the names of resources, defined in spec.",
                              "items": {
                                "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
                                "properties": {
                                  "name": {
                                    "description": "Name must match the name of one entry in pod.spec.",
                                    "type": "string"
                                  },
                                  "request": {
                                    "description": "Request is the name chosen for a request in the referenced claim.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "type": "array",
                              "x-kubernetes-list-map-keys": [
                                "name"
                              ],
                              "x-kubernetes-list-type": "map"
                            },
                            "limits": {
                              "additionalProperties": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ],
                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                "x-kubernetes-int-or-string": true
                              },
                              "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.",
                              "type": "object"
                            },
                            "requests": {
                              "additionalProperties": {
                                "anyOf": [
                                  {
                                    "type": "integer"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ],
                                "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                "x-kubernetes-int-or-string": true
                              },
                              "description": "Requests describes the minimum amount of compute resources required.",
                              "type": "object"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "restartPolicy": {
                          "description": "Restart policy for all containers within the pod.\nOne of Always, OnFailure, Never.",
                          "type": "string"
                        },
                        "runtimeClassName": {
                          "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.",
                          "type": "string"
                        },
                        "schedulerName": {
                          "description": "If specified, the pod will be dispatched by specified scheduler.",
                          "type": "string"
                        },
                        "schedulingGates": {
                          "description": "SchedulingGates is an opaque list of values that if specified will block scheduling the pod.",
                          "items": {
                            "description": "PodSchedulingGate is associated to a Pod to guard its scheduling.",
                            "properties": {
                              "name": {
                                "description": "Name of the scheduling gate.\nEach scheduling gate must have a unique name field.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "securityContext": {
                          "description": "SecurityContext holds pod-level security attributes and common container settings.",
                          "properties": {
                            "appArmorProfile": {
                              "description": "appArmorProfile is the AppArmor options to use by the containers in this pod.",
                              "properties": {
                                "localhostProfile": {
                                  "description": "localhostProfile indicates a profile loaded on the node that should be used.",
                                  "type": "string"
                                },
                                "type": {
                                  "description": "type indicates which kind of AppArmor profile will be applied.",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "type": "object",
                              "additionalProperties": false
                            },
                            "fsGroup": {
                              "description": "A special supplemental group that applies to all containers in a pod.",
                              "format": "int64",
                              "type": "integer"
                            },
                            "fsGroupChangePolicy": {
                              "description": "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume\nbefore...",
                              "type": "string"
                            },
                            "runAsGroup": {
                              "description": "The GID to run the entrypoint of the container process.\nUses runtime default if unset.",
                              "format": "int64",
                              "type": "integer"
                            },
                            "runAsNonRoot": {
                              "description": "Indicates that the container must run as a non-root user.",
                              "type": "boolean"
                            },
                            "runAsUser": {
                              "description": "The UID to run the entrypoint of the container process.",
                              "format": "int64",
                              "type": "integer"
                            },
                            "seLinuxChangePolicy": {
                              "description": "seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the...",
                              "type": "string"
                            },
                            "seLinuxOptions": {
                              "description": "The SELinux context to be applied to all containers.",
                              "properties": {
                                "level": {
                                  "description": "Level is SELinux level label that applies to the container.",
                                  "type": "string"
                                },
                                "role": {
                                  "description": "Role is a SELinux role label that applies to the container.",
                                  "type": "string"
                                },
                                "type": {
                                  "description": "Type is a SELinux type label that applies to the container.",
                                  "type": "string"
                                },
                                "user": {
                                  "description": "User is a SELinux user label that applies to the container.",
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "seccompProfile": {
                              "description": "The seccomp options to use by the containers in this pod.",
                              "properties": {
                                "localhostProfile": {
                                  "description": "localhostProfile indicates a profile defined in a file on the node should be used.",
                                  "type": "string"
                                },
                                "type": {
                                  "description": "type indicates which kind of seccomp profile will be applied.",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "type": "object",
                              "additionalProperties": false
                            },
                            "supplementalGroups": {
                              "description": "A list of groups applied to the first process run in each container, in\naddition to the container's...",
                              "items": {
                                "format": "int64",
                                "type": "integer"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            },
                            "supplementalGroupsPolicy": {
                              "description": "Defines how supplemental groups of the first container processes are calculated.",
                              "type": "string"
                            },
                            "sysctls": {
                              "description": "Sysctls hold a list of namespaced sysctls used for the pod.",
                              "items": {
                                "description": "Sysctl defines a kernel parameter to be set",
                                "properties": {
                                  "name": {
                                    "description": "Name of a property to set",
                                    "type": "string"
                                  },
                                  "value": {
                                    "description": "Value of a property to set",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name",
                                  "value"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            },
                            "windowsOptions": {
                              "description": "The Windows specific settings applied to all containers.",
                              "properties": {
                                "gmsaCredentialSpec": {
                                  "description": "GMSACredentialSpec is where the GMSA admission webhook\n(https://github.",
                                  "type": "string"
                                },
                                "gmsaCredentialSpecName": {
                                  "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
                                  "type": "string"
                                },
                                "hostProcess": {
                                  "description": "HostProcess determines if a container should be run as a 'Host Process' container.",
                                  "type": "boolean"
                                },
                                "runAsUserName": {
                                  "description": "The UserName in Windows to run the entrypoint of the container process.",
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "serviceAccount": {
                          "description": "DeprecatedServiceAccount is a deprecated alias for ServiceAccountName.",
                          "type": "string"
                        },
                        "serviceAccountName": {
                          "description": "ServiceAccountName is the name of the ServiceAccount to use to run this pod.",
                          "type": "string"
                        },
                        "setHostnameAsFQDN": {
                          "description": "If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the...",
                          "type": "boolean"
                        },
                        "shareProcessNamespace": {
                          "description": "Share a single process namespace between all of the containers in a pod.",
                          "type": "boolean"
                        },
                        "subdomain": {
                          "description": "If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.",
                          "type": "string"
                        },
                        "terminationGracePeriodSeconds": {
                          "description": "Optional duration in seconds the pod needs to terminate gracefully.",
                          "format": "int64",
                          "type": "integer"
                        },
                        "tolerations": {
                          "description": "If specified, the pod's tolerations.",
                          "items": {
                            "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple...",
                            "properties": {
                              "effect": {
                                "description": "Effect indicates the taint effect to match. Empty means match all taint effects.",
                                "type": "string"
                              },
                              "key": {
                                "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.",
                                "type": "string"
                              },
                              "operator": {
                                "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal.",
                                "type": "string"
                              },
                              "tolerationSeconds": {
                                "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute,...",
                                "format": "int64",
                                "type": "integer"
                              },
                              "value": {
                                "description": "Value is the taint value the toleration matches to.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "atomic"
                        },
                        "topologySpreadConstraints": {
                          "description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology\ndomains.",
                          "items": {
                            "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
                            "properties": {
                              "labelSelector": {
                                "description": "LabelSelector is used to find matching pods.",
                                "properties": {
                                  "matchExpressions": {
                                    "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                    "items": {
                                      "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                      "properties": {
                                        "key": {
                                          "description": "key is the label key that the selector applies to.",
                                          "type": "string"
                                        },
                                        "operator": {
                                          "description": "operator represents a key's relationship to a set of values.",
                                          "type": "string"
                                        },
                                        "values": {
                                          "description": "values is an array of string values.",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "description": "matchLabels is a map of {key,value} pairs.",
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic",
                                "additionalProperties": false
                              },
                              "matchLabelKeys": {
                                "description": "MatchLabelKeys is a set of pod label keys to select the pods over which\nspreading will be...",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "maxSkew": {
                                "description": "MaxSkew describes the degree to which pods may be unevenly distributed.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "minDomains": {
                                "description": "MinDomains indicates a minimum number of eligible domains.",
                                "format": "int32",
                                "type": "integer"
                              },
                              "nodeAffinityPolicy": {
                                "description": "NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector\nwhen calculating pod...",
                                "type": "string"
                              },
                              "nodeTaintsPolicy": {
                                "description": "NodeTaintsPolicy indicates how we will treat node taints when calculating\npod topology spread skew.",
                                "type": "string"
                              },
                              "topologyKey": {
                                "description": "TopologyKey is the key of node labels.",
                                "type": "string"
                              },
                              "whenUnsatisfiable": {
                                "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy\nthe spread constraint.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "maxSkew",
                              "topologyKey",
                              "whenUnsatisfiable"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "topologyKey",
                            "whenUnsatisfiable"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "volumes": {
                          "description": "List of volumes that can be mounted by containers belonging to the pod.",
                          "items": {
                            "description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.",
                            "properties": {
                              "awsElasticBlockStore": {
                                "description": "awsElasticBlockStore represents an AWS Disk resource that is attached to a\nkubelet's host machine...",
                                "properties": {
                                  "fsType": {
                                    "description": "fsType is the filesystem type of the volume that you want to mount.",
                                    "type": "string"
                                  },
                                  "partition": {
                                    "description": "partition is the partition in the volume that you want to mount.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "readOnly": {
                                    "description": "readOnly value true will force the readOnly setting in VolumeMounts.\nMore info: https://kubernetes.",
                                    "type": "boolean"
                                  },
                                  "volumeID": {
                                    "description": "volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "volumeID"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "azureDisk": {
                                "description": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
                                "properties": {
                                  "cachingMode": {
                                    "description": "cachingMode is the Host Caching mode: None, Read Only, Read Write.",
                                    "type": "string"
                                  },
                                  "diskName": {
                                    "description": "diskName is the Name of the data disk in the blob storage",
                                    "type": "string"
                                  },
                                  "diskURI": {
                                    "description": "diskURI is the URI of data disk in the blob storage",
                                    "type": "string"
                                  },
                                  "fsType": {
                                    "default": "ext4",
                                    "description": "fsType is Filesystem type to mount.",
                                    "type": "string"
                                  },
                                  "kind": {
                                    "description": "kind expected values are Shared: multiple blob disks per storage account  Dedicated: single blob...",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "default": false,
                                    "description": "readOnly Defaults to false (read/write).",
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "diskName",
                                  "diskURI"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "azureFile": {
                                "description": "azureFile represents an Azure File Service mount on the host and bind mount to the pod.",
                                "properties": {
                                  "readOnly": {
                                    "description": "readOnly defaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "secretName": {
                                    "description": "secretName is the  name of secret that contains Azure Storage Account Name and Key",
                                    "type": "string"
                                  },
                                  "shareName": {
                                    "description": "shareName is the azure share Name",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "secretName",
                                  "shareName"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "cephfs": {
                                "description": "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.",
                                "properties": {
                                  "monitors": {
                                    "description": "monitors is Required: Monitors is a collection of Ceph monitors\nMore info: https://examples.k8s.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "path": {
                                    "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly is Optional: Defaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "secretFile": {
                                    "description": "secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.",
                                    "type": "string"
                                  },
                                  "secretRef": {
                                    "description": "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is...",
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "description": "Name of the referent.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic",
                                    "additionalProperties": false
                                  },
                                  "user": {
                                    "description": "user is optional: User is the rados user name, default is admin\nMore info: https://examples.k8s.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "monitors"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "cinder": {
                                "description": "cinder represents a cinder volume attached and mounted on kubelets host machine.",
                                "properties": {
                                  "fsType": {
                                    "description": "fsType is the filesystem type to mount.",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly defaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "description": "secretRef is optional: points to a secret object containing parameters used to connect\nto OpenStack.",
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "description": "Name of the referent.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic",
                                    "additionalProperties": false
                                  },
                                  "volumeID": {
                                    "description": "volumeID used to identify the volume in cinder.\nMore info: https://examples.k8s.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "volumeID"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "configMap": {
                                "description": "configMap represents a configMap that should populate this volume",
                                "properties": {
                                  "defaultMode": {
                                    "description": "defaultMode is optional: mode bits used to set permissions on created files by default.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "items": {
                                    "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be...",
                                    "items": {
                                      "description": "Maps a string key to a path within a volume.",
                                      "properties": {
                                        "key": {
                                          "description": "key is the key to project.",
                                          "type": "string"
                                        },
                                        "mode": {
                                          "description": "mode is Optional: mode bits used to set permissions on this file.",
                                          "format": "int32",
                                          "type": "integer"
                                        },
                                        "path": {
                                          "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "path"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "name": {
                                    "default": "",
                                    "description": "Name of the referent.",
                                    "type": "string"
                                  },
                                  "optional": {
                                    "description": "optional specify whether the ConfigMap or its keys must be defined",
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic",
                                "additionalProperties": false
                              },
                              "csi": {
                                "description": "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external...",
                                "properties": {
                                  "driver": {
                                    "description": "driver is the name of the CSI driver that handles this volume.",
                                    "type": "string"
                                  },
                                  "fsType": {
                                    "description": "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\".",
                                    "type": "string"
                                  },
                                  "nodePublishSecretRef": {
                                    "description": "nodePublishSecretRef is a reference to the secret object containing\nsensitive information to pass...",
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "description": "Name of the referent.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic",
                                    "additionalProperties": false
                                  },
                                  "readOnly": {
                                    "description": "readOnly specifies a read-only configuration for the volume.\nDefaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "volumeAttributes": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "description": "volumeAttributes stores driver-specific properties that are passed to the CSI\ndriver.",
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "driver"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "downwardAPI": {
                                "description": "downwardAPI represents downward API about the pod that should populate this volume",
                                "properties": {
                                  "defaultMode": {
                                    "description": "Optional: mode bits to use on created files by default.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "items": {
                                    "description": "Items is a list of downward API volume file",
                                    "items": {
                                      "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field",
                                      "properties": {
                                        "fieldRef": {
                                          "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are...",
                                          "properties": {
                                            "apiVersion": {
                                              "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                              "type": "string"
                                            },
                                            "fieldPath": {
                                              "description": "Path of the field to select in the specified API version.",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "fieldPath"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "mode": {
                                          "description": "Optional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and...",
                                          "format": "int32",
                                          "type": "integer"
                                        },
                                        "path": {
                                          "description": "Required: Path is  the relative path name of the file to be created.",
                                          "type": "string"
                                        },
                                        "resourceFieldRef": {
                                          "description": "Selects a resource of the container: only resources limits and requests\n(limits.cpu, limits.",
                                          "properties": {
                                            "containerName": {
                                              "description": "Container name: required for volumes, optional for env vars",
                                              "type": "string"
                                            },
                                            "divisor": {
                                              "anyOf": [
                                                {
                                                  "type": "integer"
                                                },
                                                {
                                                  "type": "string"
                                                }
                                              ],
                                              "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                              "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                              "x-kubernetes-int-or-string": true
                                            },
                                            "resource": {
                                              "description": "Required: resource to select",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "resource"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        }
                                      },
                                      "required": [
                                        "path"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "emptyDir": {
                                "description": "emptyDir represents a temporary directory that shares a pod's lifetime.",
                                "properties": {
                                  "medium": {
                                    "description": "medium represents what type of storage medium should back this directory.",
                                    "type": "string"
                                  },
                                  "sizeLimit": {
                                    "anyOf": [
                                      {
                                        "type": "integer"
                                      },
                                      {
                                        "type": "string"
                                      }
                                    ],
                                    "description": "sizeLimit is the total amount of local storage required for this EmptyDir volume.",
                                    "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                    "x-kubernetes-int-or-string": true
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "ephemeral": {
                                "description": "ephemeral represents a volume that is handled by a cluster storage driver.",
                                "properties": {
                                  "volumeClaimTemplate": {
                                    "description": "Will be used to create a stand-alone PVC to provision the volume.",
                                    "properties": {
                                      "metadata": {
                                        "description": "May contain labels and annotations that will be copied into the PVC\nwhen creating it.",
                                        "type": "object"
                                      },
                                      "spec": {
                                        "description": "The specification for the PersistentVolumeClaim.",
                                        "properties": {
                                          "accessModes": {
                                            "description": "accessModes contains the desired access modes the volume should have.\nMore info: https://kubernetes.",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "dataSource": {
                                            "description": "dataSource field can be used to specify either:\n* An existing VolumeSnapshot object (snapshot.",
                                            "properties": {
                                              "apiGroup": {
                                                "description": "APIGroup is the group for the resource being referenced.",
                                                "type": "string"
                                              },
                                              "kind": {
                                                "description": "Kind is the type of resource being referenced",
                                                "type": "string"
                                              },
                                              "name": {
                                                "description": "Name is the name of resource being referenced",
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "kind",
                                              "name"
                                            ],
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic",
                                            "additionalProperties": false
                                          },
                                          "dataSourceRef": {
                                            "description": "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty...",
                                            "properties": {
                                              "apiGroup": {
                                                "description": "APIGroup is the group for the resource being referenced.",
                                                "type": "string"
                                              },
                                              "kind": {
                                                "description": "Kind is the type of resource being referenced",
                                                "type": "string"
                                              },
                                              "name": {
                                                "description": "Name is the name of resource being referenced",
                                                "type": "string"
                                              },
                                              "namespace": {
                                                "description": "Namespace is the namespace of resource being referenced\nNote that when a namespace is specified, a...",
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "kind",
                                              "name"
                                            ],
                                            "type": "object",
                                            "additionalProperties": false
                                          },
                                          "resources": {
                                            "description": "resources represents the minimum resources the volume should have.",
                                            "properties": {
                                              "limits": {
                                                "additionalProperties": {
                                                  "anyOf": [
                                                    {
                                                      "type": "integer"
                                                    },
                                                    {
                                                      "type": "string"
                                                    }
                                                  ],
                                                  "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                  "x-kubernetes-int-or-string": true
                                                },
                                                "description": "Limits describes the maximum amount of compute resources allowed.\nMore info: https://kubernetes.",
                                                "type": "object"
                                              },
                                              "requests": {
                                                "additionalProperties": {
                                                  "anyOf": [
                                                    {
                                                      "type": "integer"
                                                    },
                                                    {
                                                      "type": "string"
                                                    }
                                                  ],
                                                  "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                  "x-kubernetes-int-or-string": true
                                                },
                                                "description": "Requests describes the minimum amount of compute resources required.",
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "additionalProperties": false
                                          },
                                          "selector": {
                                            "description": "selector is a label query over volumes to consider for binding.",
                                            "properties": {
                                              "matchExpressions": {
                                                "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                "items": {
                                                  "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                                  "properties": {
                                                    "key": {
                                                      "description": "key is the label key that the selector applies to.",
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "description": "operator represents a key's relationship to a set of values.",
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "description": "values is an array of string values.",
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object",
                                                  "additionalProperties": false
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "description": "matchLabels is a map of {key,value} pairs.",
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic",
                                            "additionalProperties": false
                                          },
                                          "storageClassName": {
                                            "description": "storageClassName is the name of the StorageClass required by the claim.",
                                            "type": "string"
                                          },
                                          "volumeAttributesClassName": {
                                            "description": "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.",
                                            "type": "string"
                                          },
                                          "volumeMode": {
                                            "description": "volumeMode defines what type of volume is required by the claim.",
                                            "type": "string"
                                          },
                                          "volumeName": {
                                            "description": "volumeName is the binding reference to the PersistentVolume backing this claim.",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      }
                                    },
                                    "required": [
                                      "spec"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "fc": {
                                "description": "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then...",
                                "properties": {
                                  "fsType": {
                                    "description": "fsType is the filesystem type to mount.",
                                    "type": "string"
                                  },
                                  "lun": {
                                    "description": "lun is Optional: FC target lun number",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "readOnly": {
                                    "description": "readOnly is Optional: Defaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "targetWWNs": {
                                    "description": "targetWWNs is Optional: FC target worldwide names (WWNs)",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "wwids": {
                                    "description": "wwids Optional: FC volume world wide identifiers (wwids)\nEither wwids or combination of targetWWNs...",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "flexVolume": {
                                "description": "flexVolume represents a generic volume resource that is\nprovisioned/attached using an exec based...",
                                "properties": {
                                  "driver": {
                                    "description": "driver is the name of the driver to use for this volume.",
                                    "type": "string"
                                  },
                                  "fsType": {
                                    "description": "fsType is the filesystem type to mount.",
                                    "type": "string"
                                  },
                                  "options": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "description": "options is Optional: this field holds extra command options if any.",
                                    "type": "object"
                                  },
                                  "readOnly": {
                                    "description": "readOnly is Optional: defaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "description": "secretRef is Optional: secretRef is reference to the secret object containing\nsensitive information...",
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "description": "Name of the referent.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic",
                                    "additionalProperties": false
                                  }
                                },
                                "required": [
                                  "driver"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "flocker": {
                                "description": "flocker represents a Flocker volume attached to a kubelet's host machine.",
                                "properties": {
                                  "datasetName": {
                                    "description": "datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker\nshould be...",
                                    "type": "string"
                                  },
                                  "datasetUUID": {
                                    "description": "datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset",
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "gcePersistentDisk": {
                                "description": "gcePersistentDisk represents a GCE Disk resource that is attached to a\nkubelet's host machine and...",
                                "properties": {
                                  "fsType": {
                                    "description": "fsType is filesystem type of the volume that you want to mount.",
                                    "type": "string"
                                  },
                                  "partition": {
                                    "description": "partition is the partition in the volume that you want to mount.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "pdName": {
                                    "description": "pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false.",
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "pdName"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "gitRepo": {
                                "description": "gitRepo represents a git repository at a particular revision.\nDeprecated: GitRepo is deprecated.",
                                "properties": {
                                  "directory": {
                                    "description": "directory is the target directory name.\nMust not contain or start with '..'.  If '.",
                                    "type": "string"
                                  },
                                  "repository": {
                                    "description": "repository is the URL",
                                    "type": "string"
                                  },
                                  "revision": {
                                    "description": "revision is the commit hash for the specified revision.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "repository"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "glusterfs": {
                                "description": "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.",
                                "properties": {
                                  "endpoints": {
                                    "description": "endpoints is the endpoint name that details Glusterfs topology.\nMore info: https://examples.k8s.",
                                    "type": "string"
                                  },
                                  "path": {
                                    "description": "path is the Glusterfs volume path.\nMore info: https://examples.k8s.io/volumes/glusterfs/README.",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly here will force the Glusterfs volume to be mounted with read-only permissions.",
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "endpoints",
                                  "path"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "hostPath": {
                                "description": "hostPath represents a pre-existing file or directory on the host\nmachine that is directly exposed...",
                                "properties": {
                                  "path": {
                                    "description": "path of the directory on the host.",
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "type for HostPath Volume\nDefaults to \"\"\nMore info: https://kubernetes.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "path"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "image": {
                                "description": "image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's...",
                                "properties": {
                                  "pullPolicy": {
                                    "description": "Policy for pulling OCI objects.",
                                    "type": "string"
                                  },
                                  "reference": {
                                    "description": "Required: Image or artifact reference to be used.\nBehaves in the same way as pod.spec.containers[*].",
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "iscsi": {
                                "description": "iscsi represents an ISCSI Disk resource that is attached to a\nkubelet's host machine and then...",
                                "properties": {
                                  "chapAuthDiscovery": {
                                    "description": "chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication",
                                    "type": "boolean"
                                  },
                                  "chapAuthSession": {
                                    "description": "chapAuthSession defines whether support iSCSI Session CHAP authentication",
                                    "type": "boolean"
                                  },
                                  "fsType": {
                                    "description": "fsType is the filesystem type of the volume that you want to mount.",
                                    "type": "string"
                                  },
                                  "initiatorName": {
                                    "description": "initiatorName is the custom iSCSI Initiator Name.",
                                    "type": "string"
                                  },
                                  "iqn": {
                                    "description": "iqn is the target iSCSI Qualified Name.",
                                    "type": "string"
                                  },
                                  "iscsiInterface": {
                                    "default": "default",
                                    "description": "iscsiInterface is the interface Name that uses an iSCSI transport.\nDefaults to 'default' (tcp).",
                                    "type": "string"
                                  },
                                  "lun": {
                                    "description": "lun represents iSCSI Target Lun number.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "portals": {
                                    "description": "portals is the iSCSI Target Portal List.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "readOnly": {
                                    "description": "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false.",
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "description": "secretRef is the CHAP Secret for iSCSI target and initiator authentication",
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "description": "Name of the referent.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic",
                                    "additionalProperties": false
                                  },
                                  "targetPortal": {
                                    "description": "targetPortal is iSCSI Target Portal.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "iqn",
                                  "lun",
                                  "targetPortal"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "name": {
                                "description": "name of the volume.\nMust be a DNS_LABEL and unique within the pod.\nMore info: https://kubernetes.",
                                "type": "string"
                              },
                              "nfs": {
                                "description": "nfs represents an NFS mount on the host that shares a pod's lifetime\nMore info: https://kubernetes.",
                                "properties": {
                                  "path": {
                                    "description": "path that is exported by the NFS server.\nMore info: https://kubernetes.",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly here will force the NFS export to be mounted with read-only permissions.\nDefaults to false.",
                                    "type": "boolean"
                                  },
                                  "server": {
                                    "description": "server is the hostname or IP address of the NFS server.\nMore info: https://kubernetes.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "path",
                                  "server"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "persistentVolumeClaim": {
                                "description": "persistentVolumeClaimVolumeSource represents a reference to a\nPersistentVolumeClaim in the same...",
                                "properties": {
                                  "claimName": {
                                    "description": "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly Will force the ReadOnly setting in VolumeMounts.\nDefault false.",
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "claimName"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "photonPersistentDisk": {
                                "description": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets...",
                                "properties": {
                                  "fsType": {
                                    "description": "fsType is the filesystem type to mount.",
                                    "type": "string"
                                  },
                                  "pdID": {
                                    "description": "pdID is the ID that identifies Photon Controller persistent disk",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "pdID"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "portworxVolume": {
                                "description": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine.",
                                "properties": {
                                  "fsType": {
                                    "description": "fSType represents the filesystem type to mount\nMust be a filesystem type supported by the host...",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly defaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "volumeID": {
                                    "description": "volumeID uniquely identifies a Portworx volume",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "volumeID"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "projected": {
                                "description": "projected items for all in one resources secrets, configmaps, and downward API",
                                "properties": {
                                  "defaultMode": {
                                    "description": "defaultMode are the mode bits used to set permissions on created files by default.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "sources": {
                                    "description": "sources is the list of volume projections. Each entry in this list\nhandles one source.",
                                    "items": {
                                      "description": "Projection that may be projected along with other supported volume types.",
                                      "properties": {
                                        "clusterTrustBundle": {
                                          "description": "ClusterTrustBundle allows a pod to access the `.spec.",
                                          "properties": {
                                            "labelSelector": {
                                              "description": "Select all ClusterTrustBundles that match this label selector.",
                                              "properties": {
                                                "matchExpressions": {
                                                  "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
                                                  "items": {
                                                    "description": "A label selector requirement is a selector that contains values, a key, and an operator that...",
                                                    "properties": {
                                                      "key": {
                                                        "description": "key is the label key that the selector applies to.",
                                                        "type": "string"
                                                      },
                                                      "operator": {
                                                        "description": "operator represents a key's relationship to a set of values.",
                                                        "type": "string"
                                                      },
                                                      "values": {
                                                        "description": "values is an array of string values.",
                                                        "items": {
                                                          "type": "string"
                                                        },
                                                        "type": "array",
                                                        "x-kubernetes-list-type": "atomic"
                                                      }
                                                    },
                                                    "required": [
                                                      "key",
                                                      "operator"
                                                    ],
                                                    "type": "object",
                                                    "additionalProperties": false
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                },
                                                "matchLabels": {
                                                  "additionalProperties": {
                                                    "type": "string"
                                                  },
                                                  "description": "matchLabels is a map of {key,value} pairs.",
                                                  "type": "object"
                                                }
                                              },
                                              "type": "object",
                                              "x-kubernetes-map-type": "atomic",
                                              "additionalProperties": false
                                            },
                                            "name": {
                                              "description": "Select a single ClusterTrustBundle by object name.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "If true, don't block pod startup if the referenced ClusterTrustBundle(s)\naren't available.",
                                              "type": "boolean"
                                            },
                                            "path": {
                                              "description": "Relative path from the volume root to write the bundle.",
                                              "type": "string"
                                            },
                                            "signerName": {
                                              "description": "Select all ClusterTrustBundles that match this signer name.\nMutually-exclusive with name.",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "path"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "configMap": {
                                          "description": "configMap information about the configMap data to project",
                                          "properties": {
                                            "items": {
                                              "description": "items if unspecified, each key-value pair in the Data field of the referenced\nConfigMap will be...",
                                              "items": {
                                                "description": "Maps a string key to a path within a volume.",
                                                "properties": {
                                                  "key": {
                                                    "description": "key is the key to project.",
                                                    "type": "string"
                                                  },
                                                  "mode": {
                                                    "description": "mode is Optional: mode bits used to set permissions on this file.",
                                                    "format": "int32",
                                                    "type": "integer"
                                                  },
                                                  "path": {
                                                    "description": "\npath is the relative path of the file to map the key to.\nMay not be an absolute path.",
                                                    "type": "string"
                                                  }
                                                },
                                                "required": [
                                                  "key",
                                                  "path"
                                                ],
                                                "type": "object",
                                                "additionalProperties": false
                                              },
                                              "type": "array",
                                              "x-kubernetes-list-type": "atomic"
                                            },
                                            "name": {
                                              "default": "",
                                              "description": "Name of the referent.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "optional specify whether the ConfigMap or its keys must be defined",
                                              "type": "boolean"
                                            }
                                          },
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "downwardAPI": {
                                          "description": "downwardAPI information about the downwardAPI data to project",
                                          "properties": {
                                            "items": {
                                              "description": "Items is a list of DownwardAPIVolume file",
                                              "items": {
                                                "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field",
                                                "properties": {
                                                  "fieldRef": {
                                                    "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are...",
                                                    "properties": {
                                                      "apiVersion": {
                                                        "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".",
                                                        "type": "string"
                                                      },
                                                      "fieldPath": {
                                                        "description": "Path of the field to select in the specified API version.",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "required": [
                                                      "fieldPath"
                                                    ],
                                                    "type": "object",
                                                    "x-kubernetes-map-type": "atomic",
                                                    "additionalProperties": false
                                                  },
                                                  "mode": {
                                                    "description": "\nOptional: mode bits used to set permissions on this file, must be an octal value\nbetween 0000 and...",
                                                    "format": "int32",
                                                    "type": "integer"
                                                  },
                                                  "path": {
                                                    "description": "Required: Path is  the relative path name of the file to be created.",
                                                    "type": "string"
                                                  },
                                                  "resourceFieldRef": {
                                                    "description": "\nSelects a resource of the container: only resources limits and requests\n(limits.cpu, limits.",
                                                    "properties": {
                                                      "containerName": {
                                                        "description": "Container name: required for volumes, optional for env vars",
                                                        "type": "string"
                                                      },
                                                      "divisor": {
                                                        "anyOf": [
                                                          {
                                                            "type": "integer"
                                                          },
                                                          {
                                                            "type": "string"
                                                          }
                                                        ],
                                                        "description": "Specifies the output format of the exposed resources, defaults to \"1\"",
                                                        "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                                                        "x-kubernetes-int-or-string": true
                                                      },
                                                      "resource": {
                                                        "description": "Required: resource to select",
                                                        "type": "string"
                                                      }
                                                    },
                                                    "required": [
                                                      "resource"
                                                    ],
                                                    "type": "object",
                                                    "x-kubernetes-map-type": "atomic",
                                                    "additionalProperties": false
                                                  }
                                                },
                                                "required": [
                                                  "path"
                                                ],
                                                "type": "object",
                                                "additionalProperties": false
                                              },
                                              "type": "array",
                                              "x-kubernetes-list-type": "atomic"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "secret": {
                                          "description": "secret information about the secret data to project",
                                          "properties": {
                                            "items": {
                                              "description": "items if unspecified, each key-value pair in the Data field of the referenced\nSecret will be...",
                                              "items": {
                                                "description": "Maps a string key to a path within a volume.",
                                                "properties": {
                                                  "key": {
                                                    "description": "key is the key to project.",
                                                    "type": "string"
                                                  },
                                                  "mode": {
                                                    "description": "mode is Optional: mode bits used to set permissions on this file.",
                                                    "format": "int32",
                                                    "type": "integer"
                                                  },
                                                  "path": {
                                                    "description": "\npath is the relative path of the file to map the key to.\nMay not be an absolute path.",
                                                    "type": "string"
                                                  }
                                                },
                                                "required": [
                                                  "key",
                                                  "path"
                                                ],
                                                "type": "object",
                                                "additionalProperties": false
                                              },
                                              "type": "array",
                                              "x-kubernetes-list-type": "atomic"
                                            },
                                            "name": {
                                              "default": "",
                                              "description": "Name of the referent.",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "description": "optional field specify whether the Secret or its key must be defined",
                                              "type": "boolean"
                                            }
                                          },
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic",
                                          "additionalProperties": false
                                        },
                                        "serviceAccountToken": {
                                          "description": "serviceAccountToken is information about the serviceAccountToken data to project",
                                          "properties": {
                                            "audience": {
                                              "description": "audience is the intended audience of the token.",
                                              "type": "string"
                                            },
                                            "expirationSeconds": {
                                              "description": "expirationSeconds is the requested duration of validity of the service\naccount token.",
                                              "format": "int64",
                                              "type": "integer"
                                            },
                                            "path": {
                                              "description": "path is the path relative to the mount point of the file to project the\ntoken into.",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "path"
                                          ],
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "quobyte": {
                                "description": "quobyte represents a Quobyte mount on the host that shares a pod's lifetime.",
                                "properties": {
                                  "group": {
                                    "description": "group to map volume access to\nDefault is no group",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly here will force the Quobyte volume to be mounted with read-only permissions.",
                                    "type": "boolean"
                                  },
                                  "registry": {
                                    "description": "registry represents a single or multiple Quobyte Registry services\nspecified as a string as...",
                                    "type": "string"
                                  },
                                  "tenant": {
                                    "description": "tenant owning the given Quobyte volume in the Backend\nUsed with dynamically provisioned Quobyte...",
                                    "type": "string"
                                  },
                                  "user": {
                                    "description": "user to map volume access to\nDefaults to serivceaccount user",
                                    "type": "string"
                                  },
                                  "volume": {
                                    "description": "volume is a string that references an already created Quobyte volume by name.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "registry",
                                  "volume"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "rbd": {
                                "description": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.",
                                "properties": {
                                  "fsType": {
                                    "description": "fsType is the filesystem type of the volume that you want to mount.",
                                    "type": "string"
                                  },
                                  "image": {
                                    "description": "image is the rados image name.\nMore info: https://examples.k8s.io/volumes/rbd/README.",
                                    "type": "string"
                                  },
                                  "keyring": {
                                    "default": "/etc/ceph/keyring",
                                    "description": "keyring is the path to key ring for RBDUser.\nDefault is /etc/ceph/keyring.",
                                    "type": "string"
                                  },
                                  "monitors": {
                                    "description": "monitors is a collection of Ceph monitors.\nMore info: https://examples.k8s.io/volumes/rbd/README.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "pool": {
                                    "default": "rbd",
                                    "description": "pool is the rados pool name.\nDefault is rbd.\nMore info: https://examples.k8s.io/volumes/rbd/README.",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly here will force the ReadOnly setting in VolumeMounts.\nDefaults to false.",
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "description": "secretRef is name of the authentication secret for RBDUser. If provided\noverrides keyring.",
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "description": "Name of the referent.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic",
                                    "additionalProperties": false
                                  },
                                  "user": {
                                    "default": "admin",
                                    "description": "user is the rados user name.\nDefault is admin.\nMore info: https://examples.k8s.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "image",
                                  "monitors"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "scaleIO": {
                                "description": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
                                "properties": {
                                  "fsType": {
                                    "default": "xfs",
                                    "description": "fsType is the filesystem type to mount.",
                                    "type": "string"
                                  },
                                  "gateway": {
                                    "description": "gateway is the host address of the ScaleIO API Gateway.",
                                    "type": "string"
                                  },
                                  "protectionDomain": {
                                    "description": "protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly Defaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "description": "secretRef references to the secret for ScaleIO user and other\nsensitive information.",
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "description": "Name of the referent.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic",
                                    "additionalProperties": false
                                  },
                                  "sslEnabled": {
                                    "description": "sslEnabled Flag enable/disable SSL communication with Gateway, default false",
                                    "type": "boolean"
                                  },
                                  "storageMode": {
                                    "default": "ThinProvisioned",
                                    "description": "storageMode indicates whether the storage for a volume should be ThickProvisioned or...",
                                    "type": "string"
                                  },
                                  "storagePool": {
                                    "description": "storagePool is the ScaleIO Storage Pool associated with the protection domain.",
                                    "type": "string"
                                  },
                                  "system": {
                                    "description": "system is the name of the storage system as configured in ScaleIO.",
                                    "type": "string"
                                  },
                                  "volumeName": {
                                    "description": "volumeName is the name of a volume already created in the ScaleIO system\nthat is associated with...",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "gateway",
                                  "secretRef",
                                  "system"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "secret": {
                                "description": "secret represents a secret that should populate this volume.\nMore info: https://kubernetes.",
                                "properties": {
                                  "defaultMode": {
                                    "description": "defaultMode is Optional: mode bits used to set permissions on created files by default.",
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "items": {
                                    "description": "items If unspecified, each key-value pair in the Data field of the referenced\nSecret will be...",
                                    "items": {
                                      "description": "Maps a string key to a path within a volume.",
                                      "properties": {
                                        "key": {
                                          "description": "key is the key to project.",
                                          "type": "string"
                                        },
                                        "mode": {
                                          "description": "mode is Optional: mode bits used to set permissions on this file.",
                                          "format": "int32",
                                          "type": "integer"
                                        },
                                        "path": {
                                          "description": "path is the relative path of the file to map the key to.\nMay not be an absolute path.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "path"
                                      ],
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "optional": {
                                    "description": "optional field specify whether the Secret or its keys must be defined",
                                    "type": "boolean"
                                  },
                                  "secretName": {
                                    "description": "secretName is the name of the secret in the pod's namespace to use.\nMore info: https://kubernetes.",
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "storageos": {
                                "description": "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.",
                                "properties": {
                                  "fsType": {
                                    "description": "fsType is the filesystem type to mount.",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "description": "readOnly defaults to false (read/write).",
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "description": "secretRef specifies the secret to use for obtaining the StorageOS API\ncredentials.",
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "description": "Name of the referent.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic",
                                    "additionalProperties": false
                                  },
                                  "volumeName": {
                                    "description": "volumeName is the human-readable name of the StorageOS volume.",
                                    "type": "string"
                                  },
                                  "volumeNamespace": {
                                    "description": "volumeNamespace specifies the scope of the volume within StorageOS.",
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "vsphereVolume": {
                                "description": "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.",
                                "properties": {
                                  "fsType": {
                                    "description": "fsType is filesystem type to mount.",
                                    "type": "string"
                                  },
                                  "storagePolicyID": {
                                    "description": "storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the...",
                                    "type": "string"
                                  },
                                  "storagePolicyName": {
                                    "description": "storagePolicyName is the storage Policy Based Management (SPBM) profile name.",
                                    "type": "string"
                                  },
                                  "volumePath": {
                                    "description": "volumePath is the path that identifies vSphere volume vmdk",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "volumePath"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "name"
                          ],
                          "x-kubernetes-list-type": "map"
                        }
                      },
                      "required": [
                        "containers"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "service": {
              "description": "Use this field to customize the Kubernetes Service that exposes the Gateway\nby adding labels and...",
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "externalTrafficPolicy": {
                  "default": "Cluster",
                  "description": "ServiceExternalTrafficPolicy describes how nodes distribute service traffic they\nreceive on one of...",
                  "type": "string"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "loadBalancerClass": {
                  "type": "string"
                },
                "type": {
                  "default": "LoadBalancer",
                  "description": "Service Type string describes ingress methods for a service",
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "conditions": {
          "items": {
            "description": "Condition contains details for one aspect of the current state of this API Resource.",
            "properties": {
              "lastTransitionTime": {
                "description": "lastTransitionTime is the last time the condition transitioned from one status to another.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "message is a human readable message indicating details about the transition.",
                "maxLength": 32768,
                "type": "string"
              },
              "observedGeneration": {
                "description": "observedGeneration represents the .metadata.generation that the condition was set based upon.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "reason": {
                "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.",
                "maxLength": 1024,
                "minLength": 1,
                "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
                "type": "string"
              },
              "status": {
                "description": "status of the condition, one of True, False, Unknown.",
                "enum": [
                  "True",
                  "False",
                  "Unknown"
                ],
                "type": "string"
              },
              "type": {
                "description": "type of condition in CamelCase or in foo.example.com/CamelCase.",
                "maxLength": 316,
                "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$",
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "message",
              "reason",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "required": [
        "conditions"
      ],
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
