# CRD validation schema generated by solo-kit. DO NOT EDIT. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: upstreams.gloo.solo.io spec: group: gloo.solo.io names: categories: - gloo-gateway kind: Upstream listKind: UpstreamList plural: upstreams shortNames: - us - gus singular: upstream scope: Namespaced versions: - name: v1 schema: openAPIV3Schema: properties: spec: properties: ai: properties: anthropic: properties: authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string version: type: string type: object 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 customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object deploymentName: type: string endpoint: type: string type: object bedrock: properties: credentialProvider: properties: inline: properties: accessKeyId: type: string secretAccessKey: type: string sessionToken: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string region: type: string type: object gemini: properties: apiVersion: type: string authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string type: object mistral: properties: authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string type: object multi: properties: priorities: items: properties: pool: items: properties: anthropic: properties: authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string version: type: string type: object 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 customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object deploymentName: type: string endpoint: type: string type: object bedrock: properties: credentialProvider: properties: inline: properties: accessKeyId: type: string secretAccessKey: type: string sessionToken: type: string type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string region: type: string type: object gemini: properties: apiVersion: type: string authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string type: object mistral: properties: authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: 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 customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string type: object vertexAi: properties: apiVersion: type: string authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object jsonSchema: type: string x-kubernetes-int-or-string: true location: type: string model: type: string modelPath: type: string projectId: type: string publisher: type: string x-kubernetes-int-or-string: true type: object type: object type: array type: object type: array type: object openai: properties: authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object model: type: string type: object vertexAi: properties: apiVersion: type: string authToken: properties: inline: type: string passthrough: type: object secretRef: properties: name: type: string namespace: type: string type: object type: object customHost: properties: host: type: string hostname: nullable: true type: string pathOverride: properties: basePath: type: string fullPath: type: string type: object port: maximum: 4294967295 minimum: 0 type: integer type: object jsonSchema: type: string x-kubernetes-int-or-string: true location: type: string model: type: string modelPath: type: string projectId: type: string publisher: type: string x-kubernetes-int-or-string: true type: object type: object aws: properties: awsAccountId: type: string destinationOverrides: 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 disableRoleChaining: type: boolean lambdaFunctions: items: properties: lambdaFunctionName: type: string logicalName: type: string qualifier: type: string type: object type: array region: type: string roleArn: type: string secretRef: properties: name: type: string namespace: type: string type: object type: object awsEc2: properties: filters: items: properties: key: type: string kvPair: properties: key: type: string value: type: string type: object type: object type: array port: maximum: 4294967295 minimum: 0 type: integer publicIp: type: boolean region: type: string roleArn: type: string secretRef: properties: name: type: string namespace: type: string type: object type: object azure: properties: functionAppName: type: string functions: items: properties: authLevel: type: string x-kubernetes-int-or-string: true functionName: type: string type: object type: array secretRef: properties: name: type: string namespace: type: string type: object type: object 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 connectionConfig: properties: commonHttpProtocolOptions: properties: headersWithUnderscoresAction: type: string x-kubernetes-int-or-string: true idleTimeout: type: string maxHeadersCount: maximum: 4294967295 minimum: 0 type: integer maxStreamDuration: type: string type: object connectTimeout: type: string http1ProtocolOptions: properties: enableTrailers: type: boolean overrideStreamErrorOnInvalidHttpMessage: nullable: true type: boolean preserveCaseHeaderKeyFormat: type: boolean properCaseHeaderKeyFormat: type: boolean type: object maxRequestsPerConnection: maximum: 4294967295 minimum: 0 type: integer perConnectionBufferLimitBytes: maximum: 4294967295 minimum: 0 nullable: true type: integer tcpKeepalive: properties: keepaliveInterval: type: string keepaliveProbes: maximum: 4294967295 minimum: 0 type: integer keepaliveTime: type: string type: object type: object consul: properties: connectEnabled: type: boolean consistencyMode: type: string x-kubernetes-int-or-string: true dataCenters: items: type: string type: array instanceBlacklistTags: items: type: string type: array instanceTags: items: type: string type: array queryOptions: properties: useCache: nullable: true type: boolean type: object serviceName: type: string serviceSpec: properties: grpc: properties: descriptors: format: byte type: string grpcServices: items: properties: functionNames: items: type: string type: array packageName: type: string serviceName: type: string type: object type: array 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 rest: properties: swaggerInfo: properties: inline: type: string url: type: string type: object transformations: additionalProperties: 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 type: object serviceTags: items: type: string type: array subsetTags: items: type: string type: array type: object disableIstioAutoMtls: nullable: true type: boolean discoveryMetadata: properties: labels: additionalProperties: type: string type: object type: object dnsRefreshRate: type: string failover: properties: policy: properties: overprovisioningFactor: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object prioritizedLocalities: items: properties: localityEndpoints: items: properties: lbEndpoints: items: properties: address: type: string healthCheckConfig: properties: hostname: type: string method: type: string path: type: string portValue: maximum: 4294967295 minimum: 0 type: integer type: object loadBalancingWeight: maximum: 4294967295 minimum: 0 nullable: true type: integer metadata: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object port: maximum: 4294967295 minimum: 0 type: integer upstreamSslConfig: 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 type: array loadBalancingWeight: maximum: 4294967295 minimum: 0 nullable: true type: integer locality: properties: region: type: string subZone: type: string zone: type: string type: object type: object type: array type: object type: array type: object gcp: properties: audience: type: string host: type: string type: object healthChecks: items: properties: alwaysLogHealthCheckFailures: type: boolean customHealthCheck: properties: config: type: object x-kubernetes-preserve-unknown-fields: true name: type: string typedConfig: type: object x-kubernetes-preserve-unknown-fields: true type: object eventLogPath: type: string grpcHealthCheck: properties: authority: type: string initialMetadata: 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 serviceName: type: string type: object healthyEdgeInterval: type: string healthyThreshold: maximum: 4294967295 minimum: 0 nullable: true type: integer httpHealthCheck: properties: expectedStatuses: items: 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 type: array host: type: string method: type: string x-kubernetes-int-or-string: true path: type: string 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 responseAssertions: properties: noMatchHealth: type: string x-kubernetes-int-or-string: true responseMatchers: items: properties: matchHealth: type: string x-kubernetes-int-or-string: true responseMatch: properties: body: maxProperties: 0 type: object header: type: string ignoreErrorOnParse: type: boolean jsonKey: properties: path: items: properties: key: type: string type: object type: array type: object regex: type: string type: object type: object type: array type: object serviceName: type: string useHttp2: type: boolean type: object initialJitter: type: string interval: type: string intervalJitter: type: string intervalJitterPercent: maximum: 4294967295 minimum: 0 type: integer noTrafficInterval: type: string reuseConnection: nullable: true type: boolean tcpHealthCheck: properties: receive: items: properties: text: type: string type: object type: array send: properties: text: type: string type: object type: object timeout: type: string unhealthyEdgeInterval: type: string unhealthyInterval: type: string unhealthyThreshold: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object type: array httpConnectHeaders: items: properties: key: type: string value: type: string type: object type: array httpConnectSslConfig: 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 httpProxyHostname: nullable: true type: string ignoreHealthOnHostRemoval: nullable: true type: boolean initialConnectionWindowSize: maximum: 4294967295 minimum: 0 nullable: true type: integer initialStreamWindowSize: maximum: 4294967295 minimum: 0 nullable: true type: integer kube: properties: selector: additionalProperties: type: string type: object serviceName: type: string serviceNamespace: type: string servicePort: maximum: 4294967295 minimum: 0 type: integer serviceSpec: properties: grpc: properties: descriptors: format: byte type: string grpcServices: items: properties: functionNames: items: type: string type: array packageName: type: string serviceName: type: string type: object type: array 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 rest: properties: swaggerInfo: properties: inline: type: string url: type: string type: object transformations: additionalProperties: 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 type: object subsetSpec: properties: defaultSubset: properties: values: additionalProperties: type: string type: object type: object fallbackPolicy: type: string x-kubernetes-int-or-string: true selectors: items: properties: keys: items: type: string type: array singleHostPerSubset: type: boolean type: object type: array type: object type: object loadBalancerConfig: properties: closeConnectionsOnHostSetChange: type: boolean healthyPanicThreshold: nullable: true type: number leastRequest: properties: choiceCount: maximum: 4294967295 minimum: 0 type: integer slowStartConfig: properties: aggression: nullable: true type: number minWeightPercent: nullable: true type: number slowStartWindow: type: string type: object type: object localityWeightedLbConfig: maxProperties: 0 type: object maglev: type: object random: type: object ringHash: properties: ringHashConfig: properties: maximumRingSize: format: int64 type: integer x-kubernetes-int-or-string: true minimumRingSize: format: int64 type: integer x-kubernetes-int-or-string: true type: object type: object roundRobin: properties: slowStartConfig: properties: aggression: nullable: true type: number minWeightPercent: nullable: true type: number slowStartWindow: type: string type: object type: object updateMergeWindow: type: string useHostnameForHashing: nullable: true type: boolean type: object maxConcurrentStreams: maximum: 4294967295 minimum: 0 nullable: true type: integer namespacedStatuses: properties: statuses: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object type: object outlierDetection: properties: baseEjectionTime: type: string consecutive5xx: maximum: 4294967295 minimum: 0 nullable: true type: integer consecutiveGatewayFailure: maximum: 4294967295 minimum: 0 nullable: true type: integer consecutiveLocalOriginFailure: maximum: 4294967295 minimum: 0 nullable: true type: integer enforcingConsecutive5xx: maximum: 4294967295 minimum: 0 nullable: true type: integer enforcingConsecutiveGatewayFailure: maximum: 4294967295 minimum: 0 nullable: true type: integer enforcingConsecutiveLocalOriginFailure: maximum: 4294967295 minimum: 0 nullable: true type: integer enforcingLocalOriginSuccessRate: maximum: 4294967295 minimum: 0 nullable: true type: integer enforcingSuccessRate: maximum: 4294967295 minimum: 0 nullable: true type: integer interval: type: string maxEjectionPercent: maximum: 4294967295 minimum: 0 nullable: true type: integer splitExternalLocalOriginErrors: type: boolean successRateMinimumHosts: maximum: 4294967295 minimum: 0 nullable: true type: integer successRateRequestVolume: maximum: 4294967295 minimum: 0 nullable: true type: integer successRateStdevFactor: maximum: 4294967295 minimum: 0 nullable: true type: integer type: object overrideStreamErrorOnInvalidHttpMessage: nullable: true type: boolean pipe: properties: path: type: string serviceSpec: properties: grpc: properties: descriptors: format: byte type: string grpcServices: items: properties: functionNames: items: type: string type: array packageName: type: string serviceName: type: string type: object type: array 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 rest: properties: swaggerInfo: properties: inline: type: string url: type: string type: object transformations: additionalProperties: 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 type: object type: object preconnectPolicy: properties: perUpstreamPreconnectRatio: nullable: true type: number predictivePreconnectRatio: nullable: true type: number type: object protocolSelection: type: string x-kubernetes-int-or-string: true proxyProtocolVersion: nullable: true type: string respectDnsTtl: nullable: true 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 static: properties: autoSniRewrite: nullable: true type: boolean hosts: items: properties: addr: type: string healthCheckConfig: properties: method: type: string path: type: string type: object loadBalancingWeight: maximum: 4294967295 minimum: 0 nullable: true type: integer metadata: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true type: object port: maximum: 4294967295 minimum: 0 type: integer sniAddr: type: string type: object type: array serviceSpec: properties: grpc: properties: descriptors: format: byte type: string grpcServices: items: properties: functionNames: items: type: string type: array packageName: type: string serviceName: type: string type: object type: array 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 rest: properties: swaggerInfo: properties: inline: type: string url: type: string type: object transformations: additionalProperties: 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 type: object useTls: nullable: true type: boolean type: object useHttp2: 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: []