transformation.proto

Package: transformation.options.gloo.solo.io

Types:

Source File: github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto

ResponseMatch

"matchers": []matchers.core.gloo.solo.io.HeaderMatcher
"responseCodeDetails": string
"responseTransformation": .transformation.options.gloo.solo.io.Transformation

Field Type Description
matchers []matchers.core.gloo.solo.io.HeaderMatcher Response headers to match on.
responseCodeDetails string Response code detail to match on. To see the response code details for your usecase, you can use the envoy access log %RESPONSE_CODE_DETAILS% formatter to log it.
responseTransformation .transformation.options.gloo.solo.io.Transformation Transformation to apply on the response.

RequestMatch

"matcher": .matchers.core.gloo.solo.io.Matcher
"clearRouteCache": bool
"requestTransformation": .transformation.options.gloo.solo.io.Transformation
"responseTransformation": .transformation.options.gloo.solo.io.Transformation

Field Type Description
matcher .matchers.core.gloo.solo.io.Matcher Matches on the request properties.
clearRouteCache bool Should we clear the route cache if a transformation was matched.
requestTransformation .transformation.options.gloo.solo.io.Transformation Transformation to apply on the request.
responseTransformation .transformation.options.gloo.solo.io.Transformation Transformation to apply on the response.

Transformations

"requestTransformation": .transformation.options.gloo.solo.io.Transformation
"clearRouteCache": bool
"responseTransformation": .transformation.options.gloo.solo.io.Transformation

Field Type Description
requestTransformation .transformation.options.gloo.solo.io.Transformation Apply a transformation to requests.
clearRouteCache bool Clear the route cache if the request transformation was applied.
responseTransformation .transformation.options.gloo.solo.io.Transformation Apply a transformation to responses.

RequestResponseTransformations

"requestTransforms": []transformation.options.gloo.solo.io.RequestMatch
"responseTransforms": []transformation.options.gloo.solo.io.ResponseMatch

Field Type Description
requestTransforms []transformation.options.gloo.solo.io.RequestMatch Transformations to apply on the request. The first request that matches will apply.
responseTransforms []transformation.options.gloo.solo.io.ResponseMatch Transformations to apply on the response. This field is only consulted if there is no response transformation in the matched request_transforms. i.e. Only one response transformation will be executed. The first response transformation that matches will apply.

TransformationStages

"early": .transformation.options.gloo.solo.io.RequestResponseTransformations
"regular": .transformation.options.gloo.solo.io.RequestResponseTransformations
"inheritTransformation": bool

Field Type Description
early .transformation.options.gloo.solo.io.RequestResponseTransformations Early transformations happen before most other options (Like Auth and Rate Limit).
regular .transformation.options.gloo.solo.io.RequestResponseTransformations Regular transformations happen after Auth and Rate limit decisions has been made.
inheritTransformation bool Inherit transformation config from parent. This has no affect on VirtualHost level transformations. If a RouteTable or Route wants to inherit transformations from it’s parent RouteTable or VirtualHost, this should be set to true, else transformations from parents will not be inherited. Transformations are ordered so the child’s transformation gets priority, so in the case where a child and parent’s transformation matchers are the same, only the child’s transformation will run because only one transformation will run per stage. Defaults to false.

Transformation

User-facing API for transformation.

"transformationTemplate": .envoy.api.v2.filter.http.TransformationTemplate
"headerBodyTransform": .envoy.api.v2.filter.http.HeaderBodyTransform
"xsltTransformation": .envoy.config.transformer.xslt.v2.XsltTransformation

Field Type Description
transformationTemplate .envoy.api.v2.filter.http.TransformationTemplate Apply transformation templates. Only one of transformationTemplate, headerBodyTransform, or xsltTransformation can be set.
headerBodyTransform .envoy.api.v2.filter.http.HeaderBodyTransform This type of transformation will make all the headers available in the response body. The resulting JSON body will consist of two attributes: ‘headers’, containing the headers, and ‘body’, containing the original body. Only one of headerBodyTransform, transformationTemplate, or xsltTransformation can be set.
xsltTransformation .envoy.config.transformer.xslt.v2.XsltTransformation (Enterprise Only): Xslt Transformation. Only one of xsltTransformation, transformationTemplate, or headerBodyTransform can be set.