transformation

package
v1.17.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2024 License: Apache-2.0 Imports: 24 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Extraction_Mode_name = map[int32]string{
		0: "EXTRACT",
		1: "SINGLE_REPLACE",
		2: "REPLACE_ALL",
	}
	Extraction_Mode_value = map[string]int32{
		"EXTRACT":        0,
		"SINGLE_REPLACE": 1,
		"REPLACE_ALL":    2,
	}
)

Enum value maps for Extraction_Mode.

View Source
var (
	TransformationTemplate_RequestBodyParse_name = map[int32]string{
		0: "ParseAsJson",
		1: "DontParse",
	}
	TransformationTemplate_RequestBodyParse_value = map[string]int32{
		"ParseAsJson": 0,
		"DontParse":   1,
	}
)

Enum value maps for TransformationTemplate_RequestBodyParse.

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_external_envoy_extensions_transformation_transformation_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Extraction

type Extraction struct {

	// The source of the extraction
	//
	// Types that are assignable to Source:
	//
	//	*Extraction_Header
	//	*Extraction_Body
	Source isExtraction_Source `protobuf_oneof:"source"`
	// The regex field specifies the regular expression used for matching against the source content.
	//   - In EXTRACT mode, the entire source must match the regex. `subgroup` selects the n-th capturing group,
	//     which determines the part of the match that you want to extract. If the regex does not match the source,
	//     the result of the extraction will be an empty value.
	//   - In SINGLE_REPLACE mode, the regex also needs to match the entire source. `subgroup` selects the n-th capturing group
	//     that is replaced with the content of `replacement_text`. If the regex does not match the source, the result
	//     of the replacement will be the source itself.
	//   - In REPLACE_ALL mode, the regex is applied repeatedly to find all occurrences within the source that match.
	//     Each matching occurrence is replaced with the value in `replacement_text`. In this mode, the configuration is rejected
	//     if `subgroup` is set. If the regex does not match the source, the result of the replacement will be the source itself.
	Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"`
	// If your regex contains capturing groups, use this field to determine the
	// group that you want to select. Defaults to 0.
	// If set in `EXTRACT` and `SINGLE_REPLACE` modes, the subgroup represents the capturing
	// group that you want to extract or replace in the source.
	// The configuration is rejected if you set subgroup to a non-zero value when using thev `REPLACE_ALL` mode.
	Subgroup uint32 `protobuf:"varint,3,opt,name=subgroup,proto3" json:"subgroup,omitempty"`
	// The value `replacement_text` is used to format the substitution for matched sequences in
	// in an input string. This value is only legal in `SINGLE_REPLACE` and `REPLACE_ALL` modes.
	// - In `SINGLE_REPLACE` mode, the `subgroup` selects the n-th capturing group, which represents
	// the value that you want to replace with the string provided in `replacement_text`.
	// - In `REPLACE_ALL` mode, each sequence that matches the specified regex in the input is
	// replaced with the value in`replacement_text`.
	//
	//	The `replacement_text` can include special syntax, such as $1, $2, etc., to refer to
	//
	// capturing groups within the regular expression.
	//
	//	The value that is specified in `replacement_text` is treated as a string, and is passed
	//
	// to `std::regex_replace` as the replacement string.
	//
	//	For more informatino, see https://en.cppreference.com/w/cpp/regex/regex_replace.
	ReplacementText *wrappers.StringValue `protobuf:"bytes,5,opt,name=replacement_text,json=replacementText,proto3" json:"replacement_text,omitempty"`
	// The mode of operation for the extraction.
	// Defaults to EXTRACT.
	Mode Extraction_Mode `protobuf:"varint,6,opt,name=mode,proto3,enum=envoy.api.v2.filter.http.Extraction_Mode" json:"mode,omitempty"`
	// contains filtered or unexported fields
}

Extractions can be used to extract information from the request/response. The extracted information can then be referenced in template fields.

func (*Extraction) Clone added in v1.8.24

func (m *Extraction) Clone() proto.Message

Clone function

func (*Extraction) Descriptor deprecated

func (*Extraction) Descriptor() ([]byte, []int)

Deprecated: Use Extraction.ProtoReflect.Descriptor instead.

func (*Extraction) Equal

func (m *Extraction) Equal(that interface{}) bool

Equal function

func (*Extraction) GetBody

func (x *Extraction) GetBody() *empty.Empty

func (*Extraction) GetHeader

func (x *Extraction) GetHeader() string

func (*Extraction) GetMode added in v1.15.24

func (x *Extraction) GetMode() Extraction_Mode

func (*Extraction) GetRegex

func (x *Extraction) GetRegex() string

func (*Extraction) GetReplacementText added in v1.15.24

func (x *Extraction) GetReplacementText() *wrappers.StringValue

func (*Extraction) GetSource

func (m *Extraction) GetSource() isExtraction_Source

func (*Extraction) GetSubgroup

func (x *Extraction) GetSubgroup() uint32

func (*Extraction) Hash added in v1.2.13

func (m *Extraction) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Extraction) ProtoMessage

func (*Extraction) ProtoMessage()

func (*Extraction) ProtoReflect added in v1.6.0

func (x *Extraction) ProtoReflect() protoreflect.Message

func (*Extraction) Reset

func (x *Extraction) Reset()

func (*Extraction) String

func (x *Extraction) String() string

type Extraction_Body

type Extraction_Body struct {
	// Extract information from the request/response body
	Body *empty.Empty `protobuf:"bytes,4,opt,name=body,proto3,oneof"`
}

type Extraction_Header

type Extraction_Header struct {
	// Extract information from headers
	Header string `protobuf:"bytes,1,opt,name=header,proto3,oneof"`
}

type Extraction_Mode added in v1.15.24

type Extraction_Mode int32

The mode of operation for the extraction.

const (
	// Default mode. Extract the content of a specified capturing group. In this mode,
	// `subgroup` selects the n-th capturing group, which represents the value that
	// you want to extract.
	Extraction_EXTRACT Extraction_Mode = 0
	// Replace the content of a specified capturing group. In this mode, `subgroup` selects the
	// n-th capturing group, which represents the value that you want to replace with
	// the string provided in `replacement_text`.
	// Note: `replacement_text` must be set for this mode.
	Extraction_SINGLE_REPLACE Extraction_Mode = 1
	// Replace all regex matches with the value provided in `replacement_text`.
	// Note: `replacement_text` must be set for this mode.
	// Note: The configuration fails if `subgroup` is set to a non-zero value.
	// Note: restrictions on the regex are different for this mode. See the regex field for more details.
	Extraction_REPLACE_ALL Extraction_Mode = 2
)

func (Extraction_Mode) Descriptor added in v1.15.24

func (Extraction_Mode) Enum added in v1.15.24

func (x Extraction_Mode) Enum() *Extraction_Mode

func (Extraction_Mode) EnumDescriptor deprecated added in v1.15.24

func (Extraction_Mode) EnumDescriptor() ([]byte, []int)

Deprecated: Use Extraction_Mode.Descriptor instead.

func (Extraction_Mode) Number added in v1.15.24

func (Extraction_Mode) String added in v1.15.24

func (x Extraction_Mode) String() string

func (Extraction_Mode) Type added in v1.15.24

type FilterTransformations

type FilterTransformations struct {

	// Specifies transformations based on the route matches. The first matched
	// transformation will be applied. If there are overlapped match conditions,
	// please put the most specific match first.
	Transformations []*TransformationRule `protobuf:"bytes,1,rep,name=transformations,proto3" json:"transformations,omitempty"`
	// Only RouteTransformations.RouteTransformation with matching stage will be
	// used with this filter.
	Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"`
	// Logs request/response sensitive information
	// By default, this is false so no request or response sensitive information is logged.
	// If set to true, the filter will log the request/response body and headers before and
	// after any transformation is applied.
	LogRequestResponseInfo bool `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*FilterTransformations) Clone added in v1.8.24

func (m *FilterTransformations) Clone() proto.Message

Clone function

func (*FilterTransformations) Descriptor deprecated

func (*FilterTransformations) Descriptor() ([]byte, []int)

Deprecated: Use FilterTransformations.ProtoReflect.Descriptor instead.

func (*FilterTransformations) Equal

func (m *FilterTransformations) Equal(that interface{}) bool

Equal function

func (*FilterTransformations) GetLogRequestResponseInfo added in v1.14.8

func (x *FilterTransformations) GetLogRequestResponseInfo() bool

func (*FilterTransformations) GetStage added in v1.4.6

func (x *FilterTransformations) GetStage() uint32

func (*FilterTransformations) GetTransformations

func (x *FilterTransformations) GetTransformations() []*TransformationRule

func (*FilterTransformations) Hash added in v1.2.13

func (m *FilterTransformations) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*FilterTransformations) ProtoMessage

func (*FilterTransformations) ProtoMessage()

func (*FilterTransformations) ProtoReflect added in v1.6.0

func (x *FilterTransformations) ProtoReflect() protoreflect.Message

func (*FilterTransformations) Reset

func (x *FilterTransformations) Reset()

func (*FilterTransformations) String

func (x *FilterTransformations) String() string

type HeaderBodyTransform

type HeaderBodyTransform struct {

	// When transforming a request, setting this to true will additionally add "queryString",
	// "queryStringParameters", "multiValueQueryStringParameters", "httpMethod", "path",
	// and "multiValueHeaders" to the body
	AddRequestMetadata bool `protobuf:"varint,1,opt,name=add_request_metadata,json=addRequestMetadata,proto3" json:"add_request_metadata,omitempty"`
	// contains filtered or unexported fields
}

func (*HeaderBodyTransform) Clone added in v1.8.24

func (m *HeaderBodyTransform) Clone() proto.Message

Clone function

func (*HeaderBodyTransform) Descriptor deprecated

func (*HeaderBodyTransform) Descriptor() ([]byte, []int)

Deprecated: Use HeaderBodyTransform.ProtoReflect.Descriptor instead.

func (*HeaderBodyTransform) Equal

func (m *HeaderBodyTransform) Equal(that interface{}) bool

Equal function

func (*HeaderBodyTransform) GetAddRequestMetadata added in v1.9.25

func (x *HeaderBodyTransform) GetAddRequestMetadata() bool

func (*HeaderBodyTransform) Hash added in v1.2.13

func (m *HeaderBodyTransform) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*HeaderBodyTransform) ProtoMessage

func (*HeaderBodyTransform) ProtoMessage()

func (*HeaderBodyTransform) ProtoReflect added in v1.6.0

func (x *HeaderBodyTransform) ProtoReflect() protoreflect.Message

func (*HeaderBodyTransform) Reset

func (x *HeaderBodyTransform) Reset()

func (*HeaderBodyTransform) String

func (x *HeaderBodyTransform) String() string

type InjaTemplate

type InjaTemplate struct {
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// contains filtered or unexported fields
}

Defines an [Inja template](https://github.com/pantor/inja) that will be rendered by Gloo. In addition to the core template functions, the Gloo transformation filter defines the following custom functions: - header(header_name): returns the value of the header with the given name. - extraction(extractor_name): returns the value of the extractor with the given name. - env(env_var_name): returns the value of the environment variable with the given name. - body(): returns the request/response body. - context(): returns the base JSON context (allowing for example to range on a JSON body that is an array). - request_header(header_name): returns the value of the request header with the given name. Use this option when you want to include request header values in response transformations. - base64_encode(string): encodes the input string to base64. - base64_decode(string): decodes the input string from base64. - substring(string, start_pos, substring_len): returns a substring of the input string, starting at `start_pos` and extending for `substring_len` characters. If no `substring_len` is provided or `substring_len` is <= 0, the substring extends to the end of the input string.

func (*InjaTemplate) Clone added in v1.8.24

func (m *InjaTemplate) Clone() proto.Message

Clone function

func (*InjaTemplate) Descriptor deprecated

func (*InjaTemplate) Descriptor() ([]byte, []int)

Deprecated: Use InjaTemplate.ProtoReflect.Descriptor instead.

func (*InjaTemplate) Equal

func (m *InjaTemplate) Equal(that interface{}) bool

Equal function

func (*InjaTemplate) GetText

func (x *InjaTemplate) GetText() string

func (*InjaTemplate) Hash added in v1.2.13

func (m *InjaTemplate) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*InjaTemplate) ProtoMessage

func (*InjaTemplate) ProtoMessage()

func (*InjaTemplate) ProtoReflect added in v1.6.0

func (x *InjaTemplate) ProtoReflect() protoreflect.Message

func (*InjaTemplate) Reset

func (x *InjaTemplate) Reset()

func (*InjaTemplate) String

func (x *InjaTemplate) String() string

type MergeExtractorsToBody

type MergeExtractorsToBody struct {
	// contains filtered or unexported fields
}

func (*MergeExtractorsToBody) Clone added in v1.8.24

func (m *MergeExtractorsToBody) Clone() proto.Message

Clone function

func (*MergeExtractorsToBody) Descriptor deprecated

func (*MergeExtractorsToBody) Descriptor() ([]byte, []int)

Deprecated: Use MergeExtractorsToBody.ProtoReflect.Descriptor instead.

func (*MergeExtractorsToBody) Equal

func (m *MergeExtractorsToBody) Equal(that interface{}) bool

Equal function

func (*MergeExtractorsToBody) Hash added in v1.2.13

func (m *MergeExtractorsToBody) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*MergeExtractorsToBody) ProtoMessage

func (*MergeExtractorsToBody) ProtoMessage()

func (*MergeExtractorsToBody) ProtoReflect added in v1.6.0

func (x *MergeExtractorsToBody) ProtoReflect() protoreflect.Message

func (*MergeExtractorsToBody) Reset

func (x *MergeExtractorsToBody) Reset()

func (*MergeExtractorsToBody) String

func (x *MergeExtractorsToBody) String() string

type Passthrough

type Passthrough struct {
	// contains filtered or unexported fields
}

func (*Passthrough) Clone added in v1.8.24

func (m *Passthrough) Clone() proto.Message

Clone function

func (*Passthrough) Descriptor deprecated

func (*Passthrough) Descriptor() ([]byte, []int)

Deprecated: Use Passthrough.ProtoReflect.Descriptor instead.

func (*Passthrough) Equal

func (m *Passthrough) Equal(that interface{}) bool

Equal function

func (*Passthrough) Hash added in v1.2.13

func (m *Passthrough) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Passthrough) ProtoMessage

func (*Passthrough) ProtoMessage()

func (*Passthrough) ProtoReflect added in v1.6.0

func (x *Passthrough) ProtoReflect() protoreflect.Message

func (*Passthrough) Reset

func (x *Passthrough) Reset()

func (*Passthrough) String

func (x *Passthrough) String() string

type ResponseMatcher added in v1.4.6

type ResponseMatcher struct {

	// Specifies a set of headers that the route should match on. The router will
	// check the response headers against all the specified headers in the route
	// config. A match will happen if all the headers in the route are present in
	// the request with the same values (or based on presence if the value field
	// is not in the config).
	Headers []*v3.HeaderMatcher `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
	// Only match responses with non empty response code details (this usually
	// implies a local reply).
	ResponseCodeDetails *v31.StringMatcher `protobuf:"bytes,2,opt,name=response_code_details,json=responseCodeDetails,proto3" json:"response_code_details,omitempty"`
	// contains filtered or unexported fields
}

func (*ResponseMatcher) Clone added in v1.8.24

func (m *ResponseMatcher) Clone() proto.Message

Clone function

func (*ResponseMatcher) Descriptor deprecated added in v1.4.6

func (*ResponseMatcher) Descriptor() ([]byte, []int)

Deprecated: Use ResponseMatcher.ProtoReflect.Descriptor instead.

func (*ResponseMatcher) Equal added in v1.4.6

func (m *ResponseMatcher) Equal(that interface{}) bool

Equal function

func (*ResponseMatcher) GetHeaders added in v1.4.6

func (x *ResponseMatcher) GetHeaders() []*v3.HeaderMatcher

func (*ResponseMatcher) GetResponseCodeDetails added in v1.4.6

func (x *ResponseMatcher) GetResponseCodeDetails() *v31.StringMatcher

func (*ResponseMatcher) Hash added in v1.6.0

func (m *ResponseMatcher) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ResponseMatcher) ProtoMessage added in v1.4.6

func (*ResponseMatcher) ProtoMessage()

func (*ResponseMatcher) ProtoReflect added in v1.6.0

func (x *ResponseMatcher) ProtoReflect() protoreflect.Message

func (*ResponseMatcher) Reset added in v1.4.6

func (x *ResponseMatcher) Reset()

func (*ResponseMatcher) String added in v1.4.6

func (x *ResponseMatcher) String() string

type ResponseTransformationRule added in v1.4.6

type ResponseTransformationRule struct {
	Match *ResponseMatcher `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
	// transformation to perform
	ResponseTransformation *Transformation `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ResponseTransformationRule) Clone added in v1.8.24

Clone function

func (*ResponseTransformationRule) Descriptor deprecated added in v1.4.6

func (*ResponseTransformationRule) Descriptor() ([]byte, []int)

Deprecated: Use ResponseTransformationRule.ProtoReflect.Descriptor instead.

func (*ResponseTransformationRule) Equal added in v1.4.6

func (m *ResponseTransformationRule) Equal(that interface{}) bool

Equal function

func (*ResponseTransformationRule) GetMatch added in v1.4.6

func (*ResponseTransformationRule) GetResponseTransformation added in v1.4.6

func (x *ResponseTransformationRule) GetResponseTransformation() *Transformation

func (*ResponseTransformationRule) Hash added in v1.6.0

func (m *ResponseTransformationRule) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*ResponseTransformationRule) ProtoMessage added in v1.4.6

func (*ResponseTransformationRule) ProtoMessage()

func (*ResponseTransformationRule) ProtoReflect added in v1.6.0

func (*ResponseTransformationRule) Reset added in v1.4.6

func (x *ResponseTransformationRule) Reset()

func (*ResponseTransformationRule) String added in v1.4.6

func (x *ResponseTransformationRule) String() string

type RouteTransformations

type RouteTransformations struct {

	// deprecated. Use transformations[].request_match.request_transformation
	// instead.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.
	RequestTransformation *Transformation `protobuf:"bytes,1,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"`
	// deprecated. Use transformations[].request_match.response_transformation
	// instead.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.
	ResponseTransformation *Transformation `` /* 127-byte string literal not displayed */
	// deprecated. Use transformations[].request_match.clear_route_cache instead.
	//
	// Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.
	ClearRouteCache bool                                        `protobuf:"varint,3,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"`
	Transformations []*RouteTransformations_RouteTransformation `protobuf:"bytes,4,rep,name=transformations,proto3" json:"transformations,omitempty"`
	// contains filtered or unexported fields
}

func (*RouteTransformations) Clone added in v1.8.24

func (m *RouteTransformations) Clone() proto.Message

Clone function

func (*RouteTransformations) Descriptor deprecated

func (*RouteTransformations) Descriptor() ([]byte, []int)

Deprecated: Use RouteTransformations.ProtoReflect.Descriptor instead.

func (*RouteTransformations) Equal

func (m *RouteTransformations) Equal(that interface{}) bool

Equal function

func (*RouteTransformations) GetClearRouteCache deprecated

func (x *RouteTransformations) GetClearRouteCache() bool

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.

func (*RouteTransformations) GetRequestTransformation deprecated

func (x *RouteTransformations) GetRequestTransformation() *Transformation

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.

func (*RouteTransformations) GetResponseTransformation deprecated

func (x *RouteTransformations) GetResponseTransformation() *Transformation

Deprecated: Marked as deprecated in github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.

func (*RouteTransformations) GetTransformations added in v1.4.6

func (*RouteTransformations) Hash added in v1.2.13

func (m *RouteTransformations) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*RouteTransformations) ProtoMessage

func (*RouteTransformations) ProtoMessage()

func (*RouteTransformations) ProtoReflect added in v1.6.0

func (x *RouteTransformations) ProtoReflect() protoreflect.Message

func (*RouteTransformations) Reset

func (x *RouteTransformations) Reset()

func (*RouteTransformations) String

func (x *RouteTransformations) String() string

type RouteTransformations_RouteTransformation added in v1.4.6

type RouteTransformations_RouteTransformation struct {

	// Stage number. This transformation will only be processed by filters with
	// the same stage number.
	Stage uint32 `protobuf:"varint,1,opt,name=stage,proto3" json:"stage,omitempty"`
	// Types that are assignable to Match:
	//
	//	*RouteTransformations_RouteTransformation_RequestMatch_
	//	*RouteTransformations_RouteTransformation_ResponseMatch_
	Match isRouteTransformations_RouteTransformation_Match `protobuf_oneof:"match"`
	// contains filtered or unexported fields
}

func (*RouteTransformations_RouteTransformation) Clone added in v1.8.24

Clone function

func (*RouteTransformations_RouteTransformation) Descriptor deprecated added in v1.4.6

func (*RouteTransformations_RouteTransformation) Descriptor() ([]byte, []int)

Deprecated: Use RouteTransformations_RouteTransformation.ProtoReflect.Descriptor instead.

func (*RouteTransformations_RouteTransformation) Equal added in v1.4.6

func (m *RouteTransformations_RouteTransformation) Equal(that interface{}) bool

Equal function

func (*RouteTransformations_RouteTransformation) GetMatch added in v1.4.6

func (m *RouteTransformations_RouteTransformation) GetMatch() isRouteTransformations_RouteTransformation_Match

func (*RouteTransformations_RouteTransformation) GetRequestMatch added in v1.4.6

func (*RouteTransformations_RouteTransformation) GetResponseMatch added in v1.4.6

func (*RouteTransformations_RouteTransformation) GetStage added in v1.4.6

func (*RouteTransformations_RouteTransformation) Hash added in v1.6.0

Hash function

func (*RouteTransformations_RouteTransformation) ProtoMessage added in v1.4.6

func (*RouteTransformations_RouteTransformation) ProtoReflect added in v1.6.0

func (*RouteTransformations_RouteTransformation) Reset added in v1.4.6

func (*RouteTransformations_RouteTransformation) String added in v1.4.6

type RouteTransformations_RouteTransformation_RequestMatch added in v1.4.6

type RouteTransformations_RouteTransformation_RequestMatch struct {

	// if no match is specified, will match all
	Match *v3.RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
	// transformation to perform
	RequestTransformation  *Transformation `protobuf:"bytes,2,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"`
	ResponseTransformation *Transformation `` /* 127-byte string literal not displayed */
	// clear the route cache if the request transformation was applied
	ClearRouteCache bool `protobuf:"varint,4,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"`
	// contains filtered or unexported fields
}

func (*RouteTransformations_RouteTransformation_RequestMatch) Clone added in v1.8.24

Clone function

func (*RouteTransformations_RouteTransformation_RequestMatch) Descriptor deprecated added in v1.4.6

Deprecated: Use RouteTransformations_RouteTransformation_RequestMatch.ProtoReflect.Descriptor instead.

func (*RouteTransformations_RouteTransformation_RequestMatch) Equal added in v1.4.6

Equal function

func (*RouteTransformations_RouteTransformation_RequestMatch) GetClearRouteCache added in v1.4.6

func (*RouteTransformations_RouteTransformation_RequestMatch) GetMatch added in v1.4.6

func (*RouteTransformations_RouteTransformation_RequestMatch) GetRequestTransformation added in v1.4.6

func (*RouteTransformations_RouteTransformation_RequestMatch) GetResponseTransformation added in v1.4.6

func (*RouteTransformations_RouteTransformation_RequestMatch) Hash added in v1.6.0

Hash function

func (*RouteTransformations_RouteTransformation_RequestMatch) ProtoMessage added in v1.4.6

func (*RouteTransformations_RouteTransformation_RequestMatch) ProtoReflect added in v1.6.0

func (*RouteTransformations_RouteTransformation_RequestMatch) Reset added in v1.4.6

func (*RouteTransformations_RouteTransformation_RequestMatch) String added in v1.4.6

type RouteTransformations_RouteTransformation_RequestMatch_ added in v1.4.6

type RouteTransformations_RouteTransformation_RequestMatch_ struct {
	RequestMatch *RouteTransformations_RouteTransformation_RequestMatch `protobuf:"bytes,2,opt,name=request_match,json=requestMatch,proto3,oneof"`
}

type RouteTransformations_RouteTransformation_ResponseMatch added in v1.4.6

type RouteTransformations_RouteTransformation_ResponseMatch struct {
	Match *ResponseMatcher `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
	// transformation to perform
	ResponseTransformation *Transformation `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RouteTransformations_RouteTransformation_ResponseMatch) Clone added in v1.8.24

Clone function

func (*RouteTransformations_RouteTransformation_ResponseMatch) Descriptor deprecated added in v1.4.6

Deprecated: Use RouteTransformations_RouteTransformation_ResponseMatch.ProtoReflect.Descriptor instead.

func (*RouteTransformations_RouteTransformation_ResponseMatch) Equal added in v1.4.6

Equal function

func (*RouteTransformations_RouteTransformation_ResponseMatch) GetMatch added in v1.4.6

func (*RouteTransformations_RouteTransformation_ResponseMatch) GetResponseTransformation added in v1.4.6

func (*RouteTransformations_RouteTransformation_ResponseMatch) Hash added in v1.6.0

Hash function

func (*RouteTransformations_RouteTransformation_ResponseMatch) ProtoMessage added in v1.4.6

func (*RouteTransformations_RouteTransformation_ResponseMatch) ProtoReflect added in v1.6.0

func (*RouteTransformations_RouteTransformation_ResponseMatch) Reset added in v1.4.6

func (*RouteTransformations_RouteTransformation_ResponseMatch) String added in v1.4.6

type RouteTransformations_RouteTransformation_ResponseMatch_ added in v1.4.6

type RouteTransformations_RouteTransformation_ResponseMatch_ struct {
	ResponseMatch *RouteTransformations_RouteTransformation_ResponseMatch `protobuf:"bytes,3,opt,name=response_match,json=responseMatch,proto3,oneof"`
}

type Transformation

type Transformation struct {

	// The type of transformation to apply.
	//
	// Types that are assignable to TransformationType:
	//
	//	*Transformation_TransformationTemplate
	//	*Transformation_HeaderBodyTransform
	//	*Transformation_TransformerConfig
	TransformationType isTransformation_TransformationType `protobuf_oneof:"transformation_type"`
	// Logs request/response sensitive information
	// By default, this is false so no request or response sensitive information is logged.
	// If set to true, the filter will log the request/response body and headers before and
	// after this transformation is applied.
	LogRequestResponseInfo *wrappers.BoolValue `` /* 131-byte string literal not displayed */
	// contains filtered or unexported fields
}

This message defines a transformation. This proto is for envoy filter config, not user-facing API.

func (*Transformation) Clone added in v1.8.24

func (m *Transformation) Clone() proto.Message

Clone function

func (*Transformation) Descriptor deprecated

func (*Transformation) Descriptor() ([]byte, []int)

Deprecated: Use Transformation.ProtoReflect.Descriptor instead.

func (*Transformation) Equal

func (m *Transformation) Equal(that interface{}) bool

Equal function

func (*Transformation) GetHeaderBodyTransform

func (x *Transformation) GetHeaderBodyTransform() *HeaderBodyTransform

func (*Transformation) GetLogRequestResponseInfo added in v1.14.8

func (x *Transformation) GetLogRequestResponseInfo() *wrappers.BoolValue

func (*Transformation) GetTransformationTemplate

func (x *Transformation) GetTransformationTemplate() *TransformationTemplate

func (*Transformation) GetTransformationType

func (m *Transformation) GetTransformationType() isTransformation_TransformationType

func (*Transformation) GetTransformerConfig added in v1.7.7

func (x *Transformation) GetTransformerConfig() *v32.TypedExtensionConfig

func (*Transformation) Hash added in v1.2.13

func (m *Transformation) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*Transformation) ProtoMessage

func (*Transformation) ProtoMessage()

func (*Transformation) ProtoReflect added in v1.6.0

func (x *Transformation) ProtoReflect() protoreflect.Message

func (*Transformation) Reset

func (x *Transformation) Reset()

func (*Transformation) String

func (x *Transformation) String() string

type TransformationRule

type TransformationRule struct {

	// The route matching parameter. Only when the match is satisfied, the
	// "requires" field will apply.
	//
	// For example: following match will match all requests.
	//
	// .. code-block:: yaml
	//
	//	match:
	//	  prefix: /
	Match *v3.RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
	// transformation to perform
	RouteTransformations *TransformationRule_Transformations `protobuf:"bytes,2,opt,name=route_transformations,json=routeTransformations,proto3" json:"route_transformations,omitempty"`
	// contains filtered or unexported fields
}

func (*TransformationRule) Clone added in v1.8.24

func (m *TransformationRule) Clone() proto.Message

Clone function

func (*TransformationRule) Descriptor deprecated

func (*TransformationRule) Descriptor() ([]byte, []int)

Deprecated: Use TransformationRule.ProtoReflect.Descriptor instead.

func (*TransformationRule) Equal

func (m *TransformationRule) Equal(that interface{}) bool

Equal function

func (*TransformationRule) GetMatch

func (x *TransformationRule) GetMatch() *v3.RouteMatch

func (*TransformationRule) GetRouteTransformations

func (x *TransformationRule) GetRouteTransformations() *TransformationRule_Transformations

func (*TransformationRule) Hash added in v1.2.13

func (m *TransformationRule) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*TransformationRule) ProtoMessage

func (*TransformationRule) ProtoMessage()

func (*TransformationRule) ProtoReflect added in v1.6.0

func (x *TransformationRule) ProtoReflect() protoreflect.Message

func (*TransformationRule) Reset

func (x *TransformationRule) Reset()

func (*TransformationRule) String

func (x *TransformationRule) String() string

type TransformationRule_Transformations added in v1.4.6

type TransformationRule_Transformations struct {

	// Apply a transformation to requests.
	RequestTransformation *Transformation `protobuf:"bytes,1,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"`
	// Clear the route cache if the request transformation was applied.
	ClearRouteCache bool `protobuf:"varint,3,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"`
	// Apply a transformation to responses.
	ResponseTransformation *Transformation `` /* 127-byte string literal not displayed */
	// Apply a transformation in the onStreamComplete callback
	// (for modifying headers and dynamic metadata for access logs)
	OnStreamCompletionTransformation *Transformation `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*TransformationRule_Transformations) Clone added in v1.8.24

Clone function

func (*TransformationRule_Transformations) Descriptor deprecated added in v1.4.6

func (*TransformationRule_Transformations) Descriptor() ([]byte, []int)

Deprecated: Use TransformationRule_Transformations.ProtoReflect.Descriptor instead.

func (*TransformationRule_Transformations) Equal added in v1.4.6

func (m *TransformationRule_Transformations) Equal(that interface{}) bool

Equal function

func (*TransformationRule_Transformations) GetClearRouteCache added in v1.4.6

func (x *TransformationRule_Transformations) GetClearRouteCache() bool

func (*TransformationRule_Transformations) GetOnStreamCompletionTransformation added in v1.7.7

func (x *TransformationRule_Transformations) GetOnStreamCompletionTransformation() *Transformation

func (*TransformationRule_Transformations) GetRequestTransformation added in v1.4.6

func (x *TransformationRule_Transformations) GetRequestTransformation() *Transformation

func (*TransformationRule_Transformations) GetResponseTransformation added in v1.4.6

func (x *TransformationRule_Transformations) GetResponseTransformation() *Transformation

func (*TransformationRule_Transformations) Hash added in v1.6.0

Hash function

func (*TransformationRule_Transformations) ProtoMessage added in v1.4.6

func (*TransformationRule_Transformations) ProtoMessage()

func (*TransformationRule_Transformations) ProtoReflect added in v1.6.0

func (*TransformationRule_Transformations) Reset added in v1.4.6

func (*TransformationRule_Transformations) String added in v1.4.6

type TransformationTemplate

type TransformationTemplate struct {

	// If set to true, use JSON pointer notation (e.g. "time/start") instead of
	// dot notation (e.g. "time.start") to access JSON elements. Defaults to
	// false.
	//
	// Please note that, if set to 'true', you will need to use the `extraction`
	// function to access extractors in the template (e.g. '{{
	// extraction("my_extractor") }}'); if the default value of 'false' is used,
	// extractors will simply be available by their name (e.g. '{{ my_extractor
	// }}').
	AdvancedTemplates bool `protobuf:"varint,1,opt,name=advanced_templates,json=advancedTemplates,proto3" json:"advanced_templates,omitempty"`
	// Use this attribute to extract information from the request. It consists of
	// a map of strings to extractors. The extractor will defines which
	// information will be extracted, while the string key will provide the
	// extractor with a name. You can reference extractors by their name in
	// templates, e.g. "{{ my-extractor }}" will render to the value of the
	// "my-extractor" extractor.
	Extractors map[string]*Extraction `` /* 161-byte string literal not displayed */
	// Use this attribute to transform request/response headers. It consists of a
	// map of strings to templates. The string key determines the name of the
	// resulting header, the rendered template will determine the value. Any existing
	// headers with the same header name will be replaced by the transformed header.
	// If a header name is included in `headers` and `headers_to_append`, it will first
	// be replaced the template in `headers`, then additional header values will be appended
	// by the templates defined in `headers_to_append`.
	// For example, the following header transformation configuration:
	//
	// “`yaml
	//
	//	headers:
	//	  x-header-one: {"text": "first {{inja}} template"}
	//	  x-header-one: {"text": "second {{inja}} template"}
	//	headersToAppend:
	//	  - key: x-header-one
	//	    value: {"text": "first appended {{inja}} template"}
	//	  - key: x-header-one
	//	    value: {"text": "second appended {{inja}} template"}
	//
	// “`
	// will result in the following headers on the HTTP message:
	//
	// “`
	// x-header-one: first inja template
	// x-header-one: first appended inja template
	// x-header-one: second appended inja template
	// “`
	Headers map[string]*InjaTemplate `` /* 155-byte string literal not displayed */
	// Use this attribute to transform request/response headers. It consists of
	// an array of string/template objects. Use this attribute to define multiple
	// templates for a single header. Header template(s) defined here will be appended to any
	// existing headers with the same header name, not replace existing ones.
	// See `headers` documentation to see an example of usage.
	HeadersToAppend []*TransformationTemplate_HeaderToAppend `protobuf:"bytes,10,rep,name=headers_to_append,json=headersToAppend,proto3" json:"headers_to_append,omitempty"`
	// Attribute to remove headers from requests. If a header is present multiple
	// times, all instances of the header will be removed.
	HeadersToRemove []string `protobuf:"bytes,11,rep,name=headers_to_remove,json=headersToRemove,proto3" json:"headers_to_remove,omitempty"`
	// Determines the type of transformation to apply to the request/response body
	//
	// Types that are assignable to BodyTransformation:
	//
	//	*TransformationTemplate_Body
	//	*TransformationTemplate_Passthrough
	//	*TransformationTemplate_MergeExtractorsToBody
	BodyTransformation isTransformationTemplate_BodyTransformation `protobuf_oneof:"body_transformation"`
	// Determines how the body will be parsed. Defaults to ParseAsJson
	ParseBodyBehavior TransformationTemplate_RequestBodyParse `` /* 185-byte string literal not displayed */
	// If set to true, Envoy will not throw an exception in case the body parsing
	// fails.
	IgnoreErrorOnParse bool `protobuf:"varint,8,opt,name=ignore_error_on_parse,json=ignoreErrorOnParse,proto3" json:"ignore_error_on_parse,omitempty"`
	// Use this field to set Dynamic Metadata.
	DynamicMetadataValues []*TransformationTemplate_DynamicMetadataValue `` /* 126-byte string literal not displayed */
	// Use this field to set Inja behavior when rendering strings which contain
	// characters that would need to be escaped to be valid JSON. Note that this
	// sets the behavior for the entire transformation. Use raw_strings function
	// for fine-grained control within a template.
	EscapeCharacters bool `protobuf:"varint,12,opt,name=escape_characters,json=escapeCharacters,proto3" json:"escape_characters,omitempty"`
	// contains filtered or unexported fields
}

Defines a transformation template.

func (*TransformationTemplate) Clone added in v1.8.24

Clone function

func (*TransformationTemplate) Descriptor deprecated

func (*TransformationTemplate) Descriptor() ([]byte, []int)

Deprecated: Use TransformationTemplate.ProtoReflect.Descriptor instead.

func (*TransformationTemplate) Equal

func (m *TransformationTemplate) Equal(that interface{}) bool

Equal function

func (*TransformationTemplate) GetAdvancedTemplates

func (x *TransformationTemplate) GetAdvancedTemplates() bool

func (*TransformationTemplate) GetBody

func (x *TransformationTemplate) GetBody() *InjaTemplate

func (*TransformationTemplate) GetBodyTransformation

func (m *TransformationTemplate) GetBodyTransformation() isTransformationTemplate_BodyTransformation

func (*TransformationTemplate) GetDynamicMetadataValues

func (*TransformationTemplate) GetEscapeCharacters added in v1.15.0

func (x *TransformationTemplate) GetEscapeCharacters() bool

func (*TransformationTemplate) GetExtractors

func (x *TransformationTemplate) GetExtractors() map[string]*Extraction

func (*TransformationTemplate) GetHeaders

func (x *TransformationTemplate) GetHeaders() map[string]*InjaTemplate

func (*TransformationTemplate) GetHeadersToAppend added in v1.6.0

func (*TransformationTemplate) GetHeadersToRemove added in v1.9.25

func (x *TransformationTemplate) GetHeadersToRemove() []string

func (*TransformationTemplate) GetIgnoreErrorOnParse

func (x *TransformationTemplate) GetIgnoreErrorOnParse() bool

func (*TransformationTemplate) GetMergeExtractorsToBody

func (x *TransformationTemplate) GetMergeExtractorsToBody() *MergeExtractorsToBody

func (*TransformationTemplate) GetParseBodyBehavior

func (*TransformationTemplate) GetPassthrough

func (x *TransformationTemplate) GetPassthrough() *Passthrough

func (*TransformationTemplate) Hash added in v1.2.13

func (m *TransformationTemplate) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*TransformationTemplate) ProtoMessage

func (*TransformationTemplate) ProtoMessage()

func (*TransformationTemplate) ProtoReflect added in v1.6.0

func (x *TransformationTemplate) ProtoReflect() protoreflect.Message

func (*TransformationTemplate) Reset

func (x *TransformationTemplate) Reset()

func (*TransformationTemplate) String

func (x *TransformationTemplate) String() string

type TransformationTemplate_Body

type TransformationTemplate_Body struct {
	// Apply a template to the body
	Body *InjaTemplate `protobuf:"bytes,4,opt,name=body,proto3,oneof"`
}

type TransformationTemplate_DynamicMetadataValue

type TransformationTemplate_DynamicMetadataValue struct {

	// The metadata namespace. Defaults to the filter namespace.
	MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"`
	// The metadata key.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// A template that determines the metadata value.
	Value *InjaTemplate `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	// Instruct the filter to parse the rendered value as a proto Struct message
	// before setting it as the metadata value.
	JsonToProto bool `protobuf:"varint,4,opt,name=json_to_proto,json=jsonToProto,proto3" json:"json_to_proto,omitempty"`
	// contains filtered or unexported fields
}

Defines an [Envoy Dynamic Metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata) entry.

func (*TransformationTemplate_DynamicMetadataValue) Clone added in v1.8.24

Clone function

func (*TransformationTemplate_DynamicMetadataValue) Descriptor deprecated

Deprecated: Use TransformationTemplate_DynamicMetadataValue.ProtoReflect.Descriptor instead.

func (*TransformationTemplate_DynamicMetadataValue) Equal

func (m *TransformationTemplate_DynamicMetadataValue) Equal(that interface{}) bool

Equal function

func (*TransformationTemplate_DynamicMetadataValue) GetJsonToProto added in v1.17.0

func (*TransformationTemplate_DynamicMetadataValue) GetKey

func (*TransformationTemplate_DynamicMetadataValue) GetMetadataNamespace

func (x *TransformationTemplate_DynamicMetadataValue) GetMetadataNamespace() string

func (*TransformationTemplate_DynamicMetadataValue) GetValue

func (*TransformationTemplate_DynamicMetadataValue) Hash added in v1.2.13

Hash function

func (*TransformationTemplate_DynamicMetadataValue) ProtoMessage

func (*TransformationTemplate_DynamicMetadataValue) ProtoReflect added in v1.6.0

func (*TransformationTemplate_DynamicMetadataValue) Reset

func (*TransformationTemplate_DynamicMetadataValue) String

type TransformationTemplate_HeaderToAppend added in v1.6.0

type TransformationTemplate_HeaderToAppend struct {

	// Header name
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Apply a template to the header value
	Value *InjaTemplate `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Defines a header-template pair to be used in `headers_to_append`

func (*TransformationTemplate_HeaderToAppend) Clone added in v1.8.24

Clone function

func (*TransformationTemplate_HeaderToAppend) Descriptor deprecated added in v1.6.0

func (*TransformationTemplate_HeaderToAppend) Descriptor() ([]byte, []int)

Deprecated: Use TransformationTemplate_HeaderToAppend.ProtoReflect.Descriptor instead.

func (*TransformationTemplate_HeaderToAppend) Equal added in v1.6.0

func (m *TransformationTemplate_HeaderToAppend) Equal(that interface{}) bool

Equal function

func (*TransformationTemplate_HeaderToAppend) GetKey added in v1.6.0

func (*TransformationTemplate_HeaderToAppend) GetValue added in v1.6.0

func (*TransformationTemplate_HeaderToAppend) Hash added in v1.6.0

Hash function

func (*TransformationTemplate_HeaderToAppend) ProtoMessage added in v1.6.0

func (*TransformationTemplate_HeaderToAppend) ProtoMessage()

func (*TransformationTemplate_HeaderToAppend) ProtoReflect added in v1.6.0

func (*TransformationTemplate_HeaderToAppend) Reset added in v1.6.0

func (*TransformationTemplate_HeaderToAppend) String added in v1.6.0

type TransformationTemplate_MergeExtractorsToBody

type TransformationTemplate_MergeExtractorsToBody struct {
	// Merge all defined extractors to the request/response body.
	// If you want to nest elements inside the body, use dot separator in the
	// extractor name.
	MergeExtractorsToBody *MergeExtractorsToBody `protobuf:"bytes,6,opt,name=merge_extractors_to_body,json=mergeExtractorsToBody,proto3,oneof"`
}

type TransformationTemplate_Passthrough

type TransformationTemplate_Passthrough struct {
	// This will cause the transformation filter not to buffer the body.
	// Use this setting if the response body is large and you don't need to
	// transform nor extract information from it.
	Passthrough *Passthrough `protobuf:"bytes,5,opt,name=passthrough,proto3,oneof"`
}

type TransformationTemplate_RequestBodyParse

type TransformationTemplate_RequestBodyParse int32

Determines how the body will be parsed.

const (
	// Will attempt to parse the request/response body as JSON
	TransformationTemplate_ParseAsJson TransformationTemplate_RequestBodyParse = 0
	// The request/response body will be treated as plain text
	TransformationTemplate_DontParse TransformationTemplate_RequestBodyParse = 1
)

func (TransformationTemplate_RequestBodyParse) Descriptor added in v1.6.0

func (TransformationTemplate_RequestBodyParse) Enum added in v1.6.0

func (TransformationTemplate_RequestBodyParse) EnumDescriptor deprecated

func (TransformationTemplate_RequestBodyParse) EnumDescriptor() ([]byte, []int)

Deprecated: Use TransformationTemplate_RequestBodyParse.Descriptor instead.

func (TransformationTemplate_RequestBodyParse) Number added in v1.6.0

func (TransformationTemplate_RequestBodyParse) String

func (TransformationTemplate_RequestBodyParse) Type added in v1.6.0

type Transformation_HeaderBodyTransform

type Transformation_HeaderBodyTransform struct {
	// 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.
	HeaderBodyTransform *HeaderBodyTransform `protobuf:"bytes,2,opt,name=header_body_transform,json=headerBodyTransform,proto3,oneof"`
}

type Transformation_TransformationTemplate

type Transformation_TransformationTemplate struct {
	// Apply transformation templates.
	TransformationTemplate *TransformationTemplate `protobuf:"bytes,1,opt,name=transformation_template,json=transformationTemplate,proto3,oneof"`
}

type Transformation_TransformerConfig added in v1.7.7

type Transformation_TransformerConfig struct {
	// Configuration for an externally implemented transformer, used by
	// envoy transformation filter.
	TransformerConfig *v32.TypedExtensionConfig `protobuf:"bytes,3,opt,name=transformer_config,json=transformerConfig,proto3,oneof"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL