From 404bbe4332bc00aaf26c5abd42f7040b5ca87119 Mon Sep 17 00:00:00 2001 From: Flynn Date: Tue, 2 Jul 2024 17:12:15 -0400 Subject: [PATCH] Whoops, missed some golang filter stuff in Chainsaw part 2 Signed-off-by: Flynn --- .../filters/http/golang/v3alpha/golang.proto | 99 ---- go.mod | 6 +- pkg/ambex/main.go | 2 +- .../filters/http/golang/v3alpha/golang.pb.go | 509 ----------------- .../http/golang/v3alpha/golang.pb.validate.go | 534 ------------------ 5 files changed, 4 insertions(+), 1146 deletions(-) delete mode 100644 api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto delete mode 100644 pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.go delete mode 100644 pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.validate.go diff --git a/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto b/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto deleted file mode 100644 index ee1268a256..0000000000 --- a/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto +++ /dev/null @@ -1,99 +0,0 @@ -syntax = "proto3"; - -package envoy.extensions.filters.http.golang.v3alpha; - -import "google/protobuf/any.proto"; - -import "xds/annotations/v3/status.proto"; - -import "udpa/annotations/status.proto"; -import "validate/validate.proto"; - -option java_package = "io.envoyproxy.envoy.extensions.filters.http.golang.v3alpha"; -option java_outer_classname = "GolangProto"; -option java_multiple_files = true; -option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/golang/v3alpha"; -option (udpa.annotations.file_status).package_version_status = ACTIVE; -option (xds.annotations.v3.file_status).work_in_progress = true; - -// [#protodoc-title: Golang HTTP filter] -// -// For an overview of the Golang HTTP filter please see the :ref:`configuration reference documentation `. -// [#extension: envoy.filters.http.golang] - -// [#next-free-field: 6] -message Config { - // The meanings are as follows: - // - // :``MERGE_VIRTUALHOST_ROUTER_FILTER``: Pass all configuration into Go plugin. - // :``MERGE_VIRTUALHOST_ROUTER``: Pass merged Virtual host and Router configuration into Go plugin. - // :``OVERRIDE``: Pass merged Virtual host, Router, and plugin configuration into Go plugin. - // - // [#not-implemented-hide:] - enum MergePolicy { - MERGE_VIRTUALHOST_ROUTER_FILTER = 0; - MERGE_VIRTUALHOST_ROUTER = 1; - OVERRIDE = 3; - } - - // Globally unique ID for a dynamic library file. - string library_id = 1 [(validate.rules).string = {min_len: 1}]; - - // Path to a dynamic library implementing the - // :repo:`StreamFilter API ` - // interface. - // [#comment:TODO(wangfakang): Support for downloading libraries from remote repositories.] - string library_path = 2 [(validate.rules).string = {min_len: 1}]; - - // Globally unique name of the Go plugin. - // - // This name **must** be consistent with the name registered in ``http::RegisterHttpFilterConfigFactory``, - // and can be used to associate :ref:`route and virtualHost plugin configuration - // `. - // - string plugin_name = 3 [(validate.rules).string = {min_len: 1}]; - - // Configuration for the Go plugin. - // - // .. note:: - // This configuration is only parsed in the go plugin, and is therefore not validated - // by Envoy. - // - // See the :repo:`StreamFilter API ` - // for more information about how the plugin's configuration data can be accessed. - // - google.protobuf.Any plugin_config = 4; - - // Merge policy for plugin configuration. - // - // The Go plugin configuration supports three dimensions: - // - // * Virtual host’s :ref:`typed_per_filter_config ` - // * Route’s :ref:`typed_per_filter_config ` - // * The filter's :ref:`plugin_config ` - // - // [#not-implemented-hide:] - MergePolicy merge_policy = 5 [(validate.rules).enum = {defined_only: true}]; -} - -message RouterPlugin { - oneof override { - option (validate.required) = true; - - // [#not-implemented-hide:] - // Disable the filter for this particular vhost or route. - // If disabled is specified in multiple per-filter-configs, the most specific one will be used. - bool disabled = 1 [(validate.rules).bool = {const: true}]; - - // The config field is used for setting per-route and per-virtualhost plugin config. - google.protobuf.Any config = 2; - } -} - -message ConfigsPerRoute { - // Configuration of the Go plugin at the per-router or per-virtualhost level, - // keyed on the :ref:`plugin_name ` - // of the Go plugin. - // - map plugins_config = 1; -} diff --git a/go.mod b/go.mod index a50097ab1a..1668b7a755 100644 --- a/go.mod +++ b/go.mod @@ -82,15 +82,12 @@ replace k8s.io/code-generator => github.com/emissary-ingress/code-generator v0.2 require ( github.com/Masterminds/sprig v2.22.0+incompatible github.com/cenkalti/backoff/v4 v4.2.1 - github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 github.com/datawire/dlib v1.3.1 github.com/datawire/dtest v0.0.0-20210928162311-722b199c4c2f github.com/datawire/go-mkopensource v0.0.12-0.20230821212923-d1d8451579a1 github.com/envoyproxy/go-control-plane v0.11.1 - github.com/envoyproxy/protoc-gen-validate v1.0.2 github.com/fsnotify/fsnotify v1.7.0 github.com/go-logr/zapr v1.2.4 - github.com/golang/protobuf v1.5.3 github.com/google/uuid v1.5.0 github.com/gorilla/websocket v1.5.1 github.com/hashicorp/consul/api v1.26.1 @@ -146,11 +143,13 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chai2010/gettext-go v1.0.2 // indirect github.com/cloudflare/circl v1.3.7 // indirect + github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/docker/distribution v2.8.2+incompatible // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect + github.com/envoyproxy/protoc-gen-validate v1.0.2 // indirect github.com/evanphx/json-patch v5.7.0+incompatible // indirect github.com/evanphx/json-patch/v5 v5.6.0 // indirect github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect @@ -167,6 +166,7 @@ require ( github.com/gobuffalo/flect v1.0.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/google/btree v1.0.1 // indirect github.com/google/cel-go v0.18.1 // indirect github.com/google/gnostic-models v0.6.8 // indirect diff --git a/pkg/ambex/main.go b/pkg/ambex/main.go index c328b69177..a59acc3a80 100644 --- a/pkg/ambex/main.go +++ b/pkg/ambex/main.go @@ -73,7 +73,7 @@ import ( // Be sure to import the package of any types that're referenced with "@type" in our // generated Envoy config, even if that package is otherwise not used by ambex. - _ "github.com/emissary-ingress/emissary/v3/pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha" + _ "github.com/envoyproxy/go-control-plane/contrib/envoy/extensions/filters/http/golang/v3alpha" _ "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v3" v3bootstrap "github.com/envoyproxy/go-control-plane/envoy/config/bootstrap/v3" v3clusterconfig "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3" diff --git a/pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.go b/pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.go deleted file mode 100644 index 97ca9f0994..0000000000 --- a/pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.go +++ /dev/null @@ -1,509 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.30.0 -// protoc v4.23.1 -// source: contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto - -package v3alpha - -import ( - _ "github.com/cncf/xds/go/udpa/annotations" - _ "github.com/cncf/xds/go/xds/annotations/v3" - _ "github.com/envoyproxy/protoc-gen-validate/validate" - any1 "github.com/golang/protobuf/ptypes/any" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// The meanings are as follows: -// -// :“MERGE_VIRTUALHOST_ROUTER_FILTER“: Pass all configuration into Go plugin. -// :“MERGE_VIRTUALHOST_ROUTER“: Pass merged Virtual host and Router configuration into Go plugin. -// :“OVERRIDE“: Pass merged Virtual host, Router, and plugin configuration into Go plugin. -// -// [#not-implemented-hide:] -type Config_MergePolicy int32 - -const ( - Config_MERGE_VIRTUALHOST_ROUTER_FILTER Config_MergePolicy = 0 - Config_MERGE_VIRTUALHOST_ROUTER Config_MergePolicy = 1 - Config_OVERRIDE Config_MergePolicy = 3 -) - -// Enum value maps for Config_MergePolicy. -var ( - Config_MergePolicy_name = map[int32]string{ - 0: "MERGE_VIRTUALHOST_ROUTER_FILTER", - 1: "MERGE_VIRTUALHOST_ROUTER", - 3: "OVERRIDE", - } - Config_MergePolicy_value = map[string]int32{ - "MERGE_VIRTUALHOST_ROUTER_FILTER": 0, - "MERGE_VIRTUALHOST_ROUTER": 1, - "OVERRIDE": 3, - } -) - -func (x Config_MergePolicy) Enum() *Config_MergePolicy { - p := new(Config_MergePolicy) - *p = x - return p -} - -func (x Config_MergePolicy) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Config_MergePolicy) Descriptor() protoreflect.EnumDescriptor { - return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_enumTypes[0].Descriptor() -} - -func (Config_MergePolicy) Type() protoreflect.EnumType { - return &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_enumTypes[0] -} - -func (x Config_MergePolicy) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Config_MergePolicy.Descriptor instead. -func (Config_MergePolicy) EnumDescriptor() ([]byte, []int) { - return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP(), []int{0, 0} -} - -// [#next-free-field: 6] -type Config struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Globally unique ID for a dynamic library file. - LibraryId string `protobuf:"bytes,1,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty"` - // Path to a dynamic library implementing the - // :repo:`StreamFilter API ` - // interface. - // [#comment:TODO(wangfakang): Support for downloading libraries from remote repositories.] - LibraryPath string `protobuf:"bytes,2,opt,name=library_path,json=libraryPath,proto3" json:"library_path,omitempty"` - // Globally unique name of the Go plugin. - // - // This name **must** be consistent with the name registered in ``http::RegisterHttpFilterConfigFactory``, - // and can be used to associate :ref:`route and virtualHost plugin configuration - // `. - // - PluginName string `protobuf:"bytes,3,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` - // Configuration for the Go plugin. - // - // .. note:: - // This configuration is only parsed in the go plugin, and is therefore not validated - // by Envoy. - // - // See the :repo:`StreamFilter API ` - // for more information about how the plugin's configuration data can be accessed. - // - PluginConfig *any1.Any `protobuf:"bytes,4,opt,name=plugin_config,json=pluginConfig,proto3" json:"plugin_config,omitempty"` - // Merge policy for plugin configuration. - // - // The Go plugin configuration supports three dimensions: - // - // * Virtual host’s :ref:`typed_per_filter_config ` - // * Route’s :ref:`typed_per_filter_config ` - // * The filter's :ref:`plugin_config ` - // - // [#not-implemented-hide:] - MergePolicy Config_MergePolicy `protobuf:"varint,5,opt,name=merge_policy,json=mergePolicy,proto3,enum=envoy.extensions.filters.http.golang.v3alpha.Config_MergePolicy" json:"merge_policy,omitempty"` -} - -func (x *Config) Reset() { - *x = Config{} - if protoimpl.UnsafeEnabled { - mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Config) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Config) ProtoMessage() {} - -func (x *Config) ProtoReflect() protoreflect.Message { - mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Config.ProtoReflect.Descriptor instead. -func (*Config) Descriptor() ([]byte, []int) { - return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP(), []int{0} -} - -func (x *Config) GetLibraryId() string { - if x != nil { - return x.LibraryId - } - return "" -} - -func (x *Config) GetLibraryPath() string { - if x != nil { - return x.LibraryPath - } - return "" -} - -func (x *Config) GetPluginName() string { - if x != nil { - return x.PluginName - } - return "" -} - -func (x *Config) GetPluginConfig() *any1.Any { - if x != nil { - return x.PluginConfig - } - return nil -} - -func (x *Config) GetMergePolicy() Config_MergePolicy { - if x != nil { - return x.MergePolicy - } - return Config_MERGE_VIRTUALHOST_ROUTER_FILTER -} - -type RouterPlugin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Override: - // *RouterPlugin_Disabled - // *RouterPlugin_Config - Override isRouterPlugin_Override `protobuf_oneof:"override"` -} - -func (x *RouterPlugin) Reset() { - *x = RouterPlugin{} - if protoimpl.UnsafeEnabled { - mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RouterPlugin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RouterPlugin) ProtoMessage() {} - -func (x *RouterPlugin) ProtoReflect() protoreflect.Message { - mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RouterPlugin.ProtoReflect.Descriptor instead. -func (*RouterPlugin) Descriptor() ([]byte, []int) { - return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP(), []int{1} -} - -func (m *RouterPlugin) GetOverride() isRouterPlugin_Override { - if m != nil { - return m.Override - } - return nil -} - -func (x *RouterPlugin) GetDisabled() bool { - if x, ok := x.GetOverride().(*RouterPlugin_Disabled); ok { - return x.Disabled - } - return false -} - -func (x *RouterPlugin) GetConfig() *any1.Any { - if x, ok := x.GetOverride().(*RouterPlugin_Config); ok { - return x.Config - } - return nil -} - -type isRouterPlugin_Override interface { - isRouterPlugin_Override() -} - -type RouterPlugin_Disabled struct { - // [#not-implemented-hide:] - // Disable the filter for this particular vhost or route. - // If disabled is specified in multiple per-filter-configs, the most specific one will be used. - Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3,oneof"` -} - -type RouterPlugin_Config struct { - // The config field is used for setting per-route and per-virtualhost plugin config. - Config *any1.Any `protobuf:"bytes,2,opt,name=config,proto3,oneof"` -} - -func (*RouterPlugin_Disabled) isRouterPlugin_Override() {} - -func (*RouterPlugin_Config) isRouterPlugin_Override() {} - -type ConfigsPerRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Configuration of the Go plugin at the per-router or per-virtualhost level, - // keyed on the :ref:`plugin_name ` - // of the Go plugin. - // - PluginsConfig map[string]*RouterPlugin `protobuf:"bytes,1,rep,name=plugins_config,json=pluginsConfig,proto3" json:"plugins_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *ConfigsPerRoute) Reset() { - *x = ConfigsPerRoute{} - if protoimpl.UnsafeEnabled { - mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ConfigsPerRoute) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConfigsPerRoute) ProtoMessage() {} - -func (x *ConfigsPerRoute) ProtoReflect() protoreflect.Message { - mi := &file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConfigsPerRoute.ProtoReflect.Descriptor instead. -func (*ConfigsPerRoute) Descriptor() ([]byte, []int) { - return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP(), []int{2} -} - -func (x *ConfigsPerRoute) GetPluginsConfig() map[string]*RouterPlugin { - if x != nil { - return x.PluginsConfig - } - return nil -} - -var File_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto protoreflect.FileDescriptor - -var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDesc = []byte{ - 0x0a, 0x41, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x76, - 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, - 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x78, 0x64, - 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x33, - 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, - 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x26, 0x0a, 0x0a, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x6c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x0c, 0x6c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, - 0x0a, 0x0d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0c, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 0x0a, 0x0c, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x40, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, - 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5e, 0x0a, 0x0b, 0x4d, 0x65, 0x72, 0x67, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x1f, 0x4d, 0x45, 0x52, 0x47, 0x45, - 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x52, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, - 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x48, 0x4f, 0x53, - 0x54, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x56, - 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x03, 0x22, 0x76, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, - 0x02, 0x08, 0x01, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x2e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, - 0x0f, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, - 0x22, 0x88, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, 0x65, 0x72, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, - 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, - 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x50, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x7c, 0x0a, - 0x12, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, - 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xb0, 0x01, 0xba, 0x80, - 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0xd2, 0xc6, 0xa4, 0xe1, 0x06, 0x02, 0x08, 0x01, 0x0a, 0x3a, - 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, - 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x67, 0x6f, 0x6c, 0x61, - 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, 0x47, 0x6f, 0x6c, 0x61, - 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, - 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x76, 0x33, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescOnce sync.Once - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescData = file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDesc -) - -func file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescGZIP() []byte { - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescOnce.Do(func() { - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescData = protoimpl.X.CompressGZIP(file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescData) - }) - return file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDescData -} - -var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_goTypes = []interface{}{ - (Config_MergePolicy)(0), // 0: envoy.extensions.filters.http.golang.v3alpha.Config.MergePolicy - (*Config)(nil), // 1: envoy.extensions.filters.http.golang.v3alpha.Config - (*RouterPlugin)(nil), // 2: envoy.extensions.filters.http.golang.v3alpha.RouterPlugin - (*ConfigsPerRoute)(nil), // 3: envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute - nil, // 4: envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute.PluginsConfigEntry - (*any1.Any)(nil), // 5: google.protobuf.Any -} -var file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_depIdxs = []int32{ - 5, // 0: envoy.extensions.filters.http.golang.v3alpha.Config.plugin_config:type_name -> google.protobuf.Any - 0, // 1: envoy.extensions.filters.http.golang.v3alpha.Config.merge_policy:type_name -> envoy.extensions.filters.http.golang.v3alpha.Config.MergePolicy - 5, // 2: envoy.extensions.filters.http.golang.v3alpha.RouterPlugin.config:type_name -> google.protobuf.Any - 4, // 3: envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute.plugins_config:type_name -> envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute.PluginsConfigEntry - 2, // 4: envoy.extensions.filters.http.golang.v3alpha.ConfigsPerRoute.PluginsConfigEntry.value:type_name -> envoy.extensions.filters.http.golang.v3alpha.RouterPlugin - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name -} - -func init() { file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_init() } -func file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_init() { - if File_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RouterPlugin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigsPerRoute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes[1].OneofWrappers = []interface{}{ - (*RouterPlugin_Disabled)(nil), - (*RouterPlugin_Config)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDesc, - NumEnums: 1, - NumMessages: 4, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_goTypes, - DependencyIndexes: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_depIdxs, - EnumInfos: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_enumTypes, - MessageInfos: file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_msgTypes, - }.Build() - File_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto = out.File - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_rawDesc = nil - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_goTypes = nil - file_contrib_envoy_extensions_filters_http_golang_v3alpha_golang_proto_depIdxs = nil -} diff --git a/pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.validate.go b/pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.validate.go deleted file mode 100644 index 3856d0591d..0000000000 --- a/pkg/api/contrib/envoy/extensions/filters/http/golang/v3alpha/golang.pb.validate.go +++ /dev/null @@ -1,534 +0,0 @@ -// Code generated by protoc-gen-validate. DO NOT EDIT. -// source: contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto - -package v3alpha - -import ( - "bytes" - "errors" - "fmt" - "net" - "net/mail" - "net/url" - "regexp" - "sort" - "strings" - "time" - "unicode/utf8" - - "google.golang.org/protobuf/types/known/anypb" -) - -// ensure the imports are used -var ( - _ = bytes.MinRead - _ = errors.New("") - _ = fmt.Print - _ = utf8.UTFMax - _ = (*regexp.Regexp)(nil) - _ = (*strings.Reader)(nil) - _ = net.IPv4len - _ = time.Duration(0) - _ = (*url.URL)(nil) - _ = (*mail.Address)(nil) - _ = anypb.Any{} - _ = sort.Sort -) - -// Validate checks the field values on Config with the rules defined in the -// proto definition for this message. If any rules are violated, the first -// error encountered is returned, or nil if there are no violations. -func (m *Config) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on Config with the rules defined in the -// proto definition for this message. If any rules are violated, the result is -// a list of violation errors wrapped in ConfigMultiError, or nil if none found. -func (m *Config) ValidateAll() error { - return m.validate(true) -} - -func (m *Config) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - if utf8.RuneCountInString(m.GetLibraryId()) < 1 { - err := ConfigValidationError{ - field: "LibraryId", - reason: "value length must be at least 1 runes", - } - if !all { - return err - } - errors = append(errors, err) - } - - if utf8.RuneCountInString(m.GetLibraryPath()) < 1 { - err := ConfigValidationError{ - field: "LibraryPath", - reason: "value length must be at least 1 runes", - } - if !all { - return err - } - errors = append(errors, err) - } - - if utf8.RuneCountInString(m.GetPluginName()) < 1 { - err := ConfigValidationError{ - field: "PluginName", - reason: "value length must be at least 1 runes", - } - if !all { - return err - } - errors = append(errors, err) - } - - if all { - switch v := interface{}(m.GetPluginConfig()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, ConfigValidationError{ - field: "PluginConfig", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, ConfigValidationError{ - field: "PluginConfig", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetPluginConfig()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return ConfigValidationError{ - field: "PluginConfig", - reason: "embedded message failed validation", - cause: err, - } - } - } - - if _, ok := Config_MergePolicy_name[int32(m.GetMergePolicy())]; !ok { - err := ConfigValidationError{ - field: "MergePolicy", - reason: "value must be one of the defined enum values", - } - if !all { - return err - } - errors = append(errors, err) - } - - if len(errors) > 0 { - return ConfigMultiError(errors) - } - - return nil -} - -// ConfigMultiError is an error wrapping multiple validation errors returned by -// Config.ValidateAll() if the designated constraints aren't met. -type ConfigMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m ConfigMultiError) Error() string { - var msgs []string - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m ConfigMultiError) AllErrors() []error { return m } - -// ConfigValidationError is the validation error returned by Config.Validate if -// the designated constraints aren't met. -type ConfigValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e ConfigValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e ConfigValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e ConfigValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e ConfigValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e ConfigValidationError) ErrorName() string { return "ConfigValidationError" } - -// Error satisfies the builtin error interface -func (e ConfigValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sConfig.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = ConfigValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = ConfigValidationError{} - -// Validate checks the field values on RouterPlugin with the rules defined in -// the proto definition for this message. If any rules are violated, the first -// error encountered is returned, or nil if there are no violations. -func (m *RouterPlugin) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on RouterPlugin with the rules defined -// in the proto definition for this message. If any rules are violated, the -// result is a list of violation errors wrapped in RouterPluginMultiError, or -// nil if none found. -func (m *RouterPlugin) ValidateAll() error { - return m.validate(true) -} - -func (m *RouterPlugin) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - oneofOverridePresent := false - switch v := m.Override.(type) { - case *RouterPlugin_Disabled: - if v == nil { - err := RouterPluginValidationError{ - field: "Override", - reason: "oneof value cannot be a typed-nil", - } - if !all { - return err - } - errors = append(errors, err) - } - oneofOverridePresent = true - - if m.GetDisabled() != true { - err := RouterPluginValidationError{ - field: "Disabled", - reason: "value must equal true", - } - if !all { - return err - } - errors = append(errors, err) - } - - case *RouterPlugin_Config: - if v == nil { - err := RouterPluginValidationError{ - field: "Override", - reason: "oneof value cannot be a typed-nil", - } - if !all { - return err - } - errors = append(errors, err) - } - oneofOverridePresent = true - - if all { - switch v := interface{}(m.GetConfig()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, RouterPluginValidationError{ - field: "Config", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, RouterPluginValidationError{ - field: "Config", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetConfig()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return RouterPluginValidationError{ - field: "Config", - reason: "embedded message failed validation", - cause: err, - } - } - } - - default: - _ = v // ensures v is used - } - if !oneofOverridePresent { - err := RouterPluginValidationError{ - field: "Override", - reason: "value is required", - } - if !all { - return err - } - errors = append(errors, err) - } - - if len(errors) > 0 { - return RouterPluginMultiError(errors) - } - - return nil -} - -// RouterPluginMultiError is an error wrapping multiple validation errors -// returned by RouterPlugin.ValidateAll() if the designated constraints aren't met. -type RouterPluginMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m RouterPluginMultiError) Error() string { - var msgs []string - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m RouterPluginMultiError) AllErrors() []error { return m } - -// RouterPluginValidationError is the validation error returned by -// RouterPlugin.Validate if the designated constraints aren't met. -type RouterPluginValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e RouterPluginValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e RouterPluginValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e RouterPluginValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e RouterPluginValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e RouterPluginValidationError) ErrorName() string { return "RouterPluginValidationError" } - -// Error satisfies the builtin error interface -func (e RouterPluginValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sRouterPlugin.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = RouterPluginValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = RouterPluginValidationError{} - -// Validate checks the field values on ConfigsPerRoute with the rules defined -// in the proto definition for this message. If any rules are violated, the -// first error encountered is returned, or nil if there are no violations. -func (m *ConfigsPerRoute) Validate() error { - return m.validate(false) -} - -// ValidateAll checks the field values on ConfigsPerRoute with the rules -// defined in the proto definition for this message. If any rules are -// violated, the result is a list of violation errors wrapped in -// ConfigsPerRouteMultiError, or nil if none found. -func (m *ConfigsPerRoute) ValidateAll() error { - return m.validate(true) -} - -func (m *ConfigsPerRoute) validate(all bool) error { - if m == nil { - return nil - } - - var errors []error - - { - sorted_keys := make([]string, len(m.GetPluginsConfig())) - i := 0 - for key := range m.GetPluginsConfig() { - sorted_keys[i] = key - i++ - } - sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) - for _, key := range sorted_keys { - val := m.GetPluginsConfig()[key] - _ = val - - // no validation rules for PluginsConfig[key] - - if all { - switch v := interface{}(val).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, ConfigsPerRouteValidationError{ - field: fmt.Sprintf("PluginsConfig[%v]", key), - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, ConfigsPerRouteValidationError{ - field: fmt.Sprintf("PluginsConfig[%v]", key), - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(val).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return ConfigsPerRouteValidationError{ - field: fmt.Sprintf("PluginsConfig[%v]", key), - reason: "embedded message failed validation", - cause: err, - } - } - } - - } - } - - if len(errors) > 0 { - return ConfigsPerRouteMultiError(errors) - } - - return nil -} - -// ConfigsPerRouteMultiError is an error wrapping multiple validation errors -// returned by ConfigsPerRoute.ValidateAll() if the designated constraints -// aren't met. -type ConfigsPerRouteMultiError []error - -// Error returns a concatenation of all the error messages it wraps. -func (m ConfigsPerRouteMultiError) Error() string { - var msgs []string - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} - -// AllErrors returns a list of validation violation errors. -func (m ConfigsPerRouteMultiError) AllErrors() []error { return m } - -// ConfigsPerRouteValidationError is the validation error returned by -// ConfigsPerRoute.Validate if the designated constraints aren't met. -type ConfigsPerRouteValidationError struct { - field string - reason string - cause error - key bool -} - -// Field function returns field value. -func (e ConfigsPerRouteValidationError) Field() string { return e.field } - -// Reason function returns reason value. -func (e ConfigsPerRouteValidationError) Reason() string { return e.reason } - -// Cause function returns cause value. -func (e ConfigsPerRouteValidationError) Cause() error { return e.cause } - -// Key function returns key value. -func (e ConfigsPerRouteValidationError) Key() bool { return e.key } - -// ErrorName returns error name. -func (e ConfigsPerRouteValidationError) ErrorName() string { return "ConfigsPerRouteValidationError" } - -// Error satisfies the builtin error interface -func (e ConfigsPerRouteValidationError) Error() string { - cause := "" - if e.cause != nil { - cause = fmt.Sprintf(" | caused by: %v", e.cause) - } - - key := "" - if e.key { - key = "key for " - } - - return fmt.Sprintf( - "invalid %sConfigsPerRoute.%s: %s%s", - key, - e.field, - e.reason, - cause) -} - -var _ error = ConfigsPerRouteValidationError{} - -var _ interface { - Field() string - Reason() string - Key() bool - Cause() error - ErrorName() string -} = ConfigsPerRouteValidationError{}