# CRD validation schema generated by solo-kit. DO NOT EDIT. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: gateways.gateway.solo.io spec: group: gateway.solo.io names: categories: - gloo-gateway kind: Gateway listKind: GatewayList plural: gateways shortNames: - gw - ggw singular: gateway scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: properties: spec: properties: bindAddress: type: string bindPort: maximum: 4294967295 minimum: 0 type: integer httpGateway: properties: options: properties: buffer: properties: maxRequestBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object 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 regex: type: string type: object suffix: type: string type: object type: array cachingServiceRef: properties: name: type: string namespace: type: string type: object maxPayloadSize: maximum: 4294967295 minimum: 0 nullable: true type: integer timeout: type: string type: object connectionLimit: properties: delayBeforeClose: type: string maxActiveConnections: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object 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 regex: type: string type: object suffix: type: string type: object type: array filterEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string type: object type: object disableExtProc: nullable: true type: boolean disableExtProcEarly: nullable: true type: boolean disableExtProcLate: nullable: true type: boolean 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 regex: items: type: string type: array regexActions: items: properties: regex: type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: array type: object keyValueAction: properties: keyToMask: type: string maskChar: type: string name: type: string percent: properties: value: type: number type: object type: object shadow: type: boolean type: object type: array matcher: properties: caseSensitive: nullable: true type: boolean connectMatcher: type: object exact: type: string headers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object 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 type: array regex: type: string type: object type: object type: array enabledFor: type: string x-kubernetes-int-or-string: true type: object dynamicForwardProxy: properties: circuitBreakers: properties: maxConnections: maximum: 4294967295 minimum: 0 nullable: true type: integer maxPendingRequests: maximum: 4294967295 minimum: 0 nullable: true type: integer maxRequests: maximum: 4294967295 minimum: 0 nullable: true type: integer maxRetries: maximum: 4294967295 minimum: 0 nullable: true type: integer trackRemaining: type: boolean type: object dnsCacheConfig: properties: appleDns: type: object caresDns: properties: dnsResolverOptions: properties: noDefaultSearchDomain: type: boolean useTcpForDnsLookups: type: boolean type: object resolvers: items: properties: pipe: properties: mode: maximum: 4294967295 minimum: 0 type: integer path: type: string type: object socketAddress: properties: address: type: string ipv4Compat: type: boolean namedPort: type: string portValue: maximum: 4294967295 minimum: 0 type: integer protocol: type: string x-kubernetes-int-or-string: true resolverName: type: string type: object type: object type: array type: object dnsCacheCircuitBreaker: properties: maxPendingRequests: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object dnsFailureRefreshRate: properties: baseInterval: type: string maxInterval: type: string type: object 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: maximum: 4294967295 minimum: 0 type: integer protocol: type: string x-kubernetes-int-or-string: true resolverName: type: string type: object type: array type: object saveUpstreamAddress: type: boolean sslConfig: properties: allowRenegotiation: nullable: true type: boolean alpnProtocols: items: type: string type: array 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 sds: properties: callCredentials: properties: fileCredentialSource: properties: header: type: string tokenFileName: type: string type: object type: object certificatesSecretName: type: string clusterName: type: string targetUri: type: string validationContextName: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object sni: type: string sslFiles: properties: ocspStaple: type: string rootCa: type: string tlsCert: type: string tlsKey: type: string type: object verifySubjectAltName: items: type: string type: array type: object type: object extProc: properties: allowModeOverride: nullable: true type: boolean asyncMode: nullable: true type: boolean disableClearRouteCache: nullable: true type: boolean failureModeAllow: nullable: true type: boolean filterMetadata: type: object x-kubernetes-preserve-unknown-fields: true filterStage: properties: predicate: type: string x-kubernetes-int-or-string: true stage: type: string x-kubernetes-int-or-string: true type: object forwardRules: properties: allowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object disallowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object type: object grpcService: properties: authority: nullable: true type: string extProcServerRef: properties: name: type: string namespace: type: string type: object initialMetadata: items: properties: key: type: string value: type: string type: object type: array retryPolicy: properties: numRetries: maximum: 4294967295 minimum: 0 nullable: true type: integer retryBackOff: properties: baseInterval: type: string maxInterval: type: string type: object type: object timeout: type: string type: object maxMessageTimeout: type: string messageTimeout: type: string metadataContextNamespaces: items: type: string type: array mutationRules: properties: allowAllRouting: nullable: true type: boolean allowEnvoy: nullable: true type: boolean allowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowAll: nullable: true type: boolean disallowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowIsError: nullable: true type: boolean disallowSystem: nullable: true type: boolean type: object processingMode: properties: requestBodyMode: type: string x-kubernetes-int-or-string: true requestHeaderMode: type: string x-kubernetes-int-or-string: true requestTrailerMode: type: string x-kubernetes-int-or-string: true responseBodyMode: type: string x-kubernetes-int-or-string: true responseHeaderMode: type: string x-kubernetes-int-or-string: true responseTrailerMode: type: string x-kubernetes-int-or-string: true type: object requestAttributes: items: type: string type: array responseAttributes: items: type: string type: array statPrefix: nullable: true type: string typedMetadataContextNamespaces: items: type: string type: array type: object extProcEarly: properties: allowModeOverride: nullable: true type: boolean asyncMode: nullable: true type: boolean disableClearRouteCache: nullable: true type: boolean failureModeAllow: nullable: true type: boolean filterMetadata: type: object x-kubernetes-preserve-unknown-fields: true filterStage: properties: predicate: type: string x-kubernetes-int-or-string: true stage: type: string x-kubernetes-int-or-string: true type: object forwardRules: properties: allowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object disallowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object type: object grpcService: properties: authority: nullable: true type: string extProcServerRef: properties: name: type: string namespace: type: string type: object initialMetadata: items: properties: key: type: string value: type: string type: object type: array retryPolicy: properties: numRetries: maximum: 4294967295 minimum: 0 nullable: true type: integer retryBackOff: properties: baseInterval: type: string maxInterval: type: string type: object type: object timeout: type: string type: object maxMessageTimeout: type: string messageTimeout: type: string metadataContextNamespaces: items: type: string type: array mutationRules: properties: allowAllRouting: nullable: true type: boolean allowEnvoy: nullable: true type: boolean allowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowAll: nullable: true type: boolean disallowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowIsError: nullable: true type: boolean disallowSystem: nullable: true type: boolean type: object processingMode: properties: requestBodyMode: type: string x-kubernetes-int-or-string: true requestHeaderMode: type: string x-kubernetes-int-or-string: true requestTrailerMode: type: string x-kubernetes-int-or-string: true responseBodyMode: type: string x-kubernetes-int-or-string: true responseHeaderMode: type: string x-kubernetes-int-or-string: true responseTrailerMode: type: string x-kubernetes-int-or-string: true type: object requestAttributes: items: type: string type: array responseAttributes: items: type: string type: array statPrefix: nullable: true type: string typedMetadataContextNamespaces: items: type: string type: array type: object extProcLate: properties: allowModeOverride: nullable: true type: boolean asyncMode: nullable: true type: boolean disableClearRouteCache: nullable: true type: boolean failureModeAllow: nullable: true type: boolean filterMetadata: type: object x-kubernetes-preserve-unknown-fields: true filterStage: properties: predicate: type: string x-kubernetes-int-or-string: true stage: type: string x-kubernetes-int-or-string: true type: object forwardRules: properties: allowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object disallowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object type: object grpcService: properties: authority: nullable: true type: string extProcServerRef: properties: name: type: string namespace: type: string type: object initialMetadata: items: properties: key: type: string value: type: string type: object type: array retryPolicy: properties: numRetries: maximum: 4294967295 minimum: 0 nullable: true type: integer retryBackOff: properties: baseInterval: type: string maxInterval: type: string type: object type: object timeout: type: string type: object maxMessageTimeout: type: string messageTimeout: type: string metadataContextNamespaces: items: type: string type: array mutationRules: properties: allowAllRouting: nullable: true type: boolean allowEnvoy: nullable: true type: boolean allowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowAll: nullable: true type: boolean disallowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowIsError: nullable: true type: boolean disallowSystem: nullable: true type: boolean type: object processingMode: properties: requestBodyMode: type: string x-kubernetes-int-or-string: true requestHeaderMode: type: string x-kubernetes-int-or-string: true requestTrailerMode: type: string x-kubernetes-int-or-string: true responseBodyMode: type: string x-kubernetes-int-or-string: true responseHeaderMode: type: string x-kubernetes-int-or-string: true responseTrailerMode: type: string x-kubernetes-int-or-string: true type: object requestAttributes: items: type: string type: array responseAttributes: items: type: string type: array statPrefix: nullable: true type: string typedMetadataContextNamespaces: items: type: string type: array type: object extauth: properties: clearRouteCache: type: boolean extauthzServerRef: properties: name: type: string namespace: type: string type: object failureModeAllow: type: boolean grpcService: properties: authority: type: string type: object 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 response: properties: allowedClientHeaders: items: type: string type: array allowedUpstreamHeaders: items: type: string type: array allowedUpstreamHeadersToAppend: items: type: string type: array type: object type: object requestBody: properties: allowPartialMessage: type: boolean maxRequestBytes: maximum: 4294967295 minimum: 0 type: integer packAsBytes: type: boolean type: object requestTimeout: type: string statPrefix: type: string statusOnError: maximum: 4294967295 minimum: 0 type: integer transportApiVersion: type: string x-kubernetes-int-or-string: true userIdHeader: type: string type: object extensions: properties: configs: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object 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 protoDescriptor: type: string protoDescriptorBin: format: byte type: string protoDescriptorConfigMap: properties: configMapRef: properties: name: type: string namespace: type: string type: object key: type: string type: object services: items: type: string type: array type: object grpcWeb: properties: disable: type: boolean type: object 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 headerValidationSettings: properties: disableHttp1MethodValidation: maxProperties: 0 type: object type: object healthCheck: properties: path: type: string type: object httpConnectionManagerSettings: properties: acceptHttp10: nullable: true type: boolean allowChunkedLength: nullable: true type: boolean appendXForwardedPort: nullable: true type: boolean codecType: type: string x-kubernetes-int-or-string: true defaultHostForHttp10: nullable: true type: string delayedCloseTimeout: type: string drainTimeout: type: string earlyHeaderManipulation: properties: headersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object headerSecretRef: properties: name: type: string namespace: type: string type: object type: object type: array headersToRemove: items: type: string type: array type: object 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 idleTimeout: type: string internalAddressConfig: properties: cidrRanges: items: properties: addressPrefix: type: string prefixLen: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object type: array unixSockets: nullable: true type: boolean type: object 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 skipXffAppend: nullable: true type: boolean streamIdleTimeout: type: string stripAnyHostPort: nullable: true type: boolean tracing: properties: datadogConfig: properties: clusterName: type: string collectorHostname: type: string collectorUpstreamRef: properties: name: type: string namespace: type: string type: object remoteConfig: properties: disabled: nullable: true type: boolean pollingInterval: type: string type: object serviceName: nullable: true type: string type: object environmentVariablesForTags: items: properties: defaultValue: nullable: true type: string name: nullable: true type: string tag: nullable: true type: string type: object type: array literalsForTags: items: properties: tag: nullable: true type: string value: nullable: true type: string type: object type: array metadataForTags: items: properties: defaultValue: type: string kind: type: string x-kubernetes-int-or-string: true tag: type: string value: properties: key: type: string namespace: type: string nestedFieldDelimiter: type: string type: object type: object type: array openCensusConfig: properties: grpcAddress: properties: statPrefix: type: string targetUri: type: string type: object 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 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 rateLimitingSampler: properties: qps: format: int64 type: integer x-kubernetes-int-or-string: true type: object type: object type: object openTelemetryConfig: properties: clusterName: type: string collectorUpstreamRef: properties: name: type: string namespace: type: string type: object grpcService: properties: authority: type: string type: object maxCacheSize: maximum: 4294967295 minimum: 0 nullable: true type: integer serviceName: type: string type: object requestHeadersForTags: items: nullable: true type: string type: array spawnUpstreamSpan: type: boolean tracePercentages: properties: clientSamplePercentage: nullable: true type: number overallSamplePercentage: nullable: true type: number randomSamplePercentage: nullable: true type: number type: object 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 sharedSpanContext: nullable: true type: boolean traceId128bit: nullable: true type: boolean type: object type: object upgrades: items: properties: connect: properties: enabled: nullable: true type: boolean type: object connectTerminate: properties: enabled: nullable: true type: boolean type: object websocket: properties: enabled: nullable: true type: boolean type: object type: object type: array useRemoteAddress: nullable: true type: boolean uuidRequestIdConfig: properties: packTraceReason: nullable: true type: boolean useRequestIdForTraceSampling: nullable: true type: boolean type: object via: nullable: true type: string xffNumTrustedHops: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object httpLocalRatelimit: properties: defaultLimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object enableXRatelimitHeaders: nullable: true type: boolean localRateLimitPerDownstreamConnection: nullable: true type: boolean type: object leftmostXffAddress: nullable: true type: boolean networkLocalRatelimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object 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 ratelimitServer: properties: denyOnFail: type: boolean enableXRatelimitHeaders: type: boolean grpcService: properties: authority: type: string type: object rateLimitBeforeAuth: type: boolean ratelimitServerRef: properties: name: type: string namespace: type: string type: object requestTimeout: type: string type: object router: properties: dynamicStats: nullable: true type: boolean suppressEnvoyHeaders: nullable: true type: boolean type: object sanitizeClusterHeader: nullable: true type: boolean statefulSession: properties: cookieBased: properties: cookie: properties: name: type: string path: type: string ttl: type: string type: object type: object headerBased: properties: headerName: type: string type: object strict: type: boolean type: object tap: properties: maxBufferedRxBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer maxBufferedTxBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer recordDownstreamConnection: nullable: true type: boolean recordHeadersReceivedTime: nullable: true type: boolean sinks: items: properties: grpcService: properties: tapServer: properties: name: type: string namespace: type: string type: object type: object httpService: properties: tapServer: properties: name: type: string namespace: type: string type: object timeout: type: string type: object type: object type: array type: object waf: properties: auditLogging: properties: action: type: string x-kubernetes-int-or-string: true location: type: string x-kubernetes-int-or-string: true type: object configMapRuleSets: items: properties: configMapRef: properties: name: type: string namespace: type: string type: object dataMapKeys: items: type: string type: array type: object type: array coreRuleSet: properties: customSettingsFile: type: string customSettingsString: type: string type: object 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 type: array type: object 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 image: type: string name: type: string rootId: type: string vmType: type: string x-kubernetes-int-or-string: true type: object type: array type: object type: object 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 type: array type: object virtualServiceNamespaces: items: type: string type: array virtualServiceSelector: additionalProperties: type: string type: object virtualServices: items: properties: name: type: string namespace: type: string type: object type: array type: object hybridGateway: properties: delegatedHttpGateways: properties: httpConnectionManagerSettings: properties: acceptHttp10: nullable: true type: boolean allowChunkedLength: nullable: true type: boolean appendXForwardedPort: nullable: true type: boolean codecType: type: string x-kubernetes-int-or-string: true defaultHostForHttp10: nullable: true type: string delayedCloseTimeout: type: string drainTimeout: type: string earlyHeaderManipulation: properties: headersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object headerSecretRef: properties: name: type: string namespace: type: string type: object type: object type: array headersToRemove: items: type: string type: array type: object 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 idleTimeout: type: string internalAddressConfig: properties: cidrRanges: items: properties: addressPrefix: type: string prefixLen: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object type: array unixSockets: nullable: true type: boolean type: object 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 skipXffAppend: nullable: true type: boolean streamIdleTimeout: type: string stripAnyHostPort: nullable: true type: boolean tracing: properties: datadogConfig: properties: clusterName: type: string collectorHostname: type: string collectorUpstreamRef: properties: name: type: string namespace: type: string type: object remoteConfig: properties: disabled: nullable: true type: boolean pollingInterval: type: string type: object serviceName: nullable: true type: string type: object environmentVariablesForTags: items: properties: defaultValue: nullable: true type: string name: nullable: true type: string tag: nullable: true type: string type: object type: array literalsForTags: items: properties: tag: nullable: true type: string value: nullable: true type: string type: object type: array metadataForTags: items: properties: defaultValue: type: string kind: type: string x-kubernetes-int-or-string: true tag: type: string value: properties: key: type: string namespace: type: string nestedFieldDelimiter: type: string type: object type: object type: array openCensusConfig: properties: grpcAddress: properties: statPrefix: type: string targetUri: type: string type: object 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 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 rateLimitingSampler: properties: qps: format: int64 type: integer x-kubernetes-int-or-string: true type: object type: object type: object openTelemetryConfig: properties: clusterName: type: string collectorUpstreamRef: properties: name: type: string namespace: type: string type: object grpcService: properties: authority: type: string type: object maxCacheSize: maximum: 4294967295 minimum: 0 nullable: true type: integer serviceName: type: string type: object requestHeadersForTags: items: nullable: true type: string type: array spawnUpstreamSpan: type: boolean tracePercentages: properties: clientSamplePercentage: nullable: true type: number overallSamplePercentage: nullable: true type: number randomSamplePercentage: nullable: true type: number type: object 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 sharedSpanContext: nullable: true type: boolean traceId128bit: nullable: true type: boolean type: object type: object upgrades: items: properties: connect: properties: enabled: nullable: true type: boolean type: object connectTerminate: properties: enabled: nullable: true type: boolean type: object websocket: properties: enabled: nullable: true type: boolean type: object type: object type: array useRemoteAddress: nullable: true type: boolean uuidRequestIdConfig: properties: packTraceReason: nullable: true type: boolean useRequestIdForTraceSampling: nullable: true type: boolean type: object via: nullable: true type: string xffNumTrustedHops: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object preventChildOverrides: type: boolean ref: properties: name: type: string namespace: type: string type: object selector: properties: expressions: items: properties: key: type: string operator: type: string x-kubernetes-int-or-string: true values: items: type: string type: array type: object type: array labels: additionalProperties: type: string type: object namespaces: items: type: string type: array type: object sslConfig: properties: alpnProtocols: items: type: string type: array disableTlsSessionResumption: nullable: true type: boolean ocspStaplePolicy: type: string x-kubernetes-int-or-string: true 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 sds: properties: callCredentials: properties: fileCredentialSource: properties: header: type: string tokenFileName: type: string type: object type: object certificatesSecretName: type: string clusterName: type: string targetUri: type: string validationContextName: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object sniDomains: items: type: string type: array sslFiles: properties: ocspStaple: type: string rootCa: type: string tlsCert: type: string tlsKey: type: string type: object transportSocketConnectTimeout: type: string verifySubjectAltName: items: type: string type: array type: object type: object delegatedTcpGateways: properties: ref: properties: name: type: string namespace: type: string type: object selector: properties: expressions: items: properties: key: type: string operator: type: string x-kubernetes-int-or-string: true values: items: type: string type: array type: object type: array labels: additionalProperties: type: string type: object namespaces: items: type: string type: array type: object type: object matchedGateways: items: properties: httpGateway: properties: options: properties: buffer: properties: maxRequestBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object 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 regex: type: string type: object suffix: type: string type: object type: array cachingServiceRef: properties: name: type: string namespace: type: string type: object maxPayloadSize: maximum: 4294967295 minimum: 0 nullable: true type: integer timeout: type: string type: object connectionLimit: properties: delayBeforeClose: type: string maxActiveConnections: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object 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 regex: type: string type: object suffix: type: string type: object type: array filterEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string type: object type: object disableExtProc: nullable: true type: boolean disableExtProcEarly: nullable: true type: boolean disableExtProcLate: nullable: true type: boolean 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 regex: items: type: string type: array regexActions: items: properties: regex: type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: array type: object keyValueAction: properties: keyToMask: type: string maskChar: type: string name: type: string percent: properties: value: type: number type: object type: object shadow: type: boolean type: object type: array matcher: properties: caseSensitive: nullable: true type: boolean connectMatcher: type: object exact: type: string headers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object 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 type: array regex: type: string type: object type: object type: array enabledFor: type: string x-kubernetes-int-or-string: true type: object dynamicForwardProxy: properties: circuitBreakers: properties: maxConnections: maximum: 4294967295 minimum: 0 nullable: true type: integer maxPendingRequests: maximum: 4294967295 minimum: 0 nullable: true type: integer maxRequests: maximum: 4294967295 minimum: 0 nullable: true type: integer maxRetries: maximum: 4294967295 minimum: 0 nullable: true type: integer trackRemaining: type: boolean type: object dnsCacheConfig: properties: appleDns: type: object caresDns: properties: dnsResolverOptions: properties: noDefaultSearchDomain: type: boolean useTcpForDnsLookups: type: boolean type: object resolvers: items: properties: pipe: properties: mode: maximum: 4294967295 minimum: 0 type: integer path: type: string type: object socketAddress: properties: address: type: string ipv4Compat: type: boolean namedPort: type: string portValue: maximum: 4294967295 minimum: 0 type: integer protocol: type: string x-kubernetes-int-or-string: true resolverName: type: string type: object type: object type: array type: object dnsCacheCircuitBreaker: properties: maxPendingRequests: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object dnsFailureRefreshRate: properties: baseInterval: type: string maxInterval: type: string type: object 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: maximum: 4294967295 minimum: 0 type: integer protocol: type: string x-kubernetes-int-or-string: true resolverName: type: string type: object type: array type: object saveUpstreamAddress: type: boolean sslConfig: properties: allowRenegotiation: nullable: true type: boolean alpnProtocols: items: type: string type: array 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 sds: properties: callCredentials: properties: fileCredentialSource: properties: header: type: string tokenFileName: type: string type: object type: object certificatesSecretName: type: string clusterName: type: string targetUri: type: string validationContextName: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object sni: type: string sslFiles: properties: ocspStaple: type: string rootCa: type: string tlsCert: type: string tlsKey: type: string type: object verifySubjectAltName: items: type: string type: array type: object type: object extProc: properties: allowModeOverride: nullable: true type: boolean asyncMode: nullable: true type: boolean disableClearRouteCache: nullable: true type: boolean failureModeAllow: nullable: true type: boolean filterMetadata: type: object x-kubernetes-preserve-unknown-fields: true filterStage: properties: predicate: type: string x-kubernetes-int-or-string: true stage: type: string x-kubernetes-int-or-string: true type: object forwardRules: properties: allowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object disallowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object type: object grpcService: properties: authority: nullable: true type: string extProcServerRef: properties: name: type: string namespace: type: string type: object initialMetadata: items: properties: key: type: string value: type: string type: object type: array retryPolicy: properties: numRetries: maximum: 4294967295 minimum: 0 nullable: true type: integer retryBackOff: properties: baseInterval: type: string maxInterval: type: string type: object type: object timeout: type: string type: object maxMessageTimeout: type: string messageTimeout: type: string metadataContextNamespaces: items: type: string type: array mutationRules: properties: allowAllRouting: nullable: true type: boolean allowEnvoy: nullable: true type: boolean allowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowAll: nullable: true type: boolean disallowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowIsError: nullable: true type: boolean disallowSystem: nullable: true type: boolean type: object processingMode: properties: requestBodyMode: type: string x-kubernetes-int-or-string: true requestHeaderMode: type: string x-kubernetes-int-or-string: true requestTrailerMode: type: string x-kubernetes-int-or-string: true responseBodyMode: type: string x-kubernetes-int-or-string: true responseHeaderMode: type: string x-kubernetes-int-or-string: true responseTrailerMode: type: string x-kubernetes-int-or-string: true type: object requestAttributes: items: type: string type: array responseAttributes: items: type: string type: array statPrefix: nullable: true type: string typedMetadataContextNamespaces: items: type: string type: array type: object extProcEarly: properties: allowModeOverride: nullable: true type: boolean asyncMode: nullable: true type: boolean disableClearRouteCache: nullable: true type: boolean failureModeAllow: nullable: true type: boolean filterMetadata: type: object x-kubernetes-preserve-unknown-fields: true filterStage: properties: predicate: type: string x-kubernetes-int-or-string: true stage: type: string x-kubernetes-int-or-string: true type: object forwardRules: properties: allowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object disallowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object type: object grpcService: properties: authority: nullable: true type: string extProcServerRef: properties: name: type: string namespace: type: string type: object initialMetadata: items: properties: key: type: string value: type: string type: object type: array retryPolicy: properties: numRetries: maximum: 4294967295 minimum: 0 nullable: true type: integer retryBackOff: properties: baseInterval: type: string maxInterval: type: string type: object type: object timeout: type: string type: object maxMessageTimeout: type: string messageTimeout: type: string metadataContextNamespaces: items: type: string type: array mutationRules: properties: allowAllRouting: nullable: true type: boolean allowEnvoy: nullable: true type: boolean allowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowAll: nullable: true type: boolean disallowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowIsError: nullable: true type: boolean disallowSystem: nullable: true type: boolean type: object processingMode: properties: requestBodyMode: type: string x-kubernetes-int-or-string: true requestHeaderMode: type: string x-kubernetes-int-or-string: true requestTrailerMode: type: string x-kubernetes-int-or-string: true responseBodyMode: type: string x-kubernetes-int-or-string: true responseHeaderMode: type: string x-kubernetes-int-or-string: true responseTrailerMode: type: string x-kubernetes-int-or-string: true type: object requestAttributes: items: type: string type: array responseAttributes: items: type: string type: array statPrefix: nullable: true type: string typedMetadataContextNamespaces: items: type: string type: array type: object extProcLate: properties: allowModeOverride: nullable: true type: boolean asyncMode: nullable: true type: boolean disableClearRouteCache: nullable: true type: boolean failureModeAllow: nullable: true type: boolean filterMetadata: type: object x-kubernetes-preserve-unknown-fields: true filterStage: properties: predicate: type: string x-kubernetes-int-or-string: true stage: type: string x-kubernetes-int-or-string: true type: object forwardRules: properties: allowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object disallowedHeaders: properties: patterns: 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 regex: type: string type: object suffix: type: string type: object type: array type: object type: object grpcService: properties: authority: nullable: true type: string extProcServerRef: properties: name: type: string namespace: type: string type: object initialMetadata: items: properties: key: type: string value: type: string type: object type: array retryPolicy: properties: numRetries: maximum: 4294967295 minimum: 0 nullable: true type: integer retryBackOff: properties: baseInterval: type: string maxInterval: type: string type: object type: object timeout: type: string type: object maxMessageTimeout: type: string messageTimeout: type: string metadataContextNamespaces: items: type: string type: array mutationRules: properties: allowAllRouting: nullable: true type: boolean allowEnvoy: nullable: true type: boolean allowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowAll: nullable: true type: boolean disallowExpression: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object disallowIsError: nullable: true type: boolean disallowSystem: nullable: true type: boolean type: object processingMode: properties: requestBodyMode: type: string x-kubernetes-int-or-string: true requestHeaderMode: type: string x-kubernetes-int-or-string: true requestTrailerMode: type: string x-kubernetes-int-or-string: true responseBodyMode: type: string x-kubernetes-int-or-string: true responseHeaderMode: type: string x-kubernetes-int-or-string: true responseTrailerMode: type: string x-kubernetes-int-or-string: true type: object requestAttributes: items: type: string type: array responseAttributes: items: type: string type: array statPrefix: nullable: true type: string typedMetadataContextNamespaces: items: type: string type: array type: object extauth: properties: clearRouteCache: type: boolean extauthzServerRef: properties: name: type: string namespace: type: string type: object failureModeAllow: type: boolean grpcService: properties: authority: type: string type: object 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 response: properties: allowedClientHeaders: items: type: string type: array allowedUpstreamHeaders: items: type: string type: array allowedUpstreamHeadersToAppend: items: type: string type: array type: object type: object requestBody: properties: allowPartialMessage: type: boolean maxRequestBytes: maximum: 4294967295 minimum: 0 type: integer packAsBytes: type: boolean type: object requestTimeout: type: string statPrefix: type: string statusOnError: maximum: 4294967295 minimum: 0 type: integer transportApiVersion: type: string x-kubernetes-int-or-string: true userIdHeader: type: string type: object extensions: properties: configs: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object 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 protoDescriptor: type: string protoDescriptorBin: format: byte type: string protoDescriptorConfigMap: properties: configMapRef: properties: name: type: string namespace: type: string type: object key: type: string type: object services: items: type: string type: array type: object grpcWeb: properties: disable: type: boolean type: object 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 headerValidationSettings: properties: disableHttp1MethodValidation: maxProperties: 0 type: object type: object healthCheck: properties: path: type: string type: object httpConnectionManagerSettings: properties: acceptHttp10: nullable: true type: boolean allowChunkedLength: nullable: true type: boolean appendXForwardedPort: nullable: true type: boolean codecType: type: string x-kubernetes-int-or-string: true defaultHostForHttp10: nullable: true type: string delayedCloseTimeout: type: string drainTimeout: type: string earlyHeaderManipulation: properties: headersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object headerSecretRef: properties: name: type: string namespace: type: string type: object type: object type: array headersToRemove: items: type: string type: array type: object 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 idleTimeout: type: string internalAddressConfig: properties: cidrRanges: items: properties: addressPrefix: type: string prefixLen: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object type: array unixSockets: nullable: true type: boolean type: object 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 skipXffAppend: nullable: true type: boolean streamIdleTimeout: type: string stripAnyHostPort: nullable: true type: boolean tracing: properties: datadogConfig: properties: clusterName: type: string collectorHostname: type: string collectorUpstreamRef: properties: name: type: string namespace: type: string type: object remoteConfig: properties: disabled: nullable: true type: boolean pollingInterval: type: string type: object serviceName: nullable: true type: string type: object environmentVariablesForTags: items: properties: defaultValue: nullable: true type: string name: nullable: true type: string tag: nullable: true type: string type: object type: array literalsForTags: items: properties: tag: nullable: true type: string value: nullable: true type: string type: object type: array metadataForTags: items: properties: defaultValue: type: string kind: type: string x-kubernetes-int-or-string: true tag: type: string value: properties: key: type: string namespace: type: string nestedFieldDelimiter: type: string type: object type: object type: array openCensusConfig: properties: grpcAddress: properties: statPrefix: type: string targetUri: type: string type: object 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 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 rateLimitingSampler: properties: qps: format: int64 type: integer x-kubernetes-int-or-string: true type: object type: object type: object openTelemetryConfig: properties: clusterName: type: string collectorUpstreamRef: properties: name: type: string namespace: type: string type: object grpcService: properties: authority: type: string type: object maxCacheSize: maximum: 4294967295 minimum: 0 nullable: true type: integer serviceName: type: string type: object requestHeadersForTags: items: nullable: true type: string type: array spawnUpstreamSpan: type: boolean tracePercentages: properties: clientSamplePercentage: nullable: true type: number overallSamplePercentage: nullable: true type: number randomSamplePercentage: nullable: true type: number type: object 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 sharedSpanContext: nullable: true type: boolean traceId128bit: nullable: true type: boolean type: object type: object upgrades: items: properties: connect: properties: enabled: nullable: true type: boolean type: object connectTerminate: properties: enabled: nullable: true type: boolean type: object websocket: properties: enabled: nullable: true type: boolean type: object type: object type: array useRemoteAddress: nullable: true type: boolean uuidRequestIdConfig: properties: packTraceReason: nullable: true type: boolean useRequestIdForTraceSampling: nullable: true type: boolean type: object via: nullable: true type: string xffNumTrustedHops: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object httpLocalRatelimit: properties: defaultLimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object enableXRatelimitHeaders: nullable: true type: boolean localRateLimitPerDownstreamConnection: nullable: true type: boolean type: object leftmostXffAddress: nullable: true type: boolean networkLocalRatelimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object 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 ratelimitServer: properties: denyOnFail: type: boolean enableXRatelimitHeaders: type: boolean grpcService: properties: authority: type: string type: object rateLimitBeforeAuth: type: boolean ratelimitServerRef: properties: name: type: string namespace: type: string type: object requestTimeout: type: string type: object router: properties: dynamicStats: nullable: true type: boolean suppressEnvoyHeaders: nullable: true type: boolean type: object sanitizeClusterHeader: nullable: true type: boolean statefulSession: properties: cookieBased: properties: cookie: properties: name: type: string path: type: string ttl: type: string type: object type: object headerBased: properties: headerName: type: string type: object strict: type: boolean type: object tap: properties: maxBufferedRxBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer maxBufferedTxBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer recordDownstreamConnection: nullable: true type: boolean recordHeadersReceivedTime: nullable: true type: boolean sinks: items: properties: grpcService: properties: tapServer: properties: name: type: string namespace: type: string type: object type: object httpService: properties: tapServer: properties: name: type: string namespace: type: string type: object timeout: type: string type: object type: object type: array type: object waf: properties: auditLogging: properties: action: type: string x-kubernetes-int-or-string: true location: type: string x-kubernetes-int-or-string: true type: object configMapRuleSets: items: properties: configMapRef: properties: name: type: string namespace: type: string type: object dataMapKeys: items: type: string type: array type: object type: array coreRuleSet: properties: customSettingsFile: type: string customSettingsString: type: string type: object 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 type: array type: object 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 image: type: string name: type: string rootId: type: string vmType: type: string x-kubernetes-int-or-string: true type: object type: array type: object type: object 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 type: array type: object virtualServiceNamespaces: items: type: string type: array virtualServiceSelector: additionalProperties: type: string type: object virtualServices: items: properties: name: type: string namespace: type: string type: object type: array type: object matcher: properties: passthroughCipherSuites: items: type: string type: array sourcePrefixRanges: items: properties: addressPrefix: type: string prefixLen: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object type: array sslConfig: properties: alpnProtocols: items: type: string type: array disableTlsSessionResumption: nullable: true type: boolean ocspStaplePolicy: type: string x-kubernetes-int-or-string: true 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 sds: properties: callCredentials: properties: fileCredentialSource: properties: header: type: string tokenFileName: type: string type: object type: object certificatesSecretName: type: string clusterName: type: string targetUri: type: string validationContextName: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object sniDomains: items: type: string type: array sslFiles: properties: ocspStaple: type: string rootCa: type: string tlsCert: type: string tlsKey: type: string type: object transportSocketConnectTimeout: type: string verifySubjectAltName: items: type: string type: array type: object type: object tcpGateway: properties: options: properties: connectionLimit: properties: delayBeforeClose: type: string maxActiveConnections: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object localRatelimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object tcpProxySettings: properties: accessLogFlushInterval: type: string idleTimeout: type: string maxConnectAttempts: maximum: 4294967295 minimum: 0 nullable: true type: integer tunnelingConfig: properties: headersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object type: object type: array hostname: type: string type: object type: object type: object tcpHosts: items: properties: destination: properties: forwardSniClusterName: maxProperties: 0 type: object multi: properties: destinations: items: properties: destination: properties: consul: properties: dataCenters: items: type: string type: array serviceName: type: string tags: items: type: string type: array type: object destinationSpec: properties: aws: properties: invocationStyle: type: string x-kubernetes-int-or-string: true logicalName: type: string requestTransformation: type: boolean responseTransformation: type: boolean unwrapAsAlb: type: boolean unwrapAsApiGateway: type: boolean wrapAsApiGateway: type: boolean type: object azure: properties: functionName: type: string type: object grpc: properties: function: type: string package: type: string parameters: properties: headers: additionalProperties: type: string type: object path: nullable: true type: string type: object service: type: string type: object rest: properties: functionName: type: string parameters: properties: headers: additionalProperties: type: string type: object path: nullable: true type: string type: object responseTransformation: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object type: object type: object kube: properties: port: maximum: 4294967295 minimum: 0 type: integer ref: properties: name: type: string namespace: type: string type: object type: object subset: properties: values: additionalProperties: type: string type: object type: object upstream: properties: name: type: string namespace: type: string type: object type: object options: properties: bufferPerRoute: properties: buffer: properties: maxRequestBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object disabled: type: boolean type: object 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 regex: type: string type: object suffix: type: string type: object type: array filterEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string type: object type: object extauth: properties: configRef: properties: name: type: string namespace: type: string type: object customAuth: properties: contextExtensions: additionalProperties: type: string type: object name: type: string type: object disable: type: boolean type: object extensions: properties: configs: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object headerManipulation: properties: requestHeadersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object headerSecretRef: properties: name: type: string namespace: type: string type: object type: object type: array requestHeadersToRemove: items: type: string type: array responseHeadersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object type: object type: array responseHeadersToRemove: items: type: string type: array type: object stagedTransformations: properties: early: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean connectMatcher: type: object exact: type: string headers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object 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 type: array regex: type: string type: object requestTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array responseTransforms: items: properties: matchers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object type: array responseCodeDetails: type: string responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array type: object escapeCharacters: nullable: true type: boolean inheritTransformation: type: boolean logRequestResponseInfo: nullable: true type: boolean postRouting: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean connectMatcher: type: object exact: type: string headers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object 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 type: array regex: type: string type: object requestTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array responseTransforms: items: properties: matchers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object type: array responseCodeDetails: type: string responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array type: object regular: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean connectMatcher: type: object exact: type: string headers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object 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 type: array regex: type: string type: object requestTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array responseTransforms: items: properties: matchers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object type: array responseCodeDetails: type: string responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array type: object type: object transformations: properties: clearRouteCache: type: boolean requestTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: object weight: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object type: array type: object single: properties: consul: properties: dataCenters: items: type: string type: array serviceName: type: string tags: items: type: string type: array type: object destinationSpec: properties: aws: properties: invocationStyle: type: string x-kubernetes-int-or-string: true logicalName: type: string requestTransformation: type: boolean responseTransformation: type: boolean unwrapAsAlb: type: boolean unwrapAsApiGateway: type: boolean wrapAsApiGateway: type: boolean type: object azure: properties: functionName: type: string type: object grpc: properties: function: type: string package: type: string parameters: properties: headers: additionalProperties: type: string type: object path: nullable: true type: string type: object service: type: string type: object rest: properties: functionName: type: string parameters: properties: headers: additionalProperties: type: string type: object path: nullable: true type: string type: object responseTransformation: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object type: object type: object kube: properties: port: maximum: 4294967295 minimum: 0 type: integer ref: properties: name: type: string namespace: type: string type: object type: object subset: properties: values: additionalProperties: type: string type: object type: object upstream: properties: name: type: string namespace: type: string type: object type: object upstreamGroup: properties: name: type: string namespace: type: string type: object type: object name: type: string sslConfig: properties: alpnProtocols: items: type: string type: array disableTlsSessionResumption: nullable: true type: boolean ocspStaplePolicy: type: string x-kubernetes-int-or-string: true 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 sds: properties: callCredentials: properties: fileCredentialSource: properties: header: type: string tokenFileName: type: string type: object type: object certificatesSecretName: type: string clusterName: type: string targetUri: type: string validationContextName: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object sniDomains: items: type: string type: array sslFiles: properties: ocspStaple: type: string rootCa: type: string tlsCert: type: string tlsKey: type: string type: object transportSocketConnectTimeout: type: string verifySubjectAltName: items: type: string type: array type: object type: object type: array type: object type: object type: array type: object namespacedStatuses: properties: statuses: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object 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 filter: properties: andFilter: type: object x-kubernetes-preserve-unknown-fields: true durationFilter: properties: comparison: properties: op: type: string x-kubernetes-int-or-string: true value: properties: defaultValue: maximum: 4294967295 minimum: 0 type: integer runtimeKey: type: string type: object type: object type: object grpcStatusFilter: properties: exclude: type: boolean statuses: items: type: string x-kubernetes-int-or-string: true type: array type: object headerFilter: properties: header: properties: exactMatch: type: string invertMatch: type: boolean name: type: string prefixMatch: type: string presentMatch: type: boolean rangeMatch: properties: end: format: int64 type: integer x-kubernetes-int-or-string: true start: format: int64 type: integer x-kubernetes-int-or-string: true type: object safeRegexMatch: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object suffixMatch: type: string type: object type: object notHealthCheckFilter: type: object orFilter: type: object x-kubernetes-preserve-unknown-fields: true responseFlagFilter: properties: flags: items: type: string type: array type: object runtimeFilter: properties: percentSampled: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string useIndependentRandomness: type: boolean type: object statusCodeFilter: properties: comparison: properties: op: type: string x-kubernetes-int-or-string: true value: properties: defaultValue: maximum: 4294967295 minimum: 0 type: integer runtimeKey: type: string type: object type: object type: object traceableFilter: type: object type: object grpcService: properties: additionalRequestHeadersToLog: items: type: string type: array additionalResponseHeadersToLog: items: type: string type: array additionalResponseTrailersToLog: items: type: string type: array filterStateObjectsToLog: items: type: string type: array logName: type: string staticClusterName: type: string type: object openTelemetryService: properties: attributes: properties: values: items: properties: key: type: string value: type: object x-kubernetes-preserve-unknown-fields: true type: object type: array type: object body: type: object x-kubernetes-preserve-unknown-fields: true collector: properties: authority: type: string endpoint: type: string headers: additionalProperties: type: string type: object insecure: type: boolean sslConfig: properties: allowRenegotiation: nullable: true type: boolean alpnProtocols: items: type: string type: array 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 sds: properties: callCredentials: properties: fileCredentialSource: properties: header: type: string tokenFileName: type: string type: object type: object certificatesSecretName: type: string clusterName: type: string targetUri: type: string validationContextName: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object sni: type: string sslFiles: properties: ocspStaple: type: string rootCa: type: string tlsCert: type: string tlsKey: type: string type: object verifySubjectAltName: items: type: string type: array type: object timeout: type: string type: object disableBuiltinLabels: type: boolean filterStateObjectsToLog: items: type: string type: array logName: type: string type: object type: object type: array type: object connectionBalanceConfig: properties: exactBalance: type: object type: object extensions: properties: configs: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object listenerAccessLoggingService: properties: accessLog: items: properties: fileSink: properties: jsonFormat: type: object x-kubernetes-preserve-unknown-fields: true path: type: string stringFormat: type: string type: object filter: properties: andFilter: type: object x-kubernetes-preserve-unknown-fields: true durationFilter: properties: comparison: properties: op: type: string x-kubernetes-int-or-string: true value: properties: defaultValue: maximum: 4294967295 minimum: 0 type: integer runtimeKey: type: string type: object type: object type: object grpcStatusFilter: properties: exclude: type: boolean statuses: items: type: string x-kubernetes-int-or-string: true type: array type: object headerFilter: properties: header: properties: exactMatch: type: string invertMatch: type: boolean name: type: string prefixMatch: type: string presentMatch: type: boolean rangeMatch: properties: end: format: int64 type: integer x-kubernetes-int-or-string: true start: format: int64 type: integer x-kubernetes-int-or-string: true type: object safeRegexMatch: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object suffixMatch: type: string type: object type: object notHealthCheckFilter: type: object orFilter: type: object x-kubernetes-preserve-unknown-fields: true responseFlagFilter: properties: flags: items: type: string type: array type: object runtimeFilter: properties: percentSampled: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string useIndependentRandomness: type: boolean type: object statusCodeFilter: properties: comparison: properties: op: type: string x-kubernetes-int-or-string: true value: properties: defaultValue: maximum: 4294967295 minimum: 0 type: integer runtimeKey: type: string type: object type: object type: object traceableFilter: type: object type: object grpcService: properties: additionalRequestHeadersToLog: items: type: string type: array additionalResponseHeadersToLog: items: type: string type: array additionalResponseTrailersToLog: items: type: string type: array filterStateObjectsToLog: items: type: string type: array logName: type: string staticClusterName: type: string type: object openTelemetryService: properties: attributes: properties: values: items: properties: key: type: string value: type: object x-kubernetes-preserve-unknown-fields: true type: object type: array type: object body: type: object x-kubernetes-preserve-unknown-fields: true collector: properties: authority: type: string endpoint: type: string headers: additionalProperties: type: string type: object insecure: type: boolean sslConfig: properties: allowRenegotiation: nullable: true type: boolean alpnProtocols: items: type: string type: array 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 sds: properties: callCredentials: properties: fileCredentialSource: properties: header: type: string tokenFileName: type: string type: object type: object certificatesSecretName: type: string clusterName: type: string targetUri: type: string validationContextName: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object sni: type: string sslFiles: properties: ocspStaple: type: string rootCa: type: string tlsCert: type: string tlsKey: type: string type: object verifySubjectAltName: items: type: string type: array type: object timeout: type: string type: object disableBuiltinLabels: type: boolean filterStateObjectsToLog: items: type: string type: array logName: type: string type: object type: object type: array type: object 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 tlvType: maximum: 4294967295 minimum: 0 type: integer type: object type: array type: object 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 type: array tcpStats: nullable: true type: boolean type: object proxyNames: items: type: string type: array routeOptions: properties: maxDirectResponseBodySizeBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer mostSpecificHeaderMutationsWins: nullable: true type: boolean type: object ssl: type: boolean tcpGateway: properties: options: properties: connectionLimit: properties: delayBeforeClose: type: string maxActiveConnections: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object localRatelimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object tcpProxySettings: properties: accessLogFlushInterval: type: string idleTimeout: type: string maxConnectAttempts: maximum: 4294967295 minimum: 0 nullable: true type: integer tunnelingConfig: properties: headersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object type: object type: array hostname: type: string type: object type: object type: object tcpHosts: items: properties: destination: properties: forwardSniClusterName: maxProperties: 0 type: object multi: properties: destinations: items: properties: destination: properties: consul: properties: dataCenters: items: type: string type: array serviceName: type: string tags: items: type: string type: array type: object destinationSpec: properties: aws: properties: invocationStyle: type: string x-kubernetes-int-or-string: true logicalName: type: string requestTransformation: type: boolean responseTransformation: type: boolean unwrapAsAlb: type: boolean unwrapAsApiGateway: type: boolean wrapAsApiGateway: type: boolean type: object azure: properties: functionName: type: string type: object grpc: properties: function: type: string package: type: string parameters: properties: headers: additionalProperties: type: string type: object path: nullable: true type: string type: object service: type: string type: object rest: properties: functionName: type: string parameters: properties: headers: additionalProperties: type: string type: object path: nullable: true type: string type: object responseTransformation: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object type: object type: object kube: properties: port: maximum: 4294967295 minimum: 0 type: integer ref: properties: name: type: string namespace: type: string type: object type: object subset: properties: values: additionalProperties: type: string type: object type: object upstream: properties: name: type: string namespace: type: string type: object type: object options: properties: bufferPerRoute: properties: buffer: properties: maxRequestBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object disabled: type: boolean type: object 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 regex: type: string type: object suffix: type: string type: object type: array filterEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string type: object shadowEnabled: properties: defaultValue: properties: denominator: type: string x-kubernetes-int-or-string: true numerator: maximum: 4294967295 minimum: 0 type: integer type: object runtimeKey: type: string type: object type: object extauth: properties: configRef: properties: name: type: string namespace: type: string type: object customAuth: properties: contextExtensions: additionalProperties: type: string type: object name: type: string type: object disable: type: boolean type: object extensions: properties: configs: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object headerManipulation: properties: requestHeadersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object headerSecretRef: properties: name: type: string namespace: type: string type: object type: object type: array requestHeadersToRemove: items: type: string type: array responseHeadersToAdd: items: properties: append: nullable: true type: boolean header: properties: key: type: string value: type: string type: object type: object type: array responseHeadersToRemove: items: type: string type: array type: object stagedTransformations: properties: early: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean connectMatcher: type: object exact: type: string headers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object 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 type: array regex: type: string type: object requestTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array responseTransforms: items: properties: matchers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object type: array responseCodeDetails: type: string responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array type: object escapeCharacters: nullable: true type: boolean inheritTransformation: type: boolean logRequestResponseInfo: nullable: true type: boolean postRouting: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean connectMatcher: type: object exact: type: string headers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object 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 type: array regex: type: string type: object requestTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array responseTransforms: items: properties: matchers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object type: array responseCodeDetails: type: string responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array type: object regular: properties: requestTransforms: items: properties: clearRouteCache: type: boolean matcher: properties: caseSensitive: nullable: true type: boolean connectMatcher: type: object exact: type: string headers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object 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 type: array regex: type: string type: object requestTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array responseTransforms: items: properties: matchers: items: properties: invertMatch: type: boolean name: type: string regex: type: boolean value: type: string type: object type: array responseCodeDetails: type: string responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: array type: object type: object transformations: properties: clearRouteCache: type: boolean requestTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object responseTransformation: properties: headerBodyTransform: properties: addRequestMetadata: type: boolean type: object logRequestResponseInfo: type: boolean transformationTemplate: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: nullable: true type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object xsltTransformation: properties: nonXmlTransform: type: boolean setContentType: type: string xslt: type: string type: object type: object type: object type: object weight: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object type: array type: object single: properties: consul: properties: dataCenters: items: type: string type: array serviceName: type: string tags: items: type: string type: array type: object destinationSpec: properties: aws: properties: invocationStyle: type: string x-kubernetes-int-or-string: true logicalName: type: string requestTransformation: type: boolean responseTransformation: type: boolean unwrapAsAlb: type: boolean unwrapAsApiGateway: type: boolean wrapAsApiGateway: type: boolean type: object azure: properties: functionName: type: string type: object grpc: properties: function: type: string package: type: string parameters: properties: headers: additionalProperties: type: string type: object path: nullable: true type: string type: object service: type: string type: object rest: properties: functionName: type: string parameters: properties: headers: additionalProperties: type: string type: object path: nullable: true type: string type: object responseTransformation: properties: advancedTemplates: type: boolean body: properties: text: type: string type: object dynamicMetadataValues: items: properties: jsonToProto: type: boolean key: type: string metadataNamespace: type: string value: properties: text: type: string type: object type: object type: array escapeCharacters: type: boolean extractors: additionalProperties: properties: body: maxProperties: 0 type: object header: type: string mode: type: string x-kubernetes-int-or-string: true regex: type: string replacementText: nullable: true type: string subgroup: maximum: 4294967295 minimum: 0 type: integer type: object type: object headers: additionalProperties: properties: text: type: string type: object type: object headersToAppend: items: properties: key: type: string value: properties: text: type: string type: object type: object type: array headersToRemove: items: type: string type: array ignoreErrorOnParse: type: boolean mergeExtractorsToBody: type: object mergeJsonKeys: properties: jsonKeys: additionalProperties: properties: overrideEmpty: type: boolean tmpl: properties: text: type: string type: object type: object type: object type: object parseBodyBehavior: type: string x-kubernetes-int-or-string: true passthrough: type: object spanTransformer: properties: name: properties: text: type: string type: object type: object type: object type: object type: object kube: properties: port: maximum: 4294967295 minimum: 0 type: integer ref: properties: name: type: string namespace: type: string type: object type: object subset: properties: values: additionalProperties: type: string type: object type: object upstream: properties: name: type: string namespace: type: string type: object type: object upstreamGroup: properties: name: type: string namespace: type: string type: object type: object name: type: string sslConfig: properties: alpnProtocols: items: type: string type: array disableTlsSessionResumption: nullable: true type: boolean ocspStaplePolicy: type: string x-kubernetes-int-or-string: true 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 sds: properties: callCredentials: properties: fileCredentialSource: properties: header: type: string tokenFileName: type: string type: object type: object certificatesSecretName: type: string clusterName: type: string targetUri: type: string validationContextName: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object sniDomains: items: type: string type: array sslFiles: properties: ocspStaple: type: string rootCa: type: string tlsCert: type: string tlsKey: type: string type: object transportSocketConnectTimeout: type: string verifySubjectAltName: items: type: string type: array type: object type: object type: array type: object useProxyProto: nullable: true type: boolean type: object status: default: {} properties: statuses: default: {} type: object x-kubernetes-preserve-unknown-fields: true type: object x-kubernetes-preserve-unknown-fields: true type: object served: true storage: true status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []