{
  "properties": {
    "spec": {
      "properties": {
        "httpGateway": {
          "properties": {
            "options": {
              "properties": {
                "buffer": {
                  "properties": {
                    "maxRequestBytes": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "caching": {
                  "properties": {
                    "allowedVaryHeaders": {
                      "items": {
                        "properties": {
                          "exact": {
                            "type": "string"
                          },
                          "ignoreCase": {
                            "type": "boolean"
                          },
                          "prefix": {
                            "type": "string"
                          },
                          "safeRegex": {
                            "properties": {
                              "googleRe2": {
                                "properties": {
                                  "maxProgramSize": {
                                    "maximum": 4294967295,
                                    "minimum": 0,
                                    "nullable": true,
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "regex": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "suffix": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "cachingServiceRef": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "namespace": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "maxPayloadSize": {
                      "properties": {
                        "value": {
                          "format": "int64",
                          "type": "integer",
                          "x-kubernetes-int-or-string": true
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "timeout": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "csrf": {
                  "properties": {
                    "additionalOrigins": {
                      "items": {
                        "properties": {
                          "exact": {
                            "type": "string"
                          },
                          "ignoreCase": {
                            "type": "boolean"
                          },
                          "prefix": {
                            "type": "string"
                          },
                          "safeRegex": {
                            "properties": {
                              "googleRe2": {
                                "properties": {
                                  "maxProgramSize": {
                                    "maximum": 4294967295,
                                    "minimum": 0,
                                    "nullable": true,
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "regex": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "suffix": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "filterEnabled": {
                      "properties": {
                        "defaultValue": {
                          "properties": {
                            "denominator": {
                              "type": "string",
                              "x-kubernetes-int-or-string": true
                            },
                            "numerator": {
                              "format": "int32",
                              "type": "integer"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "runtimeKey": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "shadowEnabled": {
                      "properties": {
                        "defaultValue": {
                          "properties": {
                            "denominator": {
                              "type": "string",
                              "x-kubernetes-int-or-string": true
                            },
                            "numerator": {
                              "format": "int32",
                              "type": "integer"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "runtimeKey": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "dlp": {
                  "properties": {
                    "dlpRules": {
                      "items": {
                        "properties": {
                          "actions": {
                            "items": {
                              "properties": {
                                "actionType": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                },
                                "customAction": {
                                  "properties": {
                                    "maskChar": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "percent": {
                                      "properties": {
                                        "value": {
                                          "type": "number"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "regex": {
                                      "items": {
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "regexActions": {
                                      "items": {
                                        "properties": {
                                          "regex": {
                                            "type": "string"
                                          },
                                          "subgroup": {
                                            "format": "int32",
                                            "type": "integer"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "keyValueAction": {
                                  "properties": {
                                    "keyToMask": {
                                      "type": "string"
                                    },
                                    "maskChar": {
                                      "type": "string"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "percent": {
                                      "properties": {
                                        "value": {
                                          "type": "number"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "shadow": {
                                  "type": "boolean"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          },
                          "matcher": {
                            "properties": {
                              "caseSensitive": {
                                "nullable": true,
                                "type": "boolean"
                              },
                              "exact": {
                                "type": "string"
                              },
                              "headers": {
                                "items": {
                                  "properties": {
                                    "invertMatch": {
                                      "type": "boolean"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "regex": {
                                      "type": "boolean"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "methods": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "prefix": {
                                "type": "string"
                              },
                              "queryParameters": {
                                "items": {
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "regex": {
                                      "type": "boolean"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "regex": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "enabledFor": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "dynamicForwardProxy": {
                  "properties": {
                    "dnsCacheConfig": {
                      "properties": {
                        "appleDns": {
                          "type": "object"
                        },
                        "caresDns": {
                          "properties": {
                            "dnsResolverOptions": {
                              "properties": {
                                "noDefaultSearchDomain": {
                                  "type": "boolean"
                                },
                                "useTcpForDnsLookups": {
                                  "type": "boolean"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "resolvers": {
                              "items": {
                                "properties": {
                                  "pipe": {
                                    "properties": {
                                      "mode": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "path": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "socketAddress": {
                                    "properties": {
                                      "address": {
                                        "type": "string"
                                      },
                                      "ipv4Compat": {
                                        "type": "boolean"
                                      },
                                      "namedPort": {
                                        "type": "string"
                                      },
                                      "portValue": {
                                        "format": "int32",
                                        "type": "integer"
                                      },
                                      "protocol": {
                                        "type": "string",
                                        "x-kubernetes-int-or-string": true
                                      },
                                      "resolverName": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "type": "array"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "dnsCacheCircuitBreaker": {
                          "properties": {
                            "maxPendingRequests": {
                              "maximum": 4294967295,
                              "minimum": 0,
                              "nullable": true,
                              "type": "integer"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "dnsFailureRefreshRate": {
                          "properties": {
                            "baseInterval": {
                              "type": "string"
                            },
                            "maxInterval": {
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "dnsLookupFamily": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        },
                        "dnsQueryTimeout": {
                          "type": "string"
                        },
                        "dnsRefreshRate": {
                          "type": "string"
                        },
                        "hostTtl": {
                          "type": "string"
                        },
                        "maxHosts": {
                          "maximum": 4294967295,
                          "minimum": 0,
                          "nullable": true,
                          "type": "integer"
                        },
                        "preresolveHostnames": {
                          "items": {
                            "properties": {
                              "address": {
                                "type": "string"
                              },
                              "ipv4Compat": {
                                "type": "boolean"
                              },
                              "namedPort": {
                                "type": "string"
                              },
                              "portValue": {
                                "format": "int32",
                                "type": "integer"
                              },
                              "protocol": {
                                "type": "string",
                                "x-kubernetes-int-or-string": true
                              },
                              "resolverName": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "saveUpstreamAddress": {
                      "type": "boolean"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "extauth": {
                  "properties": {
                    "clearRouteCache": {
                      "type": "boolean"
                    },
                    "extauthzServerRef": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "namespace": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "failureModeAllow": {
                      "type": "boolean"
                    },
                    "grpcService": {
                      "properties": {
                        "authority": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "httpService": {
                      "properties": {
                        "pathPrefix": {
                          "type": "string"
                        },
                        "request": {
                          "properties": {
                            "allowedHeaders": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "allowedHeadersRegex": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "headersToAdd": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "type": "object"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "response": {
                          "properties": {
                            "allowedClientHeaders": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "allowedUpstreamHeaders": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "allowedUpstreamHeadersToAppend": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "requestBody": {
                      "properties": {
                        "allowPartialMessage": {
                          "type": "boolean"
                        },
                        "maxRequestBytes": {
                          "format": "int32",
                          "type": "integer"
                        },
                        "packAsBytes": {
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "requestTimeout": {
                      "type": "string"
                    },
                    "statPrefix": {
                      "type": "string"
                    },
                    "statusOnError": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "transportApiVersion": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "userIdHeader": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "extensions": {
                  "properties": {
                    "configs": {
                      "additionalProperties": {
                        "type": "object",
                        "x-kubernetes-preserve-unknown-fields": true
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "grpcJsonTranscoder": {
                  "properties": {
                    "autoMapping": {
                      "type": "boolean"
                    },
                    "convertGrpcStatus": {
                      "type": "boolean"
                    },
                    "ignoreUnknownQueryParameters": {
                      "type": "boolean"
                    },
                    "ignoredQueryParameters": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "matchIncomingRequestRoute": {
                      "type": "boolean"
                    },
                    "printOptions": {
                      "properties": {
                        "addWhitespace": {
                          "type": "boolean"
                        },
                        "alwaysPrintEnumsAsInts": {
                          "type": "boolean"
                        },
                        "alwaysPrintPrimitiveFields": {
                          "type": "boolean"
                        },
                        "preserveProtoFieldNames": {
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "protoDescriptor": {
                      "type": "string"
                    },
                    "protoDescriptorBin": {
                      "format": "byte",
                      "type": "string"
                    },
                    "protoDescriptorConfigMap": {
                      "properties": {
                        "configMapRef": {
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "namespace": {
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "key": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "services": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "grpcWeb": {
                  "properties": {
                    "disable": {
                      "type": "boolean"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "gzip": {
                  "properties": {
                    "compressionLevel": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "compressionStrategy": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "contentLength": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "contentType": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "disableOnEtagHeader": {
                      "type": "boolean"
                    },
                    "memoryLevel": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "removeAcceptEncodingHeader": {
                      "type": "boolean"
                    },
                    "windowBits": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "healthCheck": {
                  "properties": {
                    "path": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "httpConnectionManagerSettings": {
                  "properties": {
                    "acceptHttp10": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "allowChunkedLength": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "codecType": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "defaultHostForHttp10": {
                      "nullable": true,
                      "type": "string"
                    },
                    "delayedCloseTimeout": {
                      "type": "string"
                    },
                    "drainTimeout": {
                      "type": "string"
                    },
                    "enableTrailers": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "forwardClientCertDetails": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "generateRequestId": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "headersWithUnderscoresAction": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "http2ProtocolOptions": {
                      "properties": {
                        "initialConnectionWindowSize": {
                          "maximum": 4294967295,
                          "minimum": 0,
                          "nullable": true,
                          "type": "integer"
                        },
                        "initialStreamWindowSize": {
                          "maximum": 4294967295,
                          "minimum": 0,
                          "nullable": true,
                          "type": "integer"
                        },
                        "maxConcurrentStreams": {
                          "maximum": 4294967295,
                          "minimum": 0,
                          "nullable": true,
                          "type": "integer"
                        },
                        "overrideStreamErrorOnInvalidHttpMessage": {
                          "nullable": true,
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "idleTimeout": {
                      "type": "string"
                    },
                    "internalAddressConfig": {
                      "properties": {
                        "cidrRanges": {
                          "items": {
                            "properties": {
                              "addressPrefix": {
                                "type": "string"
                              },
                              "prefixLen": {
                                "maximum": 4294967295,
                                "minimum": 0,
                                "nullable": true,
                                "type": "integer"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "unixSockets": {
                          "nullable": true,
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "maxConnectionDuration": {
                      "type": "string"
                    },
                    "maxHeadersCount": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "maxRequestHeadersKb": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "maxRequestsPerConnection": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "maxStreamDuration": {
                      "type": "string"
                    },
                    "mergeSlashes": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "normalizePath": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "pathWithEscapedSlashesAction": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "preserveCaseHeaderKeyFormat": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "preserveExternalRequestId": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "properCaseHeaderKeyFormat": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "proxy100Continue": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "requestHeadersTimeout": {
                      "type": "string"
                    },
                    "requestTimeout": {
                      "type": "string"
                    },
                    "serverHeaderTransformation": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "serverName": {
                      "nullable": true,
                      "type": "string"
                    },
                    "setCurrentClientCertDetails": {
                      "properties": {
                        "cert": {
                          "nullable": true,
                          "type": "boolean"
                        },
                        "chain": {
                          "nullable": true,
                          "type": "boolean"
                        },
                        "dns": {
                          "nullable": true,
                          "type": "boolean"
                        },
                        "subject": {
                          "nullable": true,
                          "type": "boolean"
                        },
                        "uri": {
                          "nullable": true,
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "skipXffAppend": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "streamIdleTimeout": {
                      "type": "string"
                    },
                    "stripAnyHostPort": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "tracing": {
                      "properties": {
                        "datadogConfig": {
                          "properties": {
                            "clusterName": {
                              "type": "string"
                            },
                            "collectorUpstreamRef": {
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "namespace": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "serviceName": {
                              "nullable": true,
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "environmentVariablesForTags": {
                          "items": {
                            "properties": {
                              "defaultValue": {
                                "nullable": true,
                                "type": "string"
                              },
                              "name": {
                                "nullable": true,
                                "type": "string"
                              },
                              "tag": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "literalsForTags": {
                          "items": {
                            "properties": {
                              "tag": {
                                "nullable": true,
                                "type": "string"
                              },
                              "value": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "openCensusConfig": {
                          "properties": {
                            "grpcAddress": {
                              "properties": {
                                "statPrefix": {
                                  "type": "string"
                                },
                                "targetUri": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "httpAddress": {
                              "type": "string"
                            },
                            "incomingTraceContext": {
                              "items": {
                                "type": "string",
                                "x-kubernetes-int-or-string": true
                              },
                              "type": "array"
                            },
                            "ocagentExporterEnabled": {
                              "type": "boolean"
                            },
                            "outgoingTraceContext": {
                              "items": {
                                "type": "string",
                                "x-kubernetes-int-or-string": true
                              },
                              "type": "array"
                            },
                            "traceConfig": {
                              "properties": {
                                "constantSampler": {
                                  "properties": {
                                    "decision": {
                                      "type": "string",
                                      "x-kubernetes-int-or-string": true
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "maxNumberOfAnnotations": {
                                  "format": "int64",
                                  "type": "integer",
                                  "x-kubernetes-int-or-string": true
                                },
                                "maxNumberOfAttributes": {
                                  "format": "int64",
                                  "type": "integer",
                                  "x-kubernetes-int-or-string": true
                                },
                                "maxNumberOfLinks": {
                                  "format": "int64",
                                  "type": "integer",
                                  "x-kubernetes-int-or-string": true
                                },
                                "maxNumberOfMessageEvents": {
                                  "format": "int64",
                                  "type": "integer",
                                  "x-kubernetes-int-or-string": true
                                },
                                "probabilitySampler": {
                                  "properties": {
                                    "samplingProbability": {
                                      "type": "number"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "rateLimitingSampler": {
                                  "properties": {
                                    "qps": {
                                      "format": "int64",
                                      "type": "integer",
                                      "x-kubernetes-int-or-string": true
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "openTelemetryConfig": {
                          "properties": {
                            "clusterName": {
                              "type": "string"
                            },
                            "collectorUpstreamRef": {
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "namespace": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "requestHeadersForTags": {
                          "items": {
                            "nullable": true,
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "tracePercentages": {
                          "properties": {
                            "clientSamplePercentage": {
                              "nullable": true,
                              "type": "number"
                            },
                            "overallSamplePercentage": {
                              "nullable": true,
                              "type": "number"
                            },
                            "randomSamplePercentage": {
                              "nullable": true,
                              "type": "number"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "verbose": {
                          "nullable": true,
                          "type": "boolean"
                        },
                        "zipkinConfig": {
                          "properties": {
                            "clusterName": {
                              "type": "string"
                            },
                            "collectorEndpoint": {
                              "type": "string"
                            },
                            "collectorEndpointVersion": {
                              "type": "string",
                              "x-kubernetes-int-or-string": true
                            },
                            "collectorUpstreamRef": {
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "namespace": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "sharedSpanContext": {
                              "nullable": true,
                              "type": "boolean"
                            },
                            "traceId128bit": {
                              "nullable": true,
                              "type": "boolean"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "upgrades": {
                      "items": {
                        "properties": {
                          "websocket": {
                            "properties": {
                              "enabled": {
                                "nullable": true,
                                "type": "boolean"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "useRemoteAddress": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "uuidRequestIdConfig": {
                      "properties": {
                        "packTraceReason": {
                          "nullable": true,
                          "type": "boolean"
                        },
                        "useRequestIdForTraceSampling": {
                          "nullable": true,
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "via": {
                      "nullable": true,
                      "type": "string"
                    },
                    "xffNumTrustedHops": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "leftmostXffAddress": {
                  "nullable": true,
                  "type": "boolean"
                },
                "proxyLatency": {
                  "properties": {
                    "chargeClusterStat": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "chargeListenerStat": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "emitDynamicMetadata": {
                      "nullable": true,
                      "type": "boolean"
                    },
                    "measureRequestInternally": {
                      "type": "boolean"
                    },
                    "request": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "response": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "ratelimitServer": {
                  "properties": {
                    "denyOnFail": {
                      "type": "boolean"
                    },
                    "enableXRatelimitHeaders": {
                      "type": "boolean"
                    },
                    "rateLimitBeforeAuth": {
                      "type": "boolean"
                    },
                    "ratelimitServerRef": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "namespace": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "requestTimeout": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "sanitizeClusterHeader": {
                  "nullable": true,
                  "type": "boolean"
                },
                "waf": {
                  "properties": {
                    "auditLogging": {
                      "properties": {
                        "action": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        },
                        "location": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "configMapRuleSets": {
                      "items": {
                        "properties": {
                          "configMapRef": {
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "namespace": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "dataMapKeys": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "coreRuleSet": {
                      "properties": {
                        "customSettingsFile": {
                          "type": "string"
                        },
                        "customSettingsString": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "customInterventionMessage": {
                      "type": "string"
                    },
                    "disabled": {
                      "type": "boolean"
                    },
                    "requestHeadersOnly": {
                      "type": "boolean"
                    },
                    "responseHeadersOnly": {
                      "type": "boolean"
                    },
                    "ruleSets": {
                      "items": {
                        "properties": {
                          "directory": {
                            "type": "string"
                          },
                          "files": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "ruleStr": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "wasm": {
                  "properties": {
                    "filters": {
                      "items": {
                        "properties": {
                          "config": {
                            "type": "object",
                            "x-kubernetes-preserve-unknown-fields": true
                          },
                          "failOpen": {
                            "type": "boolean"
                          },
                          "filePath": {
                            "type": "string"
                          },
                          "filterStage": {
                            "properties": {
                              "predicate": {
                                "type": "string",
                                "x-kubernetes-int-or-string": true
                              },
                              "stage": {
                                "type": "string",
                                "x-kubernetes-int-or-string": true
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "image": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "rootId": {
                            "type": "string"
                          },
                          "vmType": {
                            "type": "string",
                            "x-kubernetes-int-or-string": true
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "virtualServiceExpressions": {
              "properties": {
                "expressions": {
                  "items": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "operator": {
                        "type": "string",
                        "x-kubernetes-int-or-string": true
                      },
                      "values": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "virtualServiceNamespaces": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "virtualServiceSelector": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "virtualServices": {
              "items": {
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "namespace": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "matcher": {
          "properties": {
            "sourcePrefixRanges": {
              "items": {
                "properties": {
                  "addressPrefix": {
                    "type": "string"
                  },
                  "prefixLen": {
                    "maximum": 4294967295,
                    "minimum": 0,
                    "nullable": true,
                    "type": "integer"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "sslConfig": {
              "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": "object",
          "additionalProperties": false
        },
        "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"
}
