{
  "properties": {
    "spec": {
      "properties": {
        "compressedSpec": {
          "type": "string"
        },
        "listeners": {
          "items": {
            "properties": {
              "aggregateListener": {
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true
              },
              "bindAddress": {
                "type": "string"
              },
              "bindPort": {
                "format": "int32",
                "type": "integer"
              },
              "httpListener": {
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true
              },
              "hybridListener": {
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true
              },
              "metadata": {
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true
              },
              "metadataStatic": {
                "properties": {
                  "sources": {
                    "items": {
                      "properties": {
                        "observedGeneration": {
                          "format": "int64",
                          "type": "integer",
                          "x-kubernetes-int-or-string": true
                        },
                        "resourceKind": {
                          "type": "string"
                        },
                        "resourceRef": {
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "namespace": {
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "name": {
                "type": "string"
              },
              "options": {
                "properties": {
                  "accessLoggingService": {
                    "properties": {
                      "accessLog": {
                        "items": {
                          "properties": {
                            "fileSink": {
                              "properties": {
                                "jsonFormat": {
                                  "type": "object",
                                  "x-kubernetes-preserve-unknown-fields": true
                                },
                                "path": {
                                  "type": "string"
                                },
                                "stringFormat": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "grpcService": {
                              "properties": {
                                "additionalRequestHeadersToLog": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "additionalResponseHeadersToLog": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "additionalResponseTrailersToLog": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "logName": {
                                  "type": "string"
                                },
                                "staticClusterName": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "extensions": {
                    "properties": {
                      "configs": {
                        "additionalProperties": {
                          "type": "object",
                          "x-kubernetes-preserve-unknown-fields": true
                        },
                        "type": "object"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "perConnectionBufferLimitBytes": {
                    "maximum": 4294967295,
                    "minimum": 0,
                    "nullable": true,
                    "type": "integer"
                  },
                  "proxyProtocol": {
                    "properties": {
                      "allowRequestsWithoutProxyProtocol": {
                        "type": "boolean"
                      },
                      "rules": {
                        "items": {
                          "properties": {
                            "onTlvPresent": {
                              "properties": {
                                "key": {
                                  "type": "string"
                                },
                                "metadataNamespace": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "tlvType": {
                              "format": "int32",
                              "type": "integer"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "socketOptions": {
                    "items": {
                      "properties": {
                        "bufValue": {
                          "format": "byte",
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "intValue": {
                          "format": "int64",
                          "type": "integer",
                          "x-kubernetes-int-or-string": true
                        },
                        "level": {
                          "format": "int64",
                          "type": "integer",
                          "x-kubernetes-int-or-string": true
                        },
                        "name": {
                          "format": "int64",
                          "type": "integer",
                          "x-kubernetes-int-or-string": true
                        },
                        "state": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "routeOptions": {
                "properties": {
                  "maxDirectResponseBodySizeBytes": {
                    "maximum": 4294967295,
                    "minimum": 0,
                    "nullable": true,
                    "type": "integer"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "sslConfigurations": {
                "items": {
                  "properties": {
                    "alpnProtocols": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "disableTlsSessionResumption": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "oneWayTls": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "parameters": {
                      "properties": {
                        "cipherSuites": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ecdhCurves": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "maximumProtocolVersion": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        },
                        "minimumProtocolVersion": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "sds": {
                      "properties": {
                        "callCredentials": {
                          "properties": {
                            "fileCredentialSource": {
                              "properties": {
                                "header": {
                                  "type": "string"
                                },
                                "tokenFileName": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "certificatesSecretName": {
                          "type": "string"
                        },
                        "clusterName": {
                          "type": "string"
                        },
                        "targetUri": {
                          "type": "string"
                        },
                        "validationContextName": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "secretRef": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "namespace": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "sniDomains": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "sslFiles": {
                      "properties": {
                        "rootCa": {
                          "type": "string"
                        },
                        "tlsCert": {
                          "type": "string"
                        },
                        "tlsKey": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "transportSocketConnectTimeout": {
                      "type": "string"
                    },
                    "verifySubjectAltName": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "tcpListener": {
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true
              },
              "useProxyProto": {
                "nullable": true,
                "type": "boolean"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "namespacedStatuses": {
          "properties": {
            "statuses": {
              "additionalProperties": {
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true
              },
              "type": "object"
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "default": {},
      "properties": {
        "statuses": {
          "default": {},
          "type": "object",
          "x-kubernetes-preserve-unknown-fields": true
        }
      },
      "type": "object",
      "x-kubernetes-preserve-unknown-fields": true,
      "additionalProperties": false
    }
  },
  "type": "object"
}
