# CRD validation schema generated by solo-kit. DO NOT EDIT. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: routeoptions.gateway.solo.io spec: group: gateway.solo.io names: categories: - gloo-gateway kind: RouteOption listKind: RouteOptionList plural: routeoptions shortNames: - rto - rtopts - grto scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: properties: spec: properties: namespacedStatuses: properties: statuses: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object options: properties: ai: properties: defaults: items: properties: field: type: string override: type: boolean value: x-kubernetes-preserve-unknown-fields: true type: object type: array promptEnrichment: properties: append: items: properties: content: type: string role: type: string type: object type: array prepend: items: properties: content: type: string role: type: string type: object type: array type: object promptGuard: properties: request: properties: customResponse: properties: message: type: string statusCode: maximum: 4294967295 minimum: 0 type: integer type: object moderation: properties: openai: properties: authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object model: type: string type: object type: object regex: properties: action: type: string x-kubernetes-int-or-string: true builtins: items: type: string x-kubernetes-int-or-string: true type: array matches: items: properties: name: type: string pattern: type: string type: object type: array type: object webhook: properties: forwardHeaders: items: properties: key: type: string matchType: type: string x-kubernetes-int-or-string: true type: object type: array host: type: string port: maximum: 4294967295 minimum: 0 type: integer type: object type: object response: properties: regex: properties: action: type: string x-kubernetes-int-or-string: true builtins: items: type: string x-kubernetes-int-or-string: true type: array matches: items: properties: name: type: string pattern: type: string type: object type: array type: object webhook: properties: forwardHeaders: items: properties: key: type: string matchType: type: string x-kubernetes-int-or-string: true type: object type: array host: type: string port: maximum: 4294967295 minimum: 0 type: integer type: object type: object type: object rag: properties: datastore: properties: postgres: properties: collectionName: type: string connectionString: type: string type: object type: object embedding: properties: azureOpenai: properties: apiVersion: type: string authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object deploymentName: type: string endpoint: type: string type: object openai: properties: authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object type: object type: object promptTemplate: type: string type: object routeType: type: string x-kubernetes-int-or-string: true semanticCache: properties: datastore: properties: redis: properties: connectionString: type: string scoreThreshold: type: number type: object weaviate: properties: grpcPort: maximum: 4294967295 minimum: 0 type: integer host: type: string httpPort: maximum: 4294967295 minimum: 0 type: integer insecure: type: boolean type: object type: object distanceThreshold: type: number embedding: properties: azureOpenai: properties: apiVersion: type: string authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object deploymentName: type: string endpoint: type: string type: object openai: properties: authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object type: object type: object mode: type: string x-kubernetes-int-or-string: true ttl: maximum: 4294967295 minimum: 0 type: integer type: object type: object appendXForwardedHost: nullable: true type: boolean autoHostRewrite: nullable: true type: boolean bufferPerRoute: properties: buffer: properties: maxRequestBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object disabled: type: boolean type: object cors: properties: allowCredentials: type: boolean allowHeaders: items: type: string type: array allowMethods: items: type: string type: array allowOrigin: items: type: string type: array allowOriginRegex: items: type: string type: array disableForRoute: type: boolean exposeHeaders: items: type: string type: array maxAge: type: string 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 dlp: 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 enabledFor: type: string x-kubernetes-int-or-string: true type: object envoyMetadata: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object extProc: properties: disabled: nullable: true type: boolean overrides: properties: asyncMode: nullable: true type: boolean 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 metadataContextNamespaces: items: type: string type: array 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 typedMetadataContextNamespaces: items: type: string type: array type: object type: object extProcEarly: properties: disabled: nullable: true type: boolean overrides: properties: asyncMode: nullable: true type: boolean 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 metadataContextNamespaces: items: type: string type: array 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 typedMetadataContextNamespaces: items: type: string type: array type: object type: object extProcLate: properties: disabled: nullable: true type: boolean overrides: properties: asyncMode: nullable: true type: boolean 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 metadataContextNamespaces: items: type: string type: array 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 typedMetadataContextNamespaces: items: type: string type: array 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 faults: properties: abort: properties: httpStatus: maximum: 4294967295 minimum: 0 type: integer percentage: type: number type: object delay: properties: fixedDelay: type: string percentage: type: number 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 hostRewrite: type: string hostRewriteHeader: nullable: true type: string hostRewritePathRegex: properties: pattern: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object substitution: type: string type: object idleTimeout: type: string jwt: properties: disable: type: boolean type: object jwtProvidersStaged: properties: afterExtAuth: properties: allowMissingOrFailedJwt: type: boolean providers: additionalProperties: properties: attachFailedStatusToMetadata: type: string audiences: items: type: string type: array claimsToHeaders: items: properties: append: type: boolean claim: type: string header: type: string type: object type: array clockSkewSeconds: maximum: 4294967295 minimum: 0 nullable: true type: integer issuer: type: string jwks: properties: local: properties: key: type: string type: object remote: properties: asyncFetch: properties: fastListener: type: boolean type: object cacheDuration: type: string upstreamRef: properties: name: type: string namespace: type: string type: object url: type: string type: object type: object keepToken: type: boolean tokenSource: properties: headers: items: properties: header: type: string prefix: type: string type: object type: array queryParams: items: type: string type: array type: object type: object type: object validationPolicy: type: string x-kubernetes-int-or-string: true type: object beforeExtAuth: properties: allowMissingOrFailedJwt: type: boolean providers: additionalProperties: properties: attachFailedStatusToMetadata: type: string audiences: items: type: string type: array claimsToHeaders: items: properties: append: type: boolean claim: type: string header: type: string type: object type: array clockSkewSeconds: maximum: 4294967295 minimum: 0 nullable: true type: integer issuer: type: string jwks: properties: local: properties: key: type: string type: object remote: properties: asyncFetch: properties: fastListener: type: boolean type: object cacheDuration: type: string upstreamRef: properties: name: type: string namespace: type: string type: object url: type: string type: object type: object keepToken: type: boolean tokenSource: properties: headers: items: properties: header: type: string prefix: type: string type: object type: array queryParams: items: type: string type: array type: object type: object type: object validationPolicy: type: string x-kubernetes-int-or-string: true type: object type: object jwtStaged: properties: afterExtAuth: properties: disable: type: boolean type: object beforeExtAuth: properties: disable: type: boolean type: object type: object lbHash: properties: hashPolicies: items: properties: cookie: properties: name: type: string path: type: string ttl: type: string type: object header: type: string sourceIp: type: boolean terminal: type: boolean type: object type: array type: object maxStreamDuration: properties: grpcTimeoutHeaderMax: type: string grpcTimeoutHeaderOffset: type: string maxStreamDuration: type: string type: object prefixRewrite: nullable: true type: string rateLimitConfigs: properties: refs: items: properties: name: type: string namespace: type: string type: object type: array type: object rateLimitEarlyConfigs: properties: refs: items: properties: name: type: string namespace: type: string type: object type: array type: object rateLimitRegularConfigs: properties: refs: items: properties: name: type: string namespace: type: string type: object type: array type: object ratelimit: properties: includeVhRateLimits: type: boolean localRatelimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object rateLimits: items: properties: actions: items: properties: destinationCluster: type: object genericKey: properties: descriptorValue: type: string type: object headerValueMatch: properties: descriptorValue: type: string expectMatch: nullable: true type: boolean headers: items: 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 regexMatch: type: string suffixMatch: type: string type: object type: array type: object metadata: properties: defaultValue: type: string descriptorKey: type: string metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object source: type: string x-kubernetes-int-or-string: true type: object remoteAddress: type: object requestHeaders: properties: descriptorKey: type: string headerName: type: string type: object sourceCluster: type: object type: object type: array limit: properties: dynamicMetadata: properties: metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object type: object type: object setActions: items: properties: destinationCluster: type: object genericKey: properties: descriptorValue: type: string type: object headerValueMatch: properties: descriptorValue: type: string expectMatch: nullable: true type: boolean headers: items: 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 regexMatch: type: string suffixMatch: type: string type: object type: array type: object metadata: properties: defaultValue: type: string descriptorKey: type: string metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object source: type: string x-kubernetes-int-or-string: true type: object remoteAddress: type: object requestHeaders: properties: descriptorKey: type: string headerName: type: string type: object sourceCluster: type: object type: object type: array type: object type: array type: object ratelimitBasic: properties: anonymousLimits: properties: requestsPerUnit: maximum: 4294967295 minimum: 0 type: integer unit: type: string x-kubernetes-int-or-string: true type: object authorizedLimits: properties: requestsPerUnit: maximum: 4294967295 minimum: 0 type: integer unit: type: string x-kubernetes-int-or-string: true type: object type: object ratelimitEarly: properties: includeVhRateLimits: type: boolean localRatelimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object rateLimits: items: properties: actions: items: properties: destinationCluster: type: object genericKey: properties: descriptorValue: type: string type: object headerValueMatch: properties: descriptorValue: type: string expectMatch: nullable: true type: boolean headers: items: 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 regexMatch: type: string suffixMatch: type: string type: object type: array type: object metadata: properties: defaultValue: type: string descriptorKey: type: string metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object source: type: string x-kubernetes-int-or-string: true type: object remoteAddress: type: object requestHeaders: properties: descriptorKey: type: string headerName: type: string type: object sourceCluster: type: object type: object type: array limit: properties: dynamicMetadata: properties: metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object type: object type: object setActions: items: properties: destinationCluster: type: object genericKey: properties: descriptorValue: type: string type: object headerValueMatch: properties: descriptorValue: type: string expectMatch: nullable: true type: boolean headers: items: 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 regexMatch: type: string suffixMatch: type: string type: object type: array type: object metadata: properties: defaultValue: type: string descriptorKey: type: string metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object source: type: string x-kubernetes-int-or-string: true type: object remoteAddress: type: object requestHeaders: properties: descriptorKey: type: string headerName: type: string type: object sourceCluster: type: object type: object type: array type: object type: array type: object ratelimitRegular: properties: includeVhRateLimits: type: boolean localRatelimit: properties: fillInterval: type: string maxTokens: maximum: 4294967295 minimum: 0 type: integer tokensPerFill: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object rateLimits: items: properties: actions: items: properties: destinationCluster: type: object genericKey: properties: descriptorValue: type: string type: object headerValueMatch: properties: descriptorValue: type: string expectMatch: nullable: true type: boolean headers: items: 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 regexMatch: type: string suffixMatch: type: string type: object type: array type: object metadata: properties: defaultValue: type: string descriptorKey: type: string metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object source: type: string x-kubernetes-int-or-string: true type: object remoteAddress: type: object requestHeaders: properties: descriptorKey: type: string headerName: type: string type: object sourceCluster: type: object type: object type: array limit: properties: dynamicMetadata: properties: metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object type: object type: object setActions: items: properties: destinationCluster: type: object genericKey: properties: descriptorValue: type: string type: object headerValueMatch: properties: descriptorValue: type: string expectMatch: nullable: true type: boolean headers: items: 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 regexMatch: type: string suffixMatch: type: string type: object type: array type: object metadata: properties: defaultValue: type: string descriptorKey: type: string metadataKey: properties: key: type: string path: items: properties: key: type: string type: object type: array type: object source: type: string x-kubernetes-int-or-string: true type: object remoteAddress: type: object requestHeaders: properties: descriptorKey: type: string headerName: type: string type: object sourceCluster: type: object type: object type: array type: object type: array type: object rbac: properties: disable: type: boolean policies: additionalProperties: properties: nestedClaimDelimiter: type: string permissions: properties: methods: items: type: string type: array pathPrefix: type: string type: object principals: items: properties: jwtPrincipal: properties: claims: additionalProperties: type: string type: object matcher: type: string x-kubernetes-int-or-string: true provider: type: string type: object type: object type: array type: object type: object type: object regexRewrite: properties: pattern: properties: googleRe2: properties: maxProgramSize: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object regex: type: string type: object substitution: type: string type: object retries: properties: numRetries: maximum: 4294967295 minimum: 0 type: integer perTryTimeout: type: string previousPriorities: properties: updateFrequency: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object rateLimitedRetryBackOff: properties: maxInterval: type: string resetHeaders: items: properties: format: type: string x-kubernetes-int-or-string: true name: type: string type: object type: array type: object retriableStatusCodes: items: maximum: 4294967295 minimum: 0 type: integer type: array retryBackOff: properties: baseInterval: type: string maxInterval: type: string type: object retryOn: type: string type: object shadowing: properties: percentage: type: number upstream: properties: name: type: string namespace: type: string type: object 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 timeout: type: string tracing: properties: propagate: nullable: true type: boolean routeDescriptor: type: string tracePercentages: properties: clientSamplePercentage: nullable: true type: number overallSamplePercentage: nullable: true type: number randomSamplePercentage: nullable: true type: number 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 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 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 type: object targetRefs: items: properties: group: type: string kind: type: string name: type: string namespace: nullable: true type: string type: object type: array 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: []