{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "client": {
          "properties": {
            "headers": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "preferIngress": {
              "nullable": true,
              "type": "boolean"
            },
            "timeout": {
              "nullable": true,
              "type": "integer"
            },
            "tls": {
              "properties": {
                "certSecretRef": {
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "namespace": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "atomic"
                },
                "insecureSkipVerify": {
                  "type": "boolean"
                }
              },
              "type": "object",
              "x-kubernetes-validations": [
                {
                  "message": "insecureSkipVerify and certSecretRef cannot be set at the same time",
                  "rule": "(has(self.insecureSkipVerify) && !(has(self.certSecretRef))) || (has(self.certSecretRef) && !(has(self.insecureSkipVerify)))"
                }
              ]
            },
            "useKubeAuth": {
              "type": "boolean"
            }
          },
          "type": "object"
        },
        "config": {
          "additionalProperties": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "type": "object",
          "x-kubernetes-preserve-unknown-fields": true
        },
        "deployment": {
          "properties": {
            "metadata": {
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "spec": {
              "properties": {
                "minReadySeconds": {
                  "format": "int32",
                  "type": "integer"
                },
                "paused": {
                  "type": "boolean"
                },
                "progressDeadlineSeconds": {
                  "format": "int32",
                  "type": "integer"
                },
                "replicas": {
                  "format": "int32",
                  "type": "integer"
                },
                "revisionHistoryLimit": {
                  "format": "int32",
                  "type": "integer"
                },
                "selector": {
                  "properties": {
                    "matchExpressions": {
                      "items": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "operator": {
                            "type": "string"
                          },
                          "values": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          }
                        },
                        "required": [
                          "key",
                          "operator"
                        ],
                        "type": "object"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "matchLabels": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "atomic"
                },
                "strategy": {
                  "properties": {
                    "rollingUpdate": {
                      "properties": {
                        "maxSurge": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "string"
                            }
                          ],
                          "x-kubernetes-int-or-string": true
                        },
                        "maxUnavailable": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "string"
                            }
                          ],
                          "x-kubernetes-int-or-string": true
                        }
                      },
                      "type": "object"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "template": {
                  "properties": {
                    "metadata": {
                      "properties": {
                        "annotations": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "type": "object"
                        },
                        "labels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "spec": {
                      "properties": {
                        "activeDeadlineSeconds": {
                          "format": "int64",
                          "type": "integer"
                        },
                        "affinity": {
                          "properties": {
                            "nodeAffinity": {
                              "properties": {
                                "preferredDuringSchedulingIgnoredDuringExecution": {
                                  "items": {
                                    "properties": {
                                      "preference": {
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "properties": {
                                                "key": {
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchFields": {
                                            "items": {
                                              "properties": {
                                                "key": {
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic"
                                      },
                                      "weight": {
                                        "format": "int32",
                                        "type": "integer"
                                      }
                                    },
                                    "required": [
                                      "preference",
                                      "weight"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "requiredDuringSchedulingIgnoredDuringExecution": {
                                  "properties": {
                                    "nodeSelectorTerms": {
                                      "items": {
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "properties": {
                                                "key": {
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchFields": {
                                            "items": {
                                              "properties": {
                                                "key": {
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic"
                                      },
                                      "type": "array",
                                      "x-kubernetes-list-type": "atomic"
                                    }
                                  },
                                  "required": [
                                    "nodeSelectorTerms"
                                  ],
                                  "type": "object",
                                  "x-kubernetes-map-type": "atomic"
                                }
                              },
                              "type": "object"
                            },
                            "podAffinity": {
                              "properties": {
                                "preferredDuringSchedulingIgnoredDuringExecution": {
                                  "items": {
                                    "properties": {
                                      "podAffinityTerm": {
                                        "properties": {
                                          "labelSelector": {
                                            "properties": {
                                              "matchExpressions": {
                                                "items": {
                                                  "properties": {
                                                    "key": {
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic"
                                          },
                                          "matchLabelKeys": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "mismatchLabelKeys": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "namespaceSelector": {
                                            "properties": {
                                              "matchExpressions": {
                                                "items": {
                                                  "properties": {
                                                    "key": {
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic"
                                          },
                                          "namespaces": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "topologyKey": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "topologyKey"
                                        ],
                                        "type": "object"
                                      },
                                      "weight": {
                                        "format": "int32",
                                        "type": "integer"
                                      }
                                    },
                                    "required": [
                                      "podAffinityTerm",
                                      "weight"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "requiredDuringSchedulingIgnoredDuringExecution": {
                                  "items": {
                                    "properties": {
                                      "labelSelector": {
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "properties": {
                                                "key": {
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": "object"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic"
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "namespaceSelector": {
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "properties": {
                                                "key": {
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": "object"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic"
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "topologyKey": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "topologyKey"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                }
                              },
                              "type": "object"
                            },
                            "podAntiAffinity": {
                              "properties": {
                                "preferredDuringSchedulingIgnoredDuringExecution": {
                                  "items": {
                                    "properties": {
                                      "podAffinityTerm": {
                                        "properties": {
                                          "labelSelector": {
                                            "properties": {
                                              "matchExpressions": {
                                                "items": {
                                                  "properties": {
                                                    "key": {
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic"
                                          },
                                          "matchLabelKeys": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "mismatchLabelKeys": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "namespaceSelector": {
                                            "properties": {
                                              "matchExpressions": {
                                                "items": {
                                                  "properties": {
                                                    "key": {
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic"
                                          },
                                          "namespaces": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "topologyKey": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "topologyKey"
                                        ],
                                        "type": "object"
                                      },
                                      "weight": {
                                        "format": "int32",
                                        "type": "integer"
                                      }
                                    },
                                    "required": [
                                      "podAffinityTerm",
                                      "weight"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                },
                                "requiredDuringSchedulingIgnoredDuringExecution": {
                                  "items": {
                                    "properties": {
                                      "labelSelector": {
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "properties": {
                                                "key": {
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": "object"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic"
                                      },
                                      "matchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "mismatchLabelKeys": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "namespaceSelector": {
                                        "properties": {
                                          "matchExpressions": {
                                            "items": {
                                              "properties": {
                                                "key": {
                                                  "type": "string"
                                                },
                                                "operator": {
                                                  "type": "string"
                                                },
                                                "values": {
                                                  "items": {
                                                    "type": "string"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                }
                                              },
                                              "required": [
                                                "key",
                                                "operator"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "matchLabels": {
                                            "additionalProperties": {
                                              "type": "string"
                                            },
                                            "type": "object"
                                          }
                                        },
                                        "type": "object",
                                        "x-kubernetes-map-type": "atomic"
                                      },
                                      "namespaces": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "topologyKey": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "topologyKey"
                                    ],
                                    "type": "object"
                                  },
                                  "type": "array",
                                  "x-kubernetes-list-type": "atomic"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "automountServiceAccountToken": {
                          "type": "boolean"
                        },
                        "containers": {
                          "items": {
                            "properties": {
                              "args": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "command": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "env": {
                                "items": {
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": "string"
                                    },
                                    "valueFrom": {
                                      "properties": {
                                        "configMapKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "fieldRef": {
                                          "properties": {
                                            "apiVersion": {
                                              "type": "string"
                                            },
                                            "fieldPath": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "fieldPath"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "fileKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "optional": {
                                              "default": false,
                                              "type": "boolean"
                                            },
                                            "path": {
                                              "type": "string"
                                            },
                                            "volumeName": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "key",
                                            "path",
                                            "volumeName"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "resourceFieldRef": {
                                          "properties": {
                                            "containerName": {
                                              "type": "string"
                                            },
                                            "divisor": {
                                              "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
                                            },
                                            "resource": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "resource"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "secretKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        }
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "name"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "envFrom": {
                                "items": {
                                  "properties": {
                                    "configMapRef": {
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    },
                                    "prefix": {
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "image": {
                                "type": "string"
                              },
                              "imagePullPolicy": {
                                "type": "string"
                              },
                              "lifecycle": {
                                "properties": {
                                  "postStart": {
                                    "properties": {
                                      "exec": {
                                        "properties": {
                                          "command": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "httpGet": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "items": {
                                              "properties": {
                                                "name": {
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      },
                                      "sleep": {
                                        "properties": {
                                          "seconds": {
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object"
                                      },
                                      "tcpSocket": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "preStop": {
                                    "properties": {
                                      "exec": {
                                        "properties": {
                                          "command": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "httpGet": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "items": {
                                              "properties": {
                                                "name": {
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      },
                                      "sleep": {
                                        "properties": {
                                          "seconds": {
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object"
                                      },
                                      "tcpSocket": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "stopSignal": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "livenessProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "name": {
                                "type": "string"
                              },
                              "ports": {
                                "items": {
                                  "properties": {
                                    "containerPort": {
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "hostIP": {
                                      "type": "string"
                                    },
                                    "hostPort": {
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "protocol": {
                                      "default": "TCP",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "containerPort"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "containerPort",
                                  "protocol"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "readinessProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "resizePolicy": {
                                "items": {
                                  "properties": {
                                    "resourceName": {
                                      "type": "string"
                                    },
                                    "restartPolicy": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "resourceName",
                                    "restartPolicy"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "resources": {
                                "properties": {
                                  "claims": {
                                    "items": {
                                      "properties": {
                                        "name": {
                                          "type": "string"
                                        },
                                        "request": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "name"
                                      ],
                                      "type": "object"
                                    },
                                    "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
                                    },
                                    "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
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "restartPolicy": {
                                "type": "string"
                              },
                              "restartPolicyRules": {
                                "items": {
                                  "properties": {
                                    "action": {
                                      "type": "string"
                                    },
                                    "exitCodes": {
                                      "properties": {
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "format": "int32",
                                            "type": "integer"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "set"
                                        }
                                      },
                                      "required": [
                                        "operator"
                                      ],
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "action"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "securityContext": {
                                "properties": {
                                  "allowPrivilegeEscalation": {
                                    "type": "boolean"
                                  },
                                  "appArmorProfile": {
                                    "properties": {
                                      "localhostProfile": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object"
                                  },
                                  "capabilities": {
                                    "properties": {
                                      "add": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "drop": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "privileged": {
                                    "type": "boolean"
                                  },
                                  "procMount": {
                                    "type": "string"
                                  },
                                  "readOnlyRootFilesystem": {
                                    "type": "boolean"
                                  },
                                  "runAsGroup": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "runAsNonRoot": {
                                    "type": "boolean"
                                  },
                                  "runAsUser": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "seLinuxOptions": {
                                    "properties": {
                                      "level": {
                                        "type": "string"
                                      },
                                      "role": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      },
                                      "user": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "seccompProfile": {
                                    "properties": {
                                      "localhostProfile": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object"
                                  },
                                  "windowsOptions": {
                                    "properties": {
                                      "gmsaCredentialSpec": {
                                        "type": "string"
                                      },
                                      "gmsaCredentialSpecName": {
                                        "type": "string"
                                      },
                                      "hostProcess": {
                                        "type": "boolean"
                                      },
                                      "runAsUserName": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "startupProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "stdin": {
                                "type": "boolean"
                              },
                              "stdinOnce": {
                                "type": "boolean"
                              },
                              "terminationMessagePath": {
                                "type": "string"
                              },
                              "terminationMessagePolicy": {
                                "type": "string"
                              },
                              "tty": {
                                "type": "boolean"
                              },
                              "volumeDevices": {
                                "items": {
                                  "properties": {
                                    "devicePath": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "devicePath",
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "devicePath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "volumeMounts": {
                                "items": {
                                  "properties": {
                                    "mountPath": {
                                      "type": "string"
                                    },
                                    "mountPropagation": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "readOnly": {
                                      "type": "boolean"
                                    },
                                    "recursiveReadOnly": {
                                      "type": "string"
                                    },
                                    "subPath": {
                                      "type": "string"
                                    },
                                    "subPathExpr": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "mountPath",
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "mountPath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "workingDir": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "dnsConfig": {
                          "properties": {
                            "nameservers": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            },
                            "options": {
                              "items": {
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            },
                            "searches": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            }
                          },
                          "type": "object"
                        },
                        "dnsPolicy": {
                          "type": "string"
                        },
                        "enableServiceLinks": {
                          "type": "boolean"
                        },
                        "ephemeralContainers": {
                          "items": {
                            "properties": {
                              "args": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "command": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "env": {
                                "items": {
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": "string"
                                    },
                                    "valueFrom": {
                                      "properties": {
                                        "configMapKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "fieldRef": {
                                          "properties": {
                                            "apiVersion": {
                                              "type": "string"
                                            },
                                            "fieldPath": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "fieldPath"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "fileKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "optional": {
                                              "default": false,
                                              "type": "boolean"
                                            },
                                            "path": {
                                              "type": "string"
                                            },
                                            "volumeName": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "key",
                                            "path",
                                            "volumeName"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "resourceFieldRef": {
                                          "properties": {
                                            "containerName": {
                                              "type": "string"
                                            },
                                            "divisor": {
                                              "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
                                            },
                                            "resource": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "resource"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "secretKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        }
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "name"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "envFrom": {
                                "items": {
                                  "properties": {
                                    "configMapRef": {
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    },
                                    "prefix": {
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "image": {
                                "type": "string"
                              },
                              "imagePullPolicy": {
                                "type": "string"
                              },
                              "lifecycle": {
                                "properties": {
                                  "postStart": {
                                    "properties": {
                                      "exec": {
                                        "properties": {
                                          "command": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "httpGet": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "items": {
                                              "properties": {
                                                "name": {
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      },
                                      "sleep": {
                                        "properties": {
                                          "seconds": {
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object"
                                      },
                                      "tcpSocket": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "preStop": {
                                    "properties": {
                                      "exec": {
                                        "properties": {
                                          "command": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "httpGet": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "items": {
                                              "properties": {
                                                "name": {
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      },
                                      "sleep": {
                                        "properties": {
                                          "seconds": {
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object"
                                      },
                                      "tcpSocket": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "stopSignal": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "livenessProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "name": {
                                "type": "string"
                              },
                              "ports": {
                                "items": {
                                  "properties": {
                                    "containerPort": {
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "hostIP": {
                                      "type": "string"
                                    },
                                    "hostPort": {
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "protocol": {
                                      "default": "TCP",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "containerPort"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "containerPort",
                                  "protocol"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "readinessProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "resizePolicy": {
                                "items": {
                                  "properties": {
                                    "resourceName": {
                                      "type": "string"
                                    },
                                    "restartPolicy": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "resourceName",
                                    "restartPolicy"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "resources": {
                                "properties": {
                                  "claims": {
                                    "items": {
                                      "properties": {
                                        "name": {
                                          "type": "string"
                                        },
                                        "request": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "name"
                                      ],
                                      "type": "object"
                                    },
                                    "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
                                    },
                                    "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
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "restartPolicy": {
                                "type": "string"
                              },
                              "restartPolicyRules": {
                                "items": {
                                  "properties": {
                                    "action": {
                                      "type": "string"
                                    },
                                    "exitCodes": {
                                      "properties": {
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "format": "int32",
                                            "type": "integer"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "set"
                                        }
                                      },
                                      "required": [
                                        "operator"
                                      ],
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "action"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "securityContext": {
                                "properties": {
                                  "allowPrivilegeEscalation": {
                                    "type": "boolean"
                                  },
                                  "appArmorProfile": {
                                    "properties": {
                                      "localhostProfile": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object"
                                  },
                                  "capabilities": {
                                    "properties": {
                                      "add": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "drop": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "privileged": {
                                    "type": "boolean"
                                  },
                                  "procMount": {
                                    "type": "string"
                                  },
                                  "readOnlyRootFilesystem": {
                                    "type": "boolean"
                                  },
                                  "runAsGroup": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "runAsNonRoot": {
                                    "type": "boolean"
                                  },
                                  "runAsUser": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "seLinuxOptions": {
                                    "properties": {
                                      "level": {
                                        "type": "string"
                                      },
                                      "role": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      },
                                      "user": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "seccompProfile": {
                                    "properties": {
                                      "localhostProfile": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object"
                                  },
                                  "windowsOptions": {
                                    "properties": {
                                      "gmsaCredentialSpec": {
                                        "type": "string"
                                      },
                                      "gmsaCredentialSpecName": {
                                        "type": "string"
                                      },
                                      "hostProcess": {
                                        "type": "boolean"
                                      },
                                      "runAsUserName": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "startupProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "stdin": {
                                "type": "boolean"
                              },
                              "stdinOnce": {
                                "type": "boolean"
                              },
                              "targetContainerName": {
                                "type": "string"
                              },
                              "terminationMessagePath": {
                                "type": "string"
                              },
                              "terminationMessagePolicy": {
                                "type": "string"
                              },
                              "tty": {
                                "type": "boolean"
                              },
                              "volumeDevices": {
                                "items": {
                                  "properties": {
                                    "devicePath": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "devicePath",
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "devicePath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "volumeMounts": {
                                "items": {
                                  "properties": {
                                    "mountPath": {
                                      "type": "string"
                                    },
                                    "mountPropagation": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "readOnly": {
                                      "type": "boolean"
                                    },
                                    "recursiveReadOnly": {
                                      "type": "string"
                                    },
                                    "subPath": {
                                      "type": "string"
                                    },
                                    "subPathExpr": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "mountPath",
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "mountPath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "workingDir": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "hostAliases": {
                          "items": {
                            "properties": {
                              "hostnames": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "ip": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "ip"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "hostIPC": {
                          "type": "boolean"
                        },
                        "hostNetwork": {
                          "type": "boolean"
                        },
                        "hostPID": {
                          "type": "boolean"
                        },
                        "hostUsers": {
                          "type": "boolean"
                        },
                        "hostname": {
                          "type": "string"
                        },
                        "imagePullSecrets": {
                          "items": {
                            "properties": {
                              "name": {
                                "default": "",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "x-kubernetes-map-type": "atomic"
                          },
                          "type": "array"
                        },
                        "initContainers": {
                          "items": {
                            "properties": {
                              "args": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "command": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "env": {
                                "items": {
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "value": {
                                      "type": "string"
                                    },
                                    "valueFrom": {
                                      "properties": {
                                        "configMapKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "fieldRef": {
                                          "properties": {
                                            "apiVersion": {
                                              "type": "string"
                                            },
                                            "fieldPath": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "fieldPath"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "fileKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "optional": {
                                              "default": false,
                                              "type": "boolean"
                                            },
                                            "path": {
                                              "type": "string"
                                            },
                                            "volumeName": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "key",
                                            "path",
                                            "volumeName"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "resourceFieldRef": {
                                          "properties": {
                                            "containerName": {
                                              "type": "string"
                                            },
                                            "divisor": {
                                              "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
                                            },
                                            "resource": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "resource"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "secretKeyRef": {
                                          "properties": {
                                            "key": {
                                              "type": "string"
                                            },
                                            "name": {
                                              "default": "",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            }
                                          },
                                          "required": [
                                            "key"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        }
                                      },
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "name"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "envFrom": {
                                "items": {
                                  "properties": {
                                    "configMapRef": {
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    },
                                    "prefix": {
                                      "type": "string"
                                    },
                                    "secretRef": {
                                      "properties": {
                                        "name": {
                                          "default": "",
                                          "type": "string"
                                        },
                                        "optional": {
                                          "type": "boolean"
                                        }
                                      },
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    }
                                  },
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "image": {
                                "type": "string"
                              },
                              "imagePullPolicy": {
                                "type": "string"
                              },
                              "lifecycle": {
                                "properties": {
                                  "postStart": {
                                    "properties": {
                                      "exec": {
                                        "properties": {
                                          "command": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "httpGet": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "items": {
                                              "properties": {
                                                "name": {
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      },
                                      "sleep": {
                                        "properties": {
                                          "seconds": {
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object"
                                      },
                                      "tcpSocket": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "preStop": {
                                    "properties": {
                                      "exec": {
                                        "properties": {
                                          "command": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "httpGet": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "httpHeaders": {
                                            "items": {
                                              "properties": {
                                                "name": {
                                                  "type": "string"
                                                },
                                                "value": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "name",
                                                "value"
                                              ],
                                              "type": "object"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "path": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "scheme": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      },
                                      "sleep": {
                                        "properties": {
                                          "seconds": {
                                            "format": "int64",
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "seconds"
                                        ],
                                        "type": "object"
                                      },
                                      "tcpSocket": {
                                        "properties": {
                                          "host": {
                                            "type": "string"
                                          },
                                          "port": {
                                            "anyOf": [
                                              {
                                                "type": "integer"
                                              },
                                              {
                                                "type": "string"
                                              }
                                            ],
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "required": [
                                          "port"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "stopSignal": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "livenessProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "name": {
                                "type": "string"
                              },
                              "ports": {
                                "items": {
                                  "properties": {
                                    "containerPort": {
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "hostIP": {
                                      "type": "string"
                                    },
                                    "hostPort": {
                                      "format": "int32",
                                      "type": "integer"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "protocol": {
                                      "default": "TCP",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "containerPort"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "containerPort",
                                  "protocol"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "readinessProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "resizePolicy": {
                                "items": {
                                  "properties": {
                                    "resourceName": {
                                      "type": "string"
                                    },
                                    "restartPolicy": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "resourceName",
                                    "restartPolicy"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "resources": {
                                "properties": {
                                  "claims": {
                                    "items": {
                                      "properties": {
                                        "name": {
                                          "type": "string"
                                        },
                                        "request": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "name"
                                      ],
                                      "type": "object"
                                    },
                                    "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
                                    },
                                    "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
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "restartPolicy": {
                                "type": "string"
                              },
                              "restartPolicyRules": {
                                "items": {
                                  "properties": {
                                    "action": {
                                      "type": "string"
                                    },
                                    "exitCodes": {
                                      "properties": {
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "format": "int32",
                                            "type": "integer"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "set"
                                        }
                                      },
                                      "required": [
                                        "operator"
                                      ],
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "action"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "securityContext": {
                                "properties": {
                                  "allowPrivilegeEscalation": {
                                    "type": "boolean"
                                  },
                                  "appArmorProfile": {
                                    "properties": {
                                      "localhostProfile": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object"
                                  },
                                  "capabilities": {
                                    "properties": {
                                      "add": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "drop": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "privileged": {
                                    "type": "boolean"
                                  },
                                  "procMount": {
                                    "type": "string"
                                  },
                                  "readOnlyRootFilesystem": {
                                    "type": "boolean"
                                  },
                                  "runAsGroup": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "runAsNonRoot": {
                                    "type": "boolean"
                                  },
                                  "runAsUser": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "seLinuxOptions": {
                                    "properties": {
                                      "level": {
                                        "type": "string"
                                      },
                                      "role": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      },
                                      "user": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "seccompProfile": {
                                    "properties": {
                                      "localhostProfile": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type"
                                    ],
                                    "type": "object"
                                  },
                                  "windowsOptions": {
                                    "properties": {
                                      "gmsaCredentialSpec": {
                                        "type": "string"
                                      },
                                      "gmsaCredentialSpecName": {
                                        "type": "string"
                                      },
                                      "hostProcess": {
                                        "type": "boolean"
                                      },
                                      "runAsUserName": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "startupProbe": {
                                "properties": {
                                  "exec": {
                                    "properties": {
                                      "command": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "failureThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "grpc": {
                                    "properties": {
                                      "port": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "service": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "httpGet": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "httpHeaders": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "value": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "type": "array",
                                        "x-kubernetes-list-type": "atomic"
                                      },
                                      "path": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "scheme": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "initialDelaySeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "periodSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "successThreshold": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "tcpSocket": {
                                    "properties": {
                                      "host": {
                                        "type": "string"
                                      },
                                      "port": {
                                        "anyOf": [
                                          {
                                            "type": "integer"
                                          },
                                          {
                                            "type": "string"
                                          }
                                        ],
                                        "x-kubernetes-int-or-string": true
                                      }
                                    },
                                    "required": [
                                      "port"
                                    ],
                                    "type": "object"
                                  },
                                  "terminationGracePeriodSeconds": {
                                    "format": "int64",
                                    "type": "integer"
                                  },
                                  "timeoutSeconds": {
                                    "format": "int32",
                                    "type": "integer"
                                  }
                                },
                                "type": "object"
                              },
                              "stdin": {
                                "type": "boolean"
                              },
                              "stdinOnce": {
                                "type": "boolean"
                              },
                              "terminationMessagePath": {
                                "type": "string"
                              },
                              "terminationMessagePolicy": {
                                "type": "string"
                              },
                              "tty": {
                                "type": "boolean"
                              },
                              "volumeDevices": {
                                "items": {
                                  "properties": {
                                    "devicePath": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "devicePath",
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "devicePath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "volumeMounts": {
                                "items": {
                                  "properties": {
                                    "mountPath": {
                                      "type": "string"
                                    },
                                    "mountPropagation": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "readOnly": {
                                      "type": "boolean"
                                    },
                                    "recursiveReadOnly": {
                                      "type": "string"
                                    },
                                    "subPath": {
                                      "type": "string"
                                    },
                                    "subPathExpr": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "mountPath",
                                    "name"
                                  ],
                                  "type": "object"
                                },
                                "type": "array",
                                "x-kubernetes-list-map-keys": [
                                  "mountPath"
                                ],
                                "x-kubernetes-list-type": "map"
                              },
                              "workingDir": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "nodeName": {
                          "type": "string"
                        },
                        "nodeSelector": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        },
                        "os": {
                          "properties": {
                            "name": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "name"
                          ],
                          "type": "object"
                        },
                        "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
                          },
                          "type": "object"
                        },
                        "preemptionPolicy": {
                          "type": "string"
                        },
                        "priority": {
                          "format": "int32",
                          "type": "integer"
                        },
                        "priorityClassName": {
                          "type": "string"
                        },
                        "readinessGates": {
                          "items": {
                            "properties": {
                              "conditionType": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "conditionType"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "restartPolicy": {
                          "type": "string"
                        },
                        "runtimeClassName": {
                          "type": "string"
                        },
                        "schedulerName": {
                          "type": "string"
                        },
                        "securityContext": {
                          "properties": {
                            "appArmorProfile": {
                              "properties": {
                                "localhostProfile": {
                                  "type": "string"
                                },
                                "type": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "type": "object"
                            },
                            "fsGroup": {
                              "format": "int64",
                              "type": "integer"
                            },
                            "fsGroupChangePolicy": {
                              "type": "string"
                            },
                            "runAsGroup": {
                              "format": "int64",
                              "type": "integer"
                            },
                            "runAsNonRoot": {
                              "type": "boolean"
                            },
                            "runAsUser": {
                              "format": "int64",
                              "type": "integer"
                            },
                            "seLinuxChangePolicy": {
                              "type": "string"
                            },
                            "seLinuxOptions": {
                              "properties": {
                                "level": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                },
                                "type": {
                                  "type": "string"
                                },
                                "user": {
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "seccompProfile": {
                              "properties": {
                                "localhostProfile": {
                                  "type": "string"
                                },
                                "type": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ],
                              "type": "object"
                            },
                            "supplementalGroups": {
                              "items": {
                                "format": "int64",
                                "type": "integer"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            },
                            "supplementalGroupsPolicy": {
                              "type": "string"
                            },
                            "sysctls": {
                              "items": {
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name",
                                  "value"
                                ],
                                "type": "object"
                              },
                              "type": "array",
                              "x-kubernetes-list-type": "atomic"
                            },
                            "windowsOptions": {
                              "properties": {
                                "gmsaCredentialSpec": {
                                  "type": "string"
                                },
                                "gmsaCredentialSpecName": {
                                  "type": "string"
                                },
                                "hostProcess": {
                                  "type": "boolean"
                                },
                                "runAsUserName": {
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        "serviceAccount": {
                          "type": "string"
                        },
                        "serviceAccountName": {
                          "type": "string"
                        },
                        "setHostnameAsFQDN": {
                          "type": "boolean"
                        },
                        "shareProcessNamespace": {
                          "type": "boolean"
                        },
                        "subdomain": {
                          "type": "string"
                        },
                        "terminationGracePeriodSeconds": {
                          "format": "int64",
                          "type": "integer"
                        },
                        "tolerations": {
                          "items": {
                            "properties": {
                              "effect": {
                                "type": "string"
                              },
                              "key": {
                                "type": "string"
                              },
                              "operator": {
                                "type": "string"
                              },
                              "tolerationSeconds": {
                                "format": "int64",
                                "type": "integer"
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "topologySpreadConstraints": {
                          "items": {
                            "properties": {
                              "labelSelector": {
                                "properties": {
                                  "matchExpressions": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "operator": {
                                          "type": "string"
                                        },
                                        "values": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-kubernetes-list-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "operator"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "matchLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic"
                              },
                              "matchLabelKeys": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "atomic"
                              },
                              "maxSkew": {
                                "format": "int32",
                                "type": "integer"
                              },
                              "minDomains": {
                                "format": "int32",
                                "type": "integer"
                              },
                              "nodeAffinityPolicy": {
                                "type": "string"
                              },
                              "nodeTaintsPolicy": {
                                "type": "string"
                              },
                              "topologyKey": {
                                "type": "string"
                              },
                              "whenUnsatisfiable": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "maxSkew",
                              "topologyKey",
                              "whenUnsatisfiable"
                            ],
                            "type": "object"
                          },
                          "type": "array",
                          "x-kubernetes-list-map-keys": [
                            "topologyKey",
                            "whenUnsatisfiable"
                          ],
                          "x-kubernetes-list-type": "map"
                        },
                        "volumes": {
                          "items": {
                            "properties": {
                              "awsElasticBlockStore": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "partition": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "volumeID": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "volumeID"
                                ],
                                "type": "object"
                              },
                              "azureDisk": {
                                "properties": {
                                  "cachingMode": {
                                    "type": "string"
                                  },
                                  "diskName": {
                                    "type": "string"
                                  },
                                  "diskURI": {
                                    "type": "string"
                                  },
                                  "fsType": {
                                    "default": "ext4",
                                    "type": "string"
                                  },
                                  "kind": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "default": false,
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "diskName",
                                  "diskURI"
                                ],
                                "type": "object"
                              },
                              "azureFile": {
                                "properties": {
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "secretName": {
                                    "type": "string"
                                  },
                                  "shareName": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "secretName",
                                  "shareName"
                                ],
                                "type": "object"
                              },
                              "cephfs": {
                                "properties": {
                                  "monitors": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "path": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "secretFile": {
                                    "type": "string"
                                  },
                                  "secretRef": {
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "user": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "monitors"
                                ],
                                "type": "object"
                              },
                              "cinder": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "volumeID": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "volumeID"
                                ],
                                "type": "object"
                              },
                              "configMap": {
                                "properties": {
                                  "defaultMode": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "items": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "mode": {
                                          "format": "int32",
                                          "type": "integer"
                                        },
                                        "path": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "path"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "name": {
                                    "default": "",
                                    "type": "string"
                                  },
                                  "optional": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "x-kubernetes-map-type": "atomic"
                              },
                              "csi": {
                                "properties": {
                                  "driver": {
                                    "type": "string"
                                  },
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "nodePublishSecretRef": {
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "volumeAttributes": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "driver"
                                ],
                                "type": "object"
                              },
                              "downwardAPI": {
                                "properties": {
                                  "defaultMode": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "items": {
                                    "items": {
                                      "properties": {
                                        "fieldRef": {
                                          "properties": {
                                            "apiVersion": {
                                              "type": "string"
                                            },
                                            "fieldPath": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "fieldPath"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "mode": {
                                          "format": "int32",
                                          "type": "integer"
                                        },
                                        "path": {
                                          "type": "string"
                                        },
                                        "resourceFieldRef": {
                                          "properties": {
                                            "containerName": {
                                              "type": "string"
                                            },
                                            "divisor": {
                                              "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
                                            },
                                            "resource": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "resource"
                                          ],
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "path"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  }
                                },
                                "type": "object"
                              },
                              "emptyDir": {
                                "properties": {
                                  "medium": {
                                    "type": "string"
                                  },
                                  "sizeLimit": {
                                    "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
                                  }
                                },
                                "type": "object"
                              },
                              "ephemeral": {
                                "properties": {
                                  "volumeClaimTemplate": {
                                    "properties": {
                                      "metadata": {
                                        "type": "object"
                                      },
                                      "spec": {
                                        "properties": {
                                          "accessModes": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-kubernetes-list-type": "atomic"
                                          },
                                          "dataSource": {
                                            "properties": {
                                              "apiGroup": {
                                                "type": "string"
                                              },
                                              "kind": {
                                                "type": "string"
                                              },
                                              "name": {
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "kind",
                                              "name"
                                            ],
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic"
                                          },
                                          "dataSourceRef": {
                                            "properties": {
                                              "apiGroup": {
                                                "type": "string"
                                              },
                                              "kind": {
                                                "type": "string"
                                              },
                                              "name": {
                                                "type": "string"
                                              },
                                              "namespace": {
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "kind",
                                              "name"
                                            ],
                                            "type": "object"
                                          },
                                          "resources": {
                                            "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
                                                },
                                                "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
                                                },
                                                "type": "object"
                                              }
                                            },
                                            "type": "object"
                                          },
                                          "selector": {
                                            "properties": {
                                              "matchExpressions": {
                                                "items": {
                                                  "properties": {
                                                    "key": {
                                                      "type": "string"
                                                    },
                                                    "operator": {
                                                      "type": "string"
                                                    },
                                                    "values": {
                                                      "items": {
                                                        "type": "string"
                                                      },
                                                      "type": "array",
                                                      "x-kubernetes-list-type": "atomic"
                                                    }
                                                  },
                                                  "required": [
                                                    "key",
                                                    "operator"
                                                  ],
                                                  "type": "object"
                                                },
                                                "type": "array",
                                                "x-kubernetes-list-type": "atomic"
                                              },
                                              "matchLabels": {
                                                "additionalProperties": {
                                                  "type": "string"
                                                },
                                                "type": "object"
                                              }
                                            },
                                            "type": "object",
                                            "x-kubernetes-map-type": "atomic"
                                          },
                                          "storageClassName": {
                                            "type": "string"
                                          },
                                          "volumeAttributesClassName": {
                                            "type": "string"
                                          },
                                          "volumeMode": {
                                            "type": "string"
                                          },
                                          "volumeName": {
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "spec"
                                    ],
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              "fc": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "lun": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "targetWWNs": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "wwids": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  }
                                },
                                "type": "object"
                              },
                              "flexVolume": {
                                "properties": {
                                  "driver": {
                                    "type": "string"
                                  },
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "options": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "type": "object"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  }
                                },
                                "required": [
                                  "driver"
                                ],
                                "type": "object"
                              },
                              "flocker": {
                                "properties": {
                                  "datasetName": {
                                    "type": "string"
                                  },
                                  "datasetUUID": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "gcePersistentDisk": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "partition": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "pdName": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "pdName"
                                ],
                                "type": "object"
                              },
                              "gitRepo": {
                                "properties": {
                                  "directory": {
                                    "type": "string"
                                  },
                                  "repository": {
                                    "type": "string"
                                  },
                                  "revision": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "repository"
                                ],
                                "type": "object"
                              },
                              "glusterfs": {
                                "properties": {
                                  "endpoints": {
                                    "type": "string"
                                  },
                                  "path": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "endpoints",
                                  "path"
                                ],
                                "type": "object"
                              },
                              "hostPath": {
                                "properties": {
                                  "path": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "path"
                                ],
                                "type": "object"
                              },
                              "image": {
                                "properties": {
                                  "pullPolicy": {
                                    "type": "string"
                                  },
                                  "reference": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "iscsi": {
                                "properties": {
                                  "chapAuthDiscovery": {
                                    "type": "boolean"
                                  },
                                  "chapAuthSession": {
                                    "type": "boolean"
                                  },
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "initiatorName": {
                                    "type": "string"
                                  },
                                  "iqn": {
                                    "type": "string"
                                  },
                                  "iscsiInterface": {
                                    "default": "default",
                                    "type": "string"
                                  },
                                  "lun": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "portals": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "targetPortal": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "iqn",
                                  "lun",
                                  "targetPortal"
                                ],
                                "type": "object"
                              },
                              "name": {
                                "type": "string"
                              },
                              "nfs": {
                                "properties": {
                                  "path": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "server": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "path",
                                  "server"
                                ],
                                "type": "object"
                              },
                              "persistentVolumeClaim": {
                                "properties": {
                                  "claimName": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "claimName"
                                ],
                                "type": "object"
                              },
                              "photonPersistentDisk": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "pdID": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "pdID"
                                ],
                                "type": "object"
                              },
                              "portworxVolume": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "volumeID": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "volumeID"
                                ],
                                "type": "object"
                              },
                              "projected": {
                                "properties": {
                                  "defaultMode": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "sources": {
                                    "items": {
                                      "properties": {
                                        "clusterTrustBundle": {
                                          "properties": {
                                            "labelSelector": {
                                              "properties": {
                                                "matchExpressions": {
                                                  "items": {
                                                    "properties": {
                                                      "key": {
                                                        "type": "string"
                                                      },
                                                      "operator": {
                                                        "type": "string"
                                                      },
                                                      "values": {
                                                        "items": {
                                                          "type": "string"
                                                        },
                                                        "type": "array",
                                                        "x-kubernetes-list-type": "atomic"
                                                      }
                                                    },
                                                    "required": [
                                                      "key",
                                                      "operator"
                                                    ],
                                                    "type": "object"
                                                  },
                                                  "type": "array",
                                                  "x-kubernetes-list-type": "atomic"
                                                },
                                                "matchLabels": {
                                                  "additionalProperties": {
                                                    "type": "string"
                                                  },
                                                  "type": "object"
                                                }
                                              },
                                              "type": "object",
                                              "x-kubernetes-map-type": "atomic"
                                            },
                                            "name": {
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            },
                                            "path": {
                                              "type": "string"
                                            },
                                            "signerName": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "path"
                                          ],
                                          "type": "object"
                                        },
                                        "configMap": {
                                          "properties": {
                                            "items": {
                                              "items": {
                                                "properties": {
                                                  "key": {
                                                    "type": "string"
                                                  },
                                                  "mode": {
                                                    "format": "int32",
                                                    "type": "integer"
                                                  },
                                                  "path": {
                                                    "type": "string"
                                                  }
                                                },
                                                "required": [
                                                  "key",
                                                  "path"
                                                ],
                                                "type": "object"
                                              },
                                              "type": "array",
                                              "x-kubernetes-list-type": "atomic"
                                            },
                                            "name": {
                                              "default": "",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            }
                                          },
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "downwardAPI": {
                                          "properties": {
                                            "items": {
                                              "items": {
                                                "properties": {
                                                  "fieldRef": {
                                                    "properties": {
                                                      "apiVersion": {
                                                        "type": "string"
                                                      },
                                                      "fieldPath": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "required": [
                                                      "fieldPath"
                                                    ],
                                                    "type": "object",
                                                    "x-kubernetes-map-type": "atomic"
                                                  },
                                                  "mode": {
                                                    "format": "int32",
                                                    "type": "integer"
                                                  },
                                                  "path": {
                                                    "type": "string"
                                                  },
                                                  "resourceFieldRef": {
                                                    "properties": {
                                                      "containerName": {
                                                        "type": "string"
                                                      },
                                                      "divisor": {
                                                        "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
                                                      },
                                                      "resource": {
                                                        "type": "string"
                                                      }
                                                    },
                                                    "required": [
                                                      "resource"
                                                    ],
                                                    "type": "object",
                                                    "x-kubernetes-map-type": "atomic"
                                                  }
                                                },
                                                "required": [
                                                  "path"
                                                ],
                                                "type": "object"
                                              },
                                              "type": "array",
                                              "x-kubernetes-list-type": "atomic"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "podCertificate": {
                                          "properties": {
                                            "certificateChainPath": {
                                              "type": "string"
                                            },
                                            "credentialBundlePath": {
                                              "type": "string"
                                            },
                                            "keyPath": {
                                              "type": "string"
                                            },
                                            "keyType": {
                                              "type": "string"
                                            },
                                            "maxExpirationSeconds": {
                                              "format": "int32",
                                              "type": "integer"
                                            },
                                            "signerName": {
                                              "type": "string"
                                            },
                                            "userAnnotations": {
                                              "additionalProperties": {
                                                "type": "string"
                                              },
                                              "type": "object"
                                            }
                                          },
                                          "required": [
                                            "keyType",
                                            "signerName"
                                          ],
                                          "type": "object"
                                        },
                                        "secret": {
                                          "properties": {
                                            "items": {
                                              "items": {
                                                "properties": {
                                                  "key": {
                                                    "type": "string"
                                                  },
                                                  "mode": {
                                                    "format": "int32",
                                                    "type": "integer"
                                                  },
                                                  "path": {
                                                    "type": "string"
                                                  }
                                                },
                                                "required": [
                                                  "key",
                                                  "path"
                                                ],
                                                "type": "object"
                                              },
                                              "type": "array",
                                              "x-kubernetes-list-type": "atomic"
                                            },
                                            "name": {
                                              "default": "",
                                              "type": "string"
                                            },
                                            "optional": {
                                              "type": "boolean"
                                            }
                                          },
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        },
                                        "serviceAccountToken": {
                                          "properties": {
                                            "audience": {
                                              "type": "string"
                                            },
                                            "expirationSeconds": {
                                              "format": "int64",
                                              "type": "integer"
                                            },
                                            "path": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "path"
                                          ],
                                          "type": "object"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  }
                                },
                                "type": "object"
                              },
                              "quobyte": {
                                "properties": {
                                  "group": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "registry": {
                                    "type": "string"
                                  },
                                  "tenant": {
                                    "type": "string"
                                  },
                                  "user": {
                                    "type": "string"
                                  },
                                  "volume": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "registry",
                                  "volume"
                                ],
                                "type": "object"
                              },
                              "rbd": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "image": {
                                    "type": "string"
                                  },
                                  "keyring": {
                                    "default": "/etc/ceph/keyring",
                                    "type": "string"
                                  },
                                  "monitors": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "pool": {
                                    "default": "rbd",
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "user": {
                                    "default": "admin",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "image",
                                  "monitors"
                                ],
                                "type": "object"
                              },
                              "scaleIO": {
                                "properties": {
                                  "fsType": {
                                    "default": "xfs",
                                    "type": "string"
                                  },
                                  "gateway": {
                                    "type": "string"
                                  },
                                  "protectionDomain": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "sslEnabled": {
                                    "type": "boolean"
                                  },
                                  "storageMode": {
                                    "default": "ThinProvisioned",
                                    "type": "string"
                                  },
                                  "storagePool": {
                                    "type": "string"
                                  },
                                  "system": {
                                    "type": "string"
                                  },
                                  "volumeName": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "gateway",
                                  "secretRef",
                                  "system"
                                ],
                                "type": "object"
                              },
                              "secret": {
                                "properties": {
                                  "defaultMode": {
                                    "format": "int32",
                                    "type": "integer"
                                  },
                                  "items": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "mode": {
                                          "format": "int32",
                                          "type": "integer"
                                        },
                                        "path": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "key",
                                        "path"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-kubernetes-list-type": "atomic"
                                  },
                                  "optional": {
                                    "type": "boolean"
                                  },
                                  "secretName": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "storageos": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "readOnly": {
                                    "type": "boolean"
                                  },
                                  "secretRef": {
                                    "properties": {
                                      "name": {
                                        "default": "",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-kubernetes-map-type": "atomic"
                                  },
                                  "volumeName": {
                                    "type": "string"
                                  },
                                  "volumeNamespace": {
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "vsphereVolume": {
                                "properties": {
                                  "fsType": {
                                    "type": "string"
                                  },
                                  "storagePolicyID": {
                                    "type": "string"
                                  },
                                  "storagePolicyName": {
                                    "type": "string"
                                  },
                                  "volumePath": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "volumePath"
                                ],
                                "type": "object"
                              }
                            },
                            "required": [
                              "name"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "disableDefaultAdminSecret": {
          "type": "boolean"
        },
        "disableDefaultSecurityContext": {
          "enum": [
            "Pod",
            "Container",
            "All"
          ],
          "type": "string"
        },
        "external": {
          "properties": {
            "adminPassword": {
              "properties": {
                "key": {
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "type": "string"
                },
                "optional": {
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic"
            },
            "adminUser": {
              "properties": {
                "key": {
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "type": "string"
                },
                "optional": {
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic"
            },
            "apiKey": {
              "properties": {
                "key": {
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "type": "string"
                },
                "optional": {
                  "type": "boolean"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic"
            },
            "tenantNamespace": {
              "default": "default",
              "type": "string",
              "x-kubernetes-validations": [
                {
                  "message": "Value is immutable",
                  "rule": "self == oldSelf"
                }
              ]
            },
            "tls": {
              "properties": {
                "certSecretRef": {
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "namespace": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "atomic"
                },
                "insecureSkipVerify": {
                  "type": "boolean"
                }
              },
              "type": "object",
              "x-kubernetes-validations": [
                {
                  "message": "insecureSkipVerify and certSecretRef cannot be set at the same time",
                  "rule": "(has(self.insecureSkipVerify) && !(has(self.certSecretRef))) || (has(self.certSecretRef) && !(has(self.insecureSkipVerify)))"
                }
              ]
            },
            "url": {
              "pattern": "^https?://.+$",
              "type": "string"
            }
          },
          "required": [
            "url"
          ],
          "type": "object"
        },
        "httpRoute": {
          "properties": {
            "metadata": {
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "spec": {
              "properties": {
                "hostnames": {
                  "items": {
                    "maxLength": 253,
                    "minLength": 1,
                    "pattern": "^(\\*\\.)?[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                    "type": "string"
                  },
                  "maxItems": 16,
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "parentRefs": {
                  "items": {
                    "properties": {
                      "group": {
                        "default": "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": "Gateway",
                        "maxLength": 63,
                        "minLength": 1,
                        "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 253,
                        "minLength": 1,
                        "type": "string"
                      },
                      "namespace": {
                        "maxLength": 63,
                        "minLength": 1,
                        "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                        "type": "string"
                      },
                      "port": {
                        "format": "int32",
                        "maximum": 65535,
                        "minimum": 1,
                        "type": "integer"
                      },
                      "sectionName": {
                        "maxLength": 253,
                        "minLength": 1,
                        "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "name"
                    ],
                    "type": "object"
                  },
                  "maxItems": 32,
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "rules": {
                  "items": {
                    "properties": {
                      "backendRefs": {
                        "items": {
                          "properties": {
                            "filters": {
                              "items": {
                                "properties": {
                                  "cors": {
                                    "properties": {
                                      "allowCredentials": {
                                        "type": "boolean"
                                      },
                                      "allowHeaders": {
                                        "items": {
                                          "maxLength": 256,
                                          "minLength": 1,
                                          "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                          "type": "string"
                                        },
                                        "maxItems": 64,
                                        "type": "array",
                                        "x-kubernetes-list-type": "set",
                                        "x-kubernetes-validations": [
                                          {
                                            "message": "AllowHeaders cannot contain '*' alongside other methods",
                                            "rule": "!('*' in self && self.size() > 1)"
                                          }
                                        ]
                                      },
                                      "allowMethods": {
                                        "items": {
                                          "enum": [
                                            "GET",
                                            "HEAD",
                                            "POST",
                                            "PUT",
                                            "DELETE",
                                            "CONNECT",
                                            "OPTIONS",
                                            "TRACE",
                                            "PATCH",
                                            "*"
                                          ],
                                          "type": "string"
                                        },
                                        "maxItems": 9,
                                        "type": "array",
                                        "x-kubernetes-list-type": "set",
                                        "x-kubernetes-validations": [
                                          {
                                            "message": "AllowMethods cannot contain '*' alongside other methods",
                                            "rule": "!('*' in self && self.size() > 1)"
                                          }
                                        ]
                                      },
                                      "allowOrigins": {
                                        "items": {
                                          "maxLength": 253,
                                          "minLength": 1,
                                          "pattern": "(^\\*$)|(^(http(s)?):\\/\\/(((\\*\\.)?([a-zA-Z0-9\\-]+\\.)*[a-zA-Z0-9-]+|\\*)(:([0-9]{1,5}))?)$)",
                                          "type": "string"
                                        },
                                        "maxItems": 64,
                                        "type": "array",
                                        "x-kubernetes-list-type": "set",
                                        "x-kubernetes-validations": [
                                          {
                                            "message": "AllowOrigins cannot contain '*' alongside other origins",
                                            "rule": "!('*' in self && self.size() > 1)"
                                          }
                                        ]
                                      },
                                      "exposeHeaders": {
                                        "items": {
                                          "maxLength": 256,
                                          "minLength": 1,
                                          "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                          "type": "string"
                                        },
                                        "maxItems": 64,
                                        "type": "array",
                                        "x-kubernetes-list-type": "set"
                                      },
                                      "maxAge": {
                                        "default": 5,
                                        "format": "int32",
                                        "minimum": 1,
                                        "type": "integer"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "extensionRef": {
                                    "properties": {
                                      "group": {
                                        "maxLength": 253,
                                        "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                                        "type": "string"
                                      },
                                      "kind": {
                                        "maxLength": 63,
                                        "minLength": 1,
                                        "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                                        "type": "string"
                                      },
                                      "name": {
                                        "maxLength": 253,
                                        "minLength": 1,
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "group",
                                      "kind",
                                      "name"
                                    ],
                                    "type": "object"
                                  },
                                  "externalAuth": {
                                    "properties": {
                                      "backendRef": {
                                        "properties": {
                                          "group": {
                                            "default": "",
                                            "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": "Service",
                                            "maxLength": 63,
                                            "minLength": 1,
                                            "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                                            "type": "string"
                                          },
                                          "name": {
                                            "maxLength": 253,
                                            "minLength": 1,
                                            "type": "string"
                                          },
                                          "namespace": {
                                            "maxLength": 63,
                                            "minLength": 1,
                                            "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                            "type": "string"
                                          },
                                          "port": {
                                            "format": "int32",
                                            "maximum": 65535,
                                            "minimum": 1,
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "name"
                                        ],
                                        "type": "object",
                                        "x-kubernetes-validations": [
                                          {
                                            "message": "Must have port for Service reference",
                                            "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true"
                                          }
                                        ]
                                      },
                                      "forwardBody": {
                                        "properties": {
                                          "maxSize": {
                                            "type": "integer"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "grpc": {
                                        "properties": {
                                          "allowedHeaders": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "maxItems": 64,
                                            "type": "array",
                                            "x-kubernetes-list-type": "set"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "http": {
                                        "properties": {
                                          "allowedHeaders": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "maxItems": 64,
                                            "type": "array",
                                            "x-kubernetes-list-type": "set"
                                          },
                                          "allowedResponseHeaders": {
                                            "items": {
                                              "type": "string"
                                            },
                                            "maxItems": 64,
                                            "type": "array",
                                            "x-kubernetes-list-type": "set"
                                          },
                                          "path": {
                                            "maxLength": 1024,
                                            "pattern": "^(?:[-A-Za-z0-9/._~!$&'()*+,;=:@]|[%][0-9a-fA-F]{2})+$",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "protocol": {
                                        "enum": [
                                          "HTTP",
                                          "GRPC"
                                        ],
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "backendRef",
                                      "protocol"
                                    ],
                                    "type": "object",
                                    "x-kubernetes-validations": [
                                      {
                                        "message": "grpc must be specified when protocol is set to 'GRPC'",
                                        "rule": "self.protocol == 'GRPC' ? has(self.grpc) : true"
                                      },
                                      {
                                        "message": "protocol must be 'GRPC' when grpc is set",
                                        "rule": "has(self.grpc) ? self.protocol == 'GRPC' : true"
                                      },
                                      {
                                        "message": "http must be specified when protocol is set to 'HTTP'",
                                        "rule": "self.protocol == 'HTTP' ? has(self.http) : true"
                                      },
                                      {
                                        "message": "protocol must be 'HTTP' when http is set",
                                        "rule": "has(self.http) ? self.protocol == 'HTTP' : true"
                                      }
                                    ]
                                  },
                                  "requestHeaderModifier": {
                                    "properties": {
                                      "add": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "maxLength": 256,
                                              "minLength": 1,
                                              "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                              "type": "string"
                                            },
                                            "value": {
                                              "maxLength": 4096,
                                              "minLength": 1,
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "maxItems": 16,
                                        "type": "array",
                                        "x-kubernetes-list-map-keys": [
                                          "name"
                                        ],
                                        "x-kubernetes-list-type": "map"
                                      },
                                      "remove": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "maxItems": 16,
                                        "type": "array",
                                        "x-kubernetes-list-type": "set"
                                      },
                                      "set": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "maxLength": 256,
                                              "minLength": 1,
                                              "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                              "type": "string"
                                            },
                                            "value": {
                                              "maxLength": 4096,
                                              "minLength": 1,
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "maxItems": 16,
                                        "type": "array",
                                        "x-kubernetes-list-map-keys": [
                                          "name"
                                        ],
                                        "x-kubernetes-list-type": "map"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "requestMirror": {
                                    "properties": {
                                      "backendRef": {
                                        "properties": {
                                          "group": {
                                            "default": "",
                                            "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": "Service",
                                            "maxLength": 63,
                                            "minLength": 1,
                                            "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                                            "type": "string"
                                          },
                                          "name": {
                                            "maxLength": 253,
                                            "minLength": 1,
                                            "type": "string"
                                          },
                                          "namespace": {
                                            "maxLength": 63,
                                            "minLength": 1,
                                            "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                            "type": "string"
                                          },
                                          "port": {
                                            "format": "int32",
                                            "maximum": 65535,
                                            "minimum": 1,
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "name"
                                        ],
                                        "type": "object",
                                        "x-kubernetes-validations": [
                                          {
                                            "message": "Must have port for Service reference",
                                            "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true"
                                          }
                                        ]
                                      },
                                      "fraction": {
                                        "properties": {
                                          "denominator": {
                                            "default": 100,
                                            "format": "int32",
                                            "minimum": 1,
                                            "type": "integer"
                                          },
                                          "numerator": {
                                            "format": "int32",
                                            "minimum": 0,
                                            "type": "integer"
                                          }
                                        },
                                        "required": [
                                          "numerator"
                                        ],
                                        "type": "object",
                                        "x-kubernetes-validations": [
                                          {
                                            "message": "numerator must be less than or equal to denominator",
                                            "rule": "self.numerator <= self.denominator"
                                          }
                                        ]
                                      },
                                      "percent": {
                                        "format": "int32",
                                        "maximum": 100,
                                        "minimum": 0,
                                        "type": "integer"
                                      }
                                    },
                                    "required": [
                                      "backendRef"
                                    ],
                                    "type": "object",
                                    "x-kubernetes-validations": [
                                      {
                                        "message": "Only one of percent or fraction may be specified in HTTPRequestMirrorFilter",
                                        "rule": "!(has(self.percent) && has(self.fraction))"
                                      }
                                    ]
                                  },
                                  "requestRedirect": {
                                    "properties": {
                                      "hostname": {
                                        "maxLength": 253,
                                        "minLength": 1,
                                        "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                                        "type": "string"
                                      },
                                      "path": {
                                        "properties": {
                                          "replaceFullPath": {
                                            "maxLength": 1024,
                                            "type": "string"
                                          },
                                          "replacePrefixMatch": {
                                            "maxLength": 1024,
                                            "type": "string"
                                          },
                                          "type": {
                                            "enum": [
                                              "ReplaceFullPath",
                                              "ReplacePrefixMatch"
                                            ],
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ],
                                        "type": "object",
                                        "x-kubernetes-validations": [
                                          {
                                            "message": "replaceFullPath must be specified when type is set to 'ReplaceFullPath'",
                                            "rule": "self.type == 'ReplaceFullPath' ? has(self.replaceFullPath) : true"
                                          },
                                          {
                                            "message": "type must be 'ReplaceFullPath' when replaceFullPath is set",
                                            "rule": "has(self.replaceFullPath) ? self.type == 'ReplaceFullPath' : true"
                                          },
                                          {
                                            "message": "replacePrefixMatch must be specified when type is set to 'ReplacePrefixMatch'",
                                            "rule": "self.type == 'ReplacePrefixMatch' ? has(self.replacePrefixMatch) : true"
                                          },
                                          {
                                            "message": "type must be 'ReplacePrefixMatch' when replacePrefixMatch is set",
                                            "rule": "has(self.replacePrefixMatch) ? self.type == 'ReplacePrefixMatch' : true"
                                          }
                                        ]
                                      },
                                      "port": {
                                        "format": "int32",
                                        "maximum": 65535,
                                        "minimum": 1,
                                        "type": "integer"
                                      },
                                      "scheme": {
                                        "enum": [
                                          "http",
                                          "https"
                                        ],
                                        "type": "string"
                                      },
                                      "statusCode": {
                                        "default": 302,
                                        "enum": [
                                          301,
                                          302,
                                          303,
                                          307,
                                          308
                                        ],
                                        "type": "integer"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "responseHeaderModifier": {
                                    "properties": {
                                      "add": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "maxLength": 256,
                                              "minLength": 1,
                                              "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                              "type": "string"
                                            },
                                            "value": {
                                              "maxLength": 4096,
                                              "minLength": 1,
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "maxItems": 16,
                                        "type": "array",
                                        "x-kubernetes-list-map-keys": [
                                          "name"
                                        ],
                                        "x-kubernetes-list-type": "map"
                                      },
                                      "remove": {
                                        "items": {
                                          "type": "string"
                                        },
                                        "maxItems": 16,
                                        "type": "array",
                                        "x-kubernetes-list-type": "set"
                                      },
                                      "set": {
                                        "items": {
                                          "properties": {
                                            "name": {
                                              "maxLength": 256,
                                              "minLength": 1,
                                              "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                              "type": "string"
                                            },
                                            "value": {
                                              "maxLength": 4096,
                                              "minLength": 1,
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name",
                                            "value"
                                          ],
                                          "type": "object"
                                        },
                                        "maxItems": 16,
                                        "type": "array",
                                        "x-kubernetes-list-map-keys": [
                                          "name"
                                        ],
                                        "x-kubernetes-list-type": "map"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "type": {
                                    "enum": [
                                      "RequestHeaderModifier",
                                      "ResponseHeaderModifier",
                                      "RequestMirror",
                                      "RequestRedirect",
                                      "URLRewrite",
                                      "ExtensionRef",
                                      "CORS"
                                    ],
                                    "type": "string"
                                  },
                                  "urlRewrite": {
                                    "properties": {
                                      "hostname": {
                                        "maxLength": 253,
                                        "minLength": 1,
                                        "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                                        "type": "string"
                                      },
                                      "path": {
                                        "properties": {
                                          "replaceFullPath": {
                                            "maxLength": 1024,
                                            "type": "string"
                                          },
                                          "replacePrefixMatch": {
                                            "maxLength": 1024,
                                            "type": "string"
                                          },
                                          "type": {
                                            "enum": [
                                              "ReplaceFullPath",
                                              "ReplacePrefixMatch"
                                            ],
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ],
                                        "type": "object",
                                        "x-kubernetes-validations": [
                                          {
                                            "message": "replaceFullPath must be specified when type is set to 'ReplaceFullPath'",
                                            "rule": "self.type == 'ReplaceFullPath' ? has(self.replaceFullPath) : true"
                                          },
                                          {
                                            "message": "type must be 'ReplaceFullPath' when replaceFullPath is set",
                                            "rule": "has(self.replaceFullPath) ? self.type == 'ReplaceFullPath' : true"
                                          },
                                          {
                                            "message": "replacePrefixMatch must be specified when type is set to 'ReplacePrefixMatch'",
                                            "rule": "self.type == 'ReplacePrefixMatch' ? has(self.replacePrefixMatch) : true"
                                          },
                                          {
                                            "message": "type must be 'ReplacePrefixMatch' when replacePrefixMatch is set",
                                            "rule": "has(self.replacePrefixMatch) ? self.type == 'ReplacePrefixMatch' : true"
                                          }
                                        ]
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "type"
                                ],
                                "type": "object",
                                "x-kubernetes-validations": [
                                  {
                                    "message": "filter.cors must be nil if the filter.type is not CORS",
                                    "rule": "!(has(self.cors) && self.type != 'CORS')"
                                  },
                                  {
                                    "message": "filter.cors must be specified for CORS filter.type",
                                    "rule": "!(!has(self.cors) && self.type == 'CORS')"
                                  },
                                  {
                                    "message": "filter.requestHeaderModifier must be nil if the filter.type is not RequestHeaderModifier",
                                    "rule": "!(has(self.requestHeaderModifier) && self.type != 'RequestHeaderModifier')"
                                  },
                                  {
                                    "message": "filter.requestHeaderModifier must be specified for RequestHeaderModifier filter.type",
                                    "rule": "!(!has(self.requestHeaderModifier) && self.type == 'RequestHeaderModifier')"
                                  },
                                  {
                                    "message": "filter.responseHeaderModifier must be nil if the filter.type is not ResponseHeaderModifier",
                                    "rule": "!(has(self.responseHeaderModifier) && self.type != 'ResponseHeaderModifier')"
                                  },
                                  {
                                    "message": "filter.responseHeaderModifier must be specified for ResponseHeaderModifier filter.type",
                                    "rule": "!(!has(self.responseHeaderModifier) && self.type == 'ResponseHeaderModifier')"
                                  },
                                  {
                                    "message": "filter.requestMirror must be nil if the filter.type is not RequestMirror",
                                    "rule": "!(has(self.requestMirror) && self.type != 'RequestMirror')"
                                  },
                                  {
                                    "message": "filter.requestMirror must be specified for RequestMirror filter.type",
                                    "rule": "!(!has(self.requestMirror) && self.type == 'RequestMirror')"
                                  },
                                  {
                                    "message": "filter.requestRedirect must be nil if the filter.type is not RequestRedirect",
                                    "rule": "!(has(self.requestRedirect) && self.type != 'RequestRedirect')"
                                  },
                                  {
                                    "message": "filter.requestRedirect must be specified for RequestRedirect filter.type",
                                    "rule": "!(!has(self.requestRedirect) && self.type == 'RequestRedirect')"
                                  },
                                  {
                                    "message": "filter.urlRewrite must be nil if the filter.type is not URLRewrite",
                                    "rule": "!(has(self.urlRewrite) && self.type != 'URLRewrite')"
                                  },
                                  {
                                    "message": "filter.urlRewrite must be specified for URLRewrite filter.type",
                                    "rule": "!(!has(self.urlRewrite) && self.type == 'URLRewrite')"
                                  },
                                  {
                                    "message": "filter.extensionRef must be nil if the filter.type is not ExtensionRef",
                                    "rule": "!(has(self.extensionRef) && self.type != 'ExtensionRef')"
                                  },
                                  {
                                    "message": "filter.extensionRef must be specified for ExtensionRef filter.type",
                                    "rule": "!(!has(self.extensionRef) && self.type == 'ExtensionRef')"
                                  }
                                ]
                              },
                              "maxItems": 16,
                              "type": "array",
                              "x-kubernetes-list-type": "atomic",
                              "x-kubernetes-validations": [
                                {
                                  "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both",
                                  "rule": "!(self.exists(f, f.type == 'RequestRedirect') && self.exists(f, f.type == 'URLRewrite'))"
                                },
                                {
                                  "message": "CORS filter cannot be repeated",
                                  "rule": "self.filter(f, f.type == 'CORS').size() <= 1"
                                },
                                {
                                  "message": "RequestHeaderModifier filter cannot be repeated",
                                  "rule": "self.filter(f, f.type == 'RequestHeaderModifier').size() <= 1"
                                },
                                {
                                  "message": "ResponseHeaderModifier filter cannot be repeated",
                                  "rule": "self.filter(f, f.type == 'ResponseHeaderModifier').size() <= 1"
                                },
                                {
                                  "message": "RequestRedirect filter cannot be repeated",
                                  "rule": "self.filter(f, f.type == 'RequestRedirect').size() <= 1"
                                },
                                {
                                  "message": "URLRewrite filter cannot be repeated",
                                  "rule": "self.filter(f, f.type == 'URLRewrite').size() <= 1"
                                }
                              ]
                            },
                            "group": {
                              "default": "",
                              "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": "Service",
                              "maxLength": 63,
                              "minLength": 1,
                              "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                              "type": "string"
                            },
                            "name": {
                              "maxLength": 253,
                              "minLength": 1,
                              "type": "string"
                            },
                            "namespace": {
                              "maxLength": 63,
                              "minLength": 1,
                              "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                              "type": "string"
                            },
                            "port": {
                              "format": "int32",
                              "maximum": 65535,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "weight": {
                              "default": 1,
                              "format": "int32",
                              "maximum": 1000000,
                              "minimum": 0,
                              "type": "integer"
                            }
                          },
                          "required": [
                            "name"
                          ],
                          "type": "object",
                          "x-kubernetes-validations": [
                            {
                              "message": "Must have port for Service reference",
                              "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true"
                            }
                          ]
                        },
                        "maxItems": 16,
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "filters": {
                        "items": {
                          "properties": {
                            "cors": {
                              "properties": {
                                "allowCredentials": {
                                  "type": "boolean"
                                },
                                "allowHeaders": {
                                  "items": {
                                    "maxLength": 256,
                                    "minLength": 1,
                                    "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                    "type": "string"
                                  },
                                  "maxItems": 64,
                                  "type": "array",
                                  "x-kubernetes-list-type": "set",
                                  "x-kubernetes-validations": [
                                    {
                                      "message": "AllowHeaders cannot contain '*' alongside other methods",
                                      "rule": "!('*' in self && self.size() > 1)"
                                    }
                                  ]
                                },
                                "allowMethods": {
                                  "items": {
                                    "enum": [
                                      "GET",
                                      "HEAD",
                                      "POST",
                                      "PUT",
                                      "DELETE",
                                      "CONNECT",
                                      "OPTIONS",
                                      "TRACE",
                                      "PATCH",
                                      "*"
                                    ],
                                    "type": "string"
                                  },
                                  "maxItems": 9,
                                  "type": "array",
                                  "x-kubernetes-list-type": "set",
                                  "x-kubernetes-validations": [
                                    {
                                      "message": "AllowMethods cannot contain '*' alongside other methods",
                                      "rule": "!('*' in self && self.size() > 1)"
                                    }
                                  ]
                                },
                                "allowOrigins": {
                                  "items": {
                                    "maxLength": 253,
                                    "minLength": 1,
                                    "pattern": "(^\\*$)|(^(http(s)?):\\/\\/(((\\*\\.)?([a-zA-Z0-9\\-]+\\.)*[a-zA-Z0-9-]+|\\*)(:([0-9]{1,5}))?)$)",
                                    "type": "string"
                                  },
                                  "maxItems": 64,
                                  "type": "array",
                                  "x-kubernetes-list-type": "set",
                                  "x-kubernetes-validations": [
                                    {
                                      "message": "AllowOrigins cannot contain '*' alongside other origins",
                                      "rule": "!('*' in self && self.size() > 1)"
                                    }
                                  ]
                                },
                                "exposeHeaders": {
                                  "items": {
                                    "maxLength": 256,
                                    "minLength": 1,
                                    "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                    "type": "string"
                                  },
                                  "maxItems": 64,
                                  "type": "array",
                                  "x-kubernetes-list-type": "set"
                                },
                                "maxAge": {
                                  "default": 5,
                                  "format": "int32",
                                  "minimum": 1,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            "extensionRef": {
                              "properties": {
                                "group": {
                                  "maxLength": 253,
                                  "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                                  "type": "string"
                                },
                                "kind": {
                                  "maxLength": 63,
                                  "minLength": 1,
                                  "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                                  "type": "string"
                                },
                                "name": {
                                  "maxLength": 253,
                                  "minLength": 1,
                                  "type": "string"
                                }
                              },
                              "required": [
                                "group",
                                "kind",
                                "name"
                              ],
                              "type": "object"
                            },
                            "externalAuth": {
                              "properties": {
                                "backendRef": {
                                  "properties": {
                                    "group": {
                                      "default": "",
                                      "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": "Service",
                                      "maxLength": 63,
                                      "minLength": 1,
                                      "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                                      "type": "string"
                                    },
                                    "name": {
                                      "maxLength": 253,
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "namespace": {
                                      "maxLength": 63,
                                      "minLength": 1,
                                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                      "type": "string"
                                    },
                                    "port": {
                                      "format": "int32",
                                      "maximum": 65535,
                                      "minimum": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "required": [
                                    "name"
                                  ],
                                  "type": "object",
                                  "x-kubernetes-validations": [
                                    {
                                      "message": "Must have port for Service reference",
                                      "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true"
                                    }
                                  ]
                                },
                                "forwardBody": {
                                  "properties": {
                                    "maxSize": {
                                      "type": "integer"
                                    }
                                  },
                                  "type": "object"
                                },
                                "grpc": {
                                  "properties": {
                                    "allowedHeaders": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "maxItems": 64,
                                      "type": "array",
                                      "x-kubernetes-list-type": "set"
                                    }
                                  },
                                  "type": "object"
                                },
                                "http": {
                                  "properties": {
                                    "allowedHeaders": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "maxItems": 64,
                                      "type": "array",
                                      "x-kubernetes-list-type": "set"
                                    },
                                    "allowedResponseHeaders": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "maxItems": 64,
                                      "type": "array",
                                      "x-kubernetes-list-type": "set"
                                    },
                                    "path": {
                                      "maxLength": 1024,
                                      "pattern": "^(?:[-A-Za-z0-9/._~!$&'()*+,;=:@]|[%][0-9a-fA-F]{2})+$",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object"
                                },
                                "protocol": {
                                  "enum": [
                                    "HTTP",
                                    "GRPC"
                                  ],
                                  "type": "string"
                                }
                              },
                              "required": [
                                "backendRef",
                                "protocol"
                              ],
                              "type": "object",
                              "x-kubernetes-validations": [
                                {
                                  "message": "grpc must be specified when protocol is set to 'GRPC'",
                                  "rule": "self.protocol == 'GRPC' ? has(self.grpc) : true"
                                },
                                {
                                  "message": "protocol must be 'GRPC' when grpc is set",
                                  "rule": "has(self.grpc) ? self.protocol == 'GRPC' : true"
                                },
                                {
                                  "message": "http must be specified when protocol is set to 'HTTP'",
                                  "rule": "self.protocol == 'HTTP' ? has(self.http) : true"
                                },
                                {
                                  "message": "protocol must be 'HTTP' when http is set",
                                  "rule": "has(self.http) ? self.protocol == 'HTTP' : true"
                                }
                              ]
                            },
                            "requestHeaderModifier": {
                              "properties": {
                                "add": {
                                  "items": {
                                    "properties": {
                                      "name": {
                                        "maxLength": 256,
                                        "minLength": 1,
                                        "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                        "type": "string"
                                      },
                                      "value": {
                                        "maxLength": 4096,
                                        "minLength": 1,
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "name",
                                      "value"
                                    ],
                                    "type": "object"
                                  },
                                  "maxItems": 16,
                                  "type": "array",
                                  "x-kubernetes-list-map-keys": [
                                    "name"
                                  ],
                                  "x-kubernetes-list-type": "map"
                                },
                                "remove": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "maxItems": 16,
                                  "type": "array",
                                  "x-kubernetes-list-type": "set"
                                },
                                "set": {
                                  "items": {
                                    "properties": {
                                      "name": {
                                        "maxLength": 256,
                                        "minLength": 1,
                                        "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                        "type": "string"
                                      },
                                      "value": {
                                        "maxLength": 4096,
                                        "minLength": 1,
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "name",
                                      "value"
                                    ],
                                    "type": "object"
                                  },
                                  "maxItems": 16,
                                  "type": "array",
                                  "x-kubernetes-list-map-keys": [
                                    "name"
                                  ],
                                  "x-kubernetes-list-type": "map"
                                }
                              },
                              "type": "object"
                            },
                            "requestMirror": {
                              "properties": {
                                "backendRef": {
                                  "properties": {
                                    "group": {
                                      "default": "",
                                      "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": "Service",
                                      "maxLength": 63,
                                      "minLength": 1,
                                      "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$",
                                      "type": "string"
                                    },
                                    "name": {
                                      "maxLength": 253,
                                      "minLength": 1,
                                      "type": "string"
                                    },
                                    "namespace": {
                                      "maxLength": 63,
                                      "minLength": 1,
                                      "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
                                      "type": "string"
                                    },
                                    "port": {
                                      "format": "int32",
                                      "maximum": 65535,
                                      "minimum": 1,
                                      "type": "integer"
                                    }
                                  },
                                  "required": [
                                    "name"
                                  ],
                                  "type": "object",
                                  "x-kubernetes-validations": [
                                    {
                                      "message": "Must have port for Service reference",
                                      "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true"
                                    }
                                  ]
                                },
                                "fraction": {
                                  "properties": {
                                    "denominator": {
                                      "default": 100,
                                      "format": "int32",
                                      "minimum": 1,
                                      "type": "integer"
                                    },
                                    "numerator": {
                                      "format": "int32",
                                      "minimum": 0,
                                      "type": "integer"
                                    }
                                  },
                                  "required": [
                                    "numerator"
                                  ],
                                  "type": "object",
                                  "x-kubernetes-validations": [
                                    {
                                      "message": "numerator must be less than or equal to denominator",
                                      "rule": "self.numerator <= self.denominator"
                                    }
                                  ]
                                },
                                "percent": {
                                  "format": "int32",
                                  "maximum": 100,
                                  "minimum": 0,
                                  "type": "integer"
                                }
                              },
                              "required": [
                                "backendRef"
                              ],
                              "type": "object",
                              "x-kubernetes-validations": [
                                {
                                  "message": "Only one of percent or fraction may be specified in HTTPRequestMirrorFilter",
                                  "rule": "!(has(self.percent) && has(self.fraction))"
                                }
                              ]
                            },
                            "requestRedirect": {
                              "properties": {
                                "hostname": {
                                  "maxLength": 253,
                                  "minLength": 1,
                                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                                  "type": "string"
                                },
                                "path": {
                                  "properties": {
                                    "replaceFullPath": {
                                      "maxLength": 1024,
                                      "type": "string"
                                    },
                                    "replacePrefixMatch": {
                                      "maxLength": 1024,
                                      "type": "string"
                                    },
                                    "type": {
                                      "enum": [
                                        "ReplaceFullPath",
                                        "ReplacePrefixMatch"
                                      ],
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "type"
                                  ],
                                  "type": "object",
                                  "x-kubernetes-validations": [
                                    {
                                      "message": "replaceFullPath must be specified when type is set to 'ReplaceFullPath'",
                                      "rule": "self.type == 'ReplaceFullPath' ? has(self.replaceFullPath) : true"
                                    },
                                    {
                                      "message": "type must be 'ReplaceFullPath' when replaceFullPath is set",
                                      "rule": "has(self.replaceFullPath) ? self.type == 'ReplaceFullPath' : true"
                                    },
                                    {
                                      "message": "replacePrefixMatch must be specified when type is set to 'ReplacePrefixMatch'",
                                      "rule": "self.type == 'ReplacePrefixMatch' ? has(self.replacePrefixMatch) : true"
                                    },
                                    {
                                      "message": "type must be 'ReplacePrefixMatch' when replacePrefixMatch is set",
                                      "rule": "has(self.replacePrefixMatch) ? self.type == 'ReplacePrefixMatch' : true"
                                    }
                                  ]
                                },
                                "port": {
                                  "format": "int32",
                                  "maximum": 65535,
                                  "minimum": 1,
                                  "type": "integer"
                                },
                                "scheme": {
                                  "enum": [
                                    "http",
                                    "https"
                                  ],
                                  "type": "string"
                                },
                                "statusCode": {
                                  "default": 302,
                                  "enum": [
                                    301,
                                    302,
                                    303,
                                    307,
                                    308
                                  ],
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            "responseHeaderModifier": {
                              "properties": {
                                "add": {
                                  "items": {
                                    "properties": {
                                      "name": {
                                        "maxLength": 256,
                                        "minLength": 1,
                                        "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                        "type": "string"
                                      },
                                      "value": {
                                        "maxLength": 4096,
                                        "minLength": 1,
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "name",
                                      "value"
                                    ],
                                    "type": "object"
                                  },
                                  "maxItems": 16,
                                  "type": "array",
                                  "x-kubernetes-list-map-keys": [
                                    "name"
                                  ],
                                  "x-kubernetes-list-type": "map"
                                },
                                "remove": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "maxItems": 16,
                                  "type": "array",
                                  "x-kubernetes-list-type": "set"
                                },
                                "set": {
                                  "items": {
                                    "properties": {
                                      "name": {
                                        "maxLength": 256,
                                        "minLength": 1,
                                        "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                        "type": "string"
                                      },
                                      "value": {
                                        "maxLength": 4096,
                                        "minLength": 1,
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "name",
                                      "value"
                                    ],
                                    "type": "object"
                                  },
                                  "maxItems": 16,
                                  "type": "array",
                                  "x-kubernetes-list-map-keys": [
                                    "name"
                                  ],
                                  "x-kubernetes-list-type": "map"
                                }
                              },
                              "type": "object"
                            },
                            "type": {
                              "enum": [
                                "RequestHeaderModifier",
                                "ResponseHeaderModifier",
                                "RequestMirror",
                                "RequestRedirect",
                                "URLRewrite",
                                "ExtensionRef",
                                "CORS"
                              ],
                              "type": "string"
                            },
                            "urlRewrite": {
                              "properties": {
                                "hostname": {
                                  "maxLength": 253,
                                  "minLength": 1,
                                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                                  "type": "string"
                                },
                                "path": {
                                  "properties": {
                                    "replaceFullPath": {
                                      "maxLength": 1024,
                                      "type": "string"
                                    },
                                    "replacePrefixMatch": {
                                      "maxLength": 1024,
                                      "type": "string"
                                    },
                                    "type": {
                                      "enum": [
                                        "ReplaceFullPath",
                                        "ReplacePrefixMatch"
                                      ],
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "type"
                                  ],
                                  "type": "object",
                                  "x-kubernetes-validations": [
                                    {
                                      "message": "replaceFullPath must be specified when type is set to 'ReplaceFullPath'",
                                      "rule": "self.type == 'ReplaceFullPath' ? has(self.replaceFullPath) : true"
                                    },
                                    {
                                      "message": "type must be 'ReplaceFullPath' when replaceFullPath is set",
                                      "rule": "has(self.replaceFullPath) ? self.type == 'ReplaceFullPath' : true"
                                    },
                                    {
                                      "message": "replacePrefixMatch must be specified when type is set to 'ReplacePrefixMatch'",
                                      "rule": "self.type == 'ReplacePrefixMatch' ? has(self.replacePrefixMatch) : true"
                                    },
                                    {
                                      "message": "type must be 'ReplacePrefixMatch' when replacePrefixMatch is set",
                                      "rule": "has(self.replacePrefixMatch) ? self.type == 'ReplacePrefixMatch' : true"
                                    }
                                  ]
                                }
                              },
                              "type": "object"
                            }
                          },
                          "required": [
                            "type"
                          ],
                          "type": "object",
                          "x-kubernetes-validations": [
                            {
                              "message": "filter.cors must be nil if the filter.type is not CORS",
                              "rule": "!(has(self.cors) && self.type != 'CORS')"
                            },
                            {
                              "message": "filter.cors must be specified for CORS filter.type",
                              "rule": "!(!has(self.cors) && self.type == 'CORS')"
                            },
                            {
                              "message": "filter.requestHeaderModifier must be nil if the filter.type is not RequestHeaderModifier",
                              "rule": "!(has(self.requestHeaderModifier) && self.type != 'RequestHeaderModifier')"
                            },
                            {
                              "message": "filter.requestHeaderModifier must be specified for RequestHeaderModifier filter.type",
                              "rule": "!(!has(self.requestHeaderModifier) && self.type == 'RequestHeaderModifier')"
                            },
                            {
                              "message": "filter.responseHeaderModifier must be nil if the filter.type is not ResponseHeaderModifier",
                              "rule": "!(has(self.responseHeaderModifier) && self.type != 'ResponseHeaderModifier')"
                            },
                            {
                              "message": "filter.responseHeaderModifier must be specified for ResponseHeaderModifier filter.type",
                              "rule": "!(!has(self.responseHeaderModifier) && self.type == 'ResponseHeaderModifier')"
                            },
                            {
                              "message": "filter.requestMirror must be nil if the filter.type is not RequestMirror",
                              "rule": "!(has(self.requestMirror) && self.type != 'RequestMirror')"
                            },
                            {
                              "message": "filter.requestMirror must be specified for RequestMirror filter.type",
                              "rule": "!(!has(self.requestMirror) && self.type == 'RequestMirror')"
                            },
                            {
                              "message": "filter.requestRedirect must be nil if the filter.type is not RequestRedirect",
                              "rule": "!(has(self.requestRedirect) && self.type != 'RequestRedirect')"
                            },
                            {
                              "message": "filter.requestRedirect must be specified for RequestRedirect filter.type",
                              "rule": "!(!has(self.requestRedirect) && self.type == 'RequestRedirect')"
                            },
                            {
                              "message": "filter.urlRewrite must be nil if the filter.type is not URLRewrite",
                              "rule": "!(has(self.urlRewrite) && self.type != 'URLRewrite')"
                            },
                            {
                              "message": "filter.urlRewrite must be specified for URLRewrite filter.type",
                              "rule": "!(!has(self.urlRewrite) && self.type == 'URLRewrite')"
                            },
                            {
                              "message": "filter.extensionRef must be nil if the filter.type is not ExtensionRef",
                              "rule": "!(has(self.extensionRef) && self.type != 'ExtensionRef')"
                            },
                            {
                              "message": "filter.extensionRef must be specified for ExtensionRef filter.type",
                              "rule": "!(!has(self.extensionRef) && self.type == 'ExtensionRef')"
                            }
                          ]
                        },
                        "maxItems": 16,
                        "type": "array",
                        "x-kubernetes-list-type": "atomic",
                        "x-kubernetes-validations": [
                          {
                            "message": "May specify either httpRouteFilterRequestRedirect or httpRouteFilterRequestRewrite, but not both",
                            "rule": "!(self.exists(f, f.type == 'RequestRedirect') && self.exists(f, f.type == 'URLRewrite'))"
                          },
                          {
                            "message": "CORS filter cannot be repeated",
                            "rule": "self.filter(f, f.type == 'CORS').size() <= 1"
                          },
                          {
                            "message": "RequestHeaderModifier filter cannot be repeated",
                            "rule": "self.filter(f, f.type == 'RequestHeaderModifier').size() <= 1"
                          },
                          {
                            "message": "ResponseHeaderModifier filter cannot be repeated",
                            "rule": "self.filter(f, f.type == 'ResponseHeaderModifier').size() <= 1"
                          },
                          {
                            "message": "RequestRedirect filter cannot be repeated",
                            "rule": "self.filter(f, f.type == 'RequestRedirect').size() <= 1"
                          },
                          {
                            "message": "URLRewrite filter cannot be repeated",
                            "rule": "self.filter(f, f.type == 'URLRewrite').size() <= 1"
                          }
                        ]
                      },
                      "matches": {
                        "default": [
                          {
                            "path": {
                              "type": "PathPrefix",
                              "value": "/"
                            }
                          }
                        ],
                        "items": {
                          "properties": {
                            "headers": {
                              "items": {
                                "properties": {
                                  "name": {
                                    "maxLength": 256,
                                    "minLength": 1,
                                    "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                    "type": "string"
                                  },
                                  "type": {
                                    "default": "Exact",
                                    "enum": [
                                      "Exact",
                                      "RegularExpression"
                                    ],
                                    "type": "string"
                                  },
                                  "value": {
                                    "maxLength": 4096,
                                    "minLength": 1,
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name",
                                  "value"
                                ],
                                "type": "object"
                              },
                              "maxItems": 16,
                              "type": "array",
                              "x-kubernetes-list-map-keys": [
                                "name"
                              ],
                              "x-kubernetes-list-type": "map"
                            },
                            "method": {
                              "enum": [
                                "GET",
                                "HEAD",
                                "POST",
                                "PUT",
                                "DELETE",
                                "CONNECT",
                                "OPTIONS",
                                "TRACE",
                                "PATCH"
                              ],
                              "type": "string"
                            },
                            "path": {
                              "default": {
                                "type": "PathPrefix",
                                "value": "/"
                              },
                              "properties": {
                                "type": {
                                  "default": "PathPrefix",
                                  "enum": [
                                    "Exact",
                                    "PathPrefix",
                                    "RegularExpression"
                                  ],
                                  "type": "string"
                                },
                                "value": {
                                  "default": "/",
                                  "maxLength": 1024,
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "x-kubernetes-validations": [
                                {
                                  "message": "value must be an absolute path and start with '/' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? self.value.startsWith('/') : true"
                                },
                                {
                                  "message": "must not contain '//' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('//') : true"
                                },
                                {
                                  "message": "must not contain '/./' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('/./') : true"
                                },
                                {
                                  "message": "must not contain '/../' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('/../') : true"
                                },
                                {
                                  "message": "must not contain '%2f' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('%2f') : true"
                                },
                                {
                                  "message": "must not contain '%2F' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('%2F') : true"
                                },
                                {
                                  "message": "must not contain '#' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.contains('#') : true"
                                },
                                {
                                  "message": "must not end with '/..' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.endsWith('/..') : true"
                                },
                                {
                                  "message": "must not end with '/.' when type one of ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? !self.value.endsWith('/.') : true"
                                },
                                {
                                  "message": "type must be one of ['Exact', 'PathPrefix', 'RegularExpression']",
                                  "rule": "self.type in ['Exact','PathPrefix'] || self.type == 'RegularExpression'"
                                },
                                {
                                  "message": "must only contain valid characters (matching ^(?:[-A-Za-z0-9/._~!$&'()*+,;=:@]|[%][0-9a-fA-F]{2})+$) for types ['Exact', 'PathPrefix']",
                                  "rule": "(self.type in ['Exact','PathPrefix']) ? self.value.matches(r\"\"\"^(?:[-A-Za-z0-9/._~!$&'()*+,;=:@]|[%][0-9a-fA-F]{2})+$\"\"\") : true"
                                }
                              ]
                            },
                            "queryParams": {
                              "items": {
                                "properties": {
                                  "name": {
                                    "maxLength": 256,
                                    "minLength": 1,
                                    "pattern": "^[A-Za-z0-9!#$%&'*+\\-.^_\\x60|~]+$",
                                    "type": "string"
                                  },
                                  "type": {
                                    "default": "Exact",
                                    "enum": [
                                      "Exact",
                                      "RegularExpression"
                                    ],
                                    "type": "string"
                                  },
                                  "value": {
                                    "maxLength": 1024,
                                    "minLength": 1,
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name",
                                  "value"
                                ],
                                "type": "object"
                              },
                              "maxItems": 16,
                              "type": "array",
                              "x-kubernetes-list-map-keys": [
                                "name"
                              ],
                              "x-kubernetes-list-type": "map"
                            }
                          },
                          "type": "object"
                        },
                        "maxItems": 64,
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "name": {
                        "maxLength": 253,
                        "minLength": 1,
                        "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                        "type": "string"
                      },
                      "retry": {
                        "properties": {
                          "attempts": {
                            "type": "integer"
                          },
                          "backoff": {
                            "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$",
                            "type": "string"
                          },
                          "codes": {
                            "items": {
                              "maximum": 599,
                              "minimum": 400,
                              "type": "integer"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          }
                        },
                        "type": "object"
                      },
                      "sessionPersistence": {
                        "properties": {
                          "absoluteTimeout": {
                            "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$",
                            "type": "string"
                          },
                          "cookieConfig": {
                            "properties": {
                              "lifetimeType": {
                                "default": "Session",
                                "enum": [
                                  "Permanent",
                                  "Session"
                                ],
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "idleTimeout": {
                            "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$",
                            "type": "string"
                          },
                          "sessionName": {
                            "maxLength": 128,
                            "type": "string"
                          },
                          "type": {
                            "default": "Cookie",
                            "enum": [
                              "Cookie",
                              "Header"
                            ],
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-validations": [
                          {
                            "message": "AbsoluteTimeout must be specified when cookie lifetimeType is Permanent",
                            "rule": "!has(self.cookieConfig) || !has(self.cookieConfig.lifetimeType) || self.cookieConfig.lifetimeType != 'Permanent' || has(self.absoluteTimeout)"
                          },
                          {
                            "message": "cookieConfig can only be set with type Cookie",
                            "rule": "!has(self.cookieConfig) || self.type == 'Cookie'"
                          }
                        ]
                      },
                      "timeouts": {
                        "properties": {
                          "backendRequest": {
                            "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$",
                            "type": "string"
                          },
                          "request": {
                            "pattern": "^([0-9]{1,5}(h|m|s|ms)){1,4}$",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-kubernetes-validations": [
                          {
                            "message": "backendRequest timeout cannot be longer than request timeout",
                            "rule": "!(has(self.request) && has(self.backendRequest) && duration(self.request) != duration('0s') && duration(self.backendRequest) > duration(self.request))"
                          }
                        ]
                      }
                    },
                    "type": "object",
                    "x-kubernetes-validations": [
                      {
                        "message": "RequestRedirect filter must not be used together with backendRefs",
                        "rule": "(has(self.backendRefs) && size(self.backendRefs) > 0) ? (!has(self.filters) || self.filters.all(f, !has(f.requestRedirect))): true"
                      },
                      {
                        "message": "When using RequestRedirect filter with path.replacePrefixMatch, exactly one PathPrefix match must be specified",
                        "rule": "(has(self.filters) && self.filters.exists_one(f, has(f.requestRedirect) && has(f.requestRedirect.path) && f.requestRedirect.path.type == 'ReplacePrefixMatch' && has(f.requestRedirect.path.replacePrefixMatch))) ? ((size(self.matches) != 1 || !has(self.matches[0].path) || self.matches[0].path.type != 'PathPrefix') ? false : true) : true"
                      },
                      {
                        "message": "When using URLRewrite filter with path.replacePrefixMatch, exactly one PathPrefix match must be specified",
                        "rule": "(has(self.filters) && self.filters.exists_one(f, has(f.urlRewrite) && has(f.urlRewrite.path) && f.urlRewrite.path.type == 'ReplacePrefixMatch' && has(f.urlRewrite.path.replacePrefixMatch))) ? ((size(self.matches) != 1 || !has(self.matches[0].path) || self.matches[0].path.type != 'PathPrefix') ? false : true) : true"
                      },
                      {
                        "message": "Within backendRefs, when using RequestRedirect filter with path.replacePrefixMatch, exactly one PathPrefix match must be specified",
                        "rule": "(has(self.backendRefs) && self.backendRefs.exists_one(b, (has(b.filters) && b.filters.exists_one(f, has(f.requestRedirect) && has(f.requestRedirect.path) && f.requestRedirect.path.type == 'ReplacePrefixMatch' && has(f.requestRedirect.path.replacePrefixMatch))) )) ? ((size(self.matches) != 1 || !has(self.matches[0].path) || self.matches[0].path.type != 'PathPrefix') ? false : true) : true"
                      },
                      {
                        "message": "Within backendRefs, When using URLRewrite filter with path.replacePrefixMatch, exactly one PathPrefix match must be specified",
                        "rule": "(has(self.backendRefs) && self.backendRefs.exists_one(b, (has(b.filters) && b.filters.exists_one(f, has(f.urlRewrite) && has(f.urlRewrite.path) && f.urlRewrite.path.type == 'ReplacePrefixMatch' && has(f.urlRewrite.path.replacePrefixMatch))) )) ? ((size(self.matches) != 1 || !has(self.matches[0].path) || self.matches[0].path.type != 'PathPrefix') ? false : true) : true"
                      }
                    ]
                  },
                  "maxItems": 16,
                  "minItems": 1,
                  "type": "array",
                  "x-kubernetes-list-type": "atomic",
                  "x-kubernetes-validations": [
                    {
                      "message": "While 16 rules and 64 matches per rule are allowed, the total number of matches across all rules in a route must be less than 128",
                      "rule": "(self.size() > 0 ? self[0].matches.size() : 0) + (self.size() > 1 ? self[1].matches.size() : 0) + (self.size() > 2 ? self[2].matches.size() : 0) + (self.size() > 3 ? self[3].matches.size() : 0) + (self.size() > 4 ? self[4].matches.size() : 0) + (self.size() > 5 ? self[5].matches.size() : 0) + (self.size() > 6 ? self[6].matches.size() : 0) + (self.size() > 7 ? self[7].matches.size() : 0) + (self.size() > 8 ? self[8].matches.size() : 0) + (self.size() > 9 ? self[9].matches.size() : 0) + (self.size() > 10 ? self[10].matches.size() : 0) + (self.size() > 11 ? self[11].matches.size() : 0) + (self.size() > 12 ? self[12].matches.size() : 0) + (self.size() > 13 ? self[13].matches.size() : 0) + (self.size() > 14 ? self[14].matches.size() : 0) + (self.size() > 15 ? self[15].matches.size() : 0) <= 128"
                    }
                  ]
                },
                "useDefaultGateways": {
                  "enum": [
                    "All",
                    "None"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "ingress": {
          "properties": {
            "metadata": {
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "spec": {
              "properties": {
                "defaultBackend": {
                  "properties": {
                    "resource": {
                      "properties": {
                        "apiGroup": {
                          "type": "string"
                        },
                        "kind": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "kind",
                        "name"
                      ],
                      "type": "object",
                      "x-kubernetes-map-type": "atomic"
                    },
                    "service": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "port": {
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "number": {
                              "format": "int32",
                              "type": "integer"
                            }
                          },
                          "type": "object",
                          "x-kubernetes-map-type": "atomic"
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "ingressClassName": {
                  "type": "string"
                },
                "rules": {
                  "items": {
                    "properties": {
                      "host": {
                        "type": "string"
                      },
                      "http": {
                        "properties": {
                          "paths": {
                            "items": {
                              "properties": {
                                "backend": {
                                  "properties": {
                                    "resource": {
                                      "properties": {
                                        "apiGroup": {
                                          "type": "string"
                                        },
                                        "kind": {
                                          "type": "string"
                                        },
                                        "name": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "kind",
                                        "name"
                                      ],
                                      "type": "object",
                                      "x-kubernetes-map-type": "atomic"
                                    },
                                    "service": {
                                      "properties": {
                                        "name": {
                                          "type": "string"
                                        },
                                        "port": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "number": {
                                              "format": "int32",
                                              "type": "integer"
                                            }
                                          },
                                          "type": "object",
                                          "x-kubernetes-map-type": "atomic"
                                        }
                                      },
                                      "required": [
                                        "name"
                                      ],
                                      "type": "object"
                                    }
                                  },
                                  "type": "object"
                                },
                                "path": {
                                  "type": "string"
                                },
                                "pathType": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "backend",
                                "pathType"
                              ],
                              "type": "object"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          }
                        },
                        "required": [
                          "paths"
                        ],
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "tls": {
                  "items": {
                    "properties": {
                      "hosts": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      },
                      "secretName": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "jsonnet": {
          "properties": {
            "libraryLabelSelector": {
              "properties": {
                "matchExpressions": {
                  "items": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string"
                      },
                      "values": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-kubernetes-list-type": "atomic"
                      }
                    },
                    "required": [
                      "key",
                      "operator"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "matchLabels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-kubernetes-map-type": "atomic"
            }
          },
          "type": "object"
        },
        "persistentVolumeClaim": {
          "properties": {
            "metadata": {
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "spec": {
              "properties": {
                "accessModes": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "dataSource": {
                  "properties": {
                    "apiGroup": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "kind",
                    "name"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic"
                },
                "dataSourceRef": {
                  "properties": {
                    "apiGroup": {
                      "type": "string"
                    },
                    "kind": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "kind",
                    "name"
                  ],
                  "type": "object",
                  "x-kubernetes-map-type": "atomic"
                },
                "resources": {
                  "properties": {
                    "claims": {
                      "items": {
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "request": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "type": "object"
                      },
                      "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
                      },
                      "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
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "selector": {
                  "properties": {
                    "matchExpressions": {
                      "items": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "operator": {
                            "type": "string"
                          },
                          "values": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array",
                            "x-kubernetes-list-type": "atomic"
                          }
                        },
                        "required": [
                          "key",
                          "operator"
                        ],
                        "type": "object"
                      },
                      "type": "array",
                      "x-kubernetes-list-type": "atomic"
                    },
                    "matchLabels": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "atomic"
                },
                "storageClassName": {
                  "type": "string"
                },
                "volumeMode": {
                  "type": "string"
                },
                "volumeName": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "preferences": {
          "properties": {
            "homeDashboardUid": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "route": {
          "properties": {
            "metadata": {
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "spec": {
              "properties": {
                "alternateBackends": {
                  "items": {
                    "properties": {
                      "kind": {
                        "default": "Service",
                        "enum": [
                          "Service",
                          ""
                        ],
                        "type": "string"
                      },
                      "name": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "weight": {
                        "default": 100,
                        "format": "int32",
                        "maximum": 256,
                        "minimum": 0,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "kind",
                      "name"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "host": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                },
                "port": {
                  "properties": {
                    "targetPort": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "x-kubernetes-int-or-string": true
                    }
                  },
                  "required": [
                    "targetPort"
                  ],
                  "type": "object"
                },
                "subdomain": {
                  "type": "string"
                },
                "tls": {
                  "properties": {
                    "caCertificate": {
                      "type": "string"
                    },
                    "certificate": {
                      "type": "string"
                    },
                    "destinationCACertificate": {
                      "type": "string"
                    },
                    "externalCertificate": {
                      "properties": {
                        "name": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "x-kubernetes-map-type": "atomic"
                    },
                    "insecureEdgeTerminationPolicy": {
                      "enum": [
                        "Allow",
                        "None",
                        "Redirect",
                        ""
                      ],
                      "type": "string"
                    },
                    "key": {
                      "type": "string"
                    },
                    "termination": {
                      "enum": [
                        "edge",
                        "reencrypt",
                        "passthrough"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "termination"
                  ],
                  "type": "object",
                  "x-kubernetes-validations": [
                    {
                      "message": "cannot have both spec.tls.termination: passthrough and spec.tls.insecureEdgeTerminationPolicy: Allow",
                      "rule": "has(self.termination) && has(self.insecureEdgeTerminationPolicy) ? !((self.termination=='passthrough') && (self.insecureEdgeTerminationPolicy=='Allow')) : true"
                    }
                  ]
                },
                "to": {
                  "properties": {
                    "kind": {
                      "default": "Service",
                      "enum": [
                        "Service",
                        ""
                      ],
                      "type": "string"
                    },
                    "name": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "weight": {
                      "default": 100,
                      "format": "int32",
                      "maximum": 256,
                      "minimum": 0,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "kind",
                    "name"
                  ],
                  "type": "object"
                },
                "wildcardPolicy": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "service": {
          "properties": {
            "metadata": {
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "spec": {
              "properties": {
                "allocateLoadBalancerNodePorts": {
                  "type": "boolean"
                },
                "clusterIP": {
                  "type": "string"
                },
                "clusterIPs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "externalIPs": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "externalName": {
                  "type": "string"
                },
                "externalTrafficPolicy": {
                  "type": "string"
                },
                "healthCheckNodePort": {
                  "format": "int32",
                  "type": "integer"
                },
                "internalTrafficPolicy": {
                  "type": "string"
                },
                "ipFamilies": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "ipFamilyPolicy": {
                  "type": "string"
                },
                "loadBalancerClass": {
                  "type": "string"
                },
                "loadBalancerIP": {
                  "type": "string"
                },
                "loadBalancerSourceRanges": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-kubernetes-list-type": "atomic"
                },
                "ports": {
                  "items": {
                    "properties": {
                      "appProtocol": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "nodePort": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "port": {
                        "format": "int32",
                        "type": "integer"
                      },
                      "protocol": {
                        "default": "TCP",
                        "type": "string"
                      },
                      "targetPort": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "type": "string"
                          }
                        ],
                        "x-kubernetes-int-or-string": true
                      }
                    },
                    "required": [
                      "port"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-kubernetes-list-map-keys": [
                    "port",
                    "protocol"
                  ],
                  "x-kubernetes-list-type": "map"
                },
                "publishNotReadyAddresses": {
                  "type": "boolean"
                },
                "selector": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object",
                  "x-kubernetes-map-type": "atomic"
                },
                "sessionAffinity": {
                  "type": "string"
                },
                "sessionAffinityConfig": {
                  "properties": {
                    "clientIP": {
                      "properties": {
                        "timeoutSeconds": {
                          "format": "int32",
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "trafficDistribution": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "serviceAccount": {
          "properties": {
            "automountServiceAccountToken": {
              "type": "boolean"
            },
            "imagePullSecrets": {
              "items": {
                "properties": {
                  "name": {
                    "default": "",
                    "type": "string"
                  }
                },
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "type": "array"
            },
            "metadata": {
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "secrets": {
              "items": {
                "properties": {
                  "apiVersion": {
                    "type": "string"
                  },
                  "fieldPath": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "namespace": {
                    "type": "string"
                  },
                  "resourceVersion": {
                    "type": "string"
                  },
                  "uid": {
                    "type": "string"
                  }
                },
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "suspend": {
          "type": "boolean"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "status": {
      "properties": {
        "adminUrl": {
          "type": "string"
        },
        "alertRuleGroups": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "maxLength": 32768,
                "type": "string"
              },
              "observedGeneration": {
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "reason": {
                "maxLength": 1024,
                "minLength": 1,
                "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
                "type": "string"
              },
              "status": {
                "enum": [
                  "True",
                  "False",
                  "Unknown"
                ],
                "type": "string"
              },
              "type": {
                "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"
          },
          "type": "array"
        },
        "contactPoints": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dashboards": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "datasources": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "folders": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "lastMessage": {
          "type": "string"
        },
        "libraryPanels": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "manifests": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "muteTimings": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "notificationTemplates": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "serviceaccounts": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stage": {
          "type": "string"
        },
        "stageStatus": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}
