From 774c3c56f9606fa3bfc8d3150b7b7cf46cc68277 Mon Sep 17 00:00:00 2001 From: Seth Heidkamp <61526534+sheidkamp@users.noreply.github.com> Date: Mon, 10 Mar 2025 12:47:57 -0400 Subject: [PATCH 1/2] GRPC access logging of filter state (#10682) --- .../grpc-access-log-filter-states.yaml | 7 + .../gloo/api/v1/options/als/als.proto.sk.md | 2 + .../gloo/crds/gateway.solo.io_v1_Gateway.yaml | 8 + .../gateway.solo.io_v1_ListenerOption.yaml | 8 + .../helm/gloo/crds/gloo.solo.io_v1_Proxy.yaml | 8 + projects/accesslogger/pkg/runner/run.go | 1 + projects/gloo/api/v1/options/als/als.proto | 4 + .../pkg/api/v1/options/als/als.pb.clone.go | 9 + .../pkg/api/v1/options/als/als.pb.equal.go | 11 + .../gloo/pkg/api/v1/options/als/als.pb.go | 966 +++++++--------- .../pkg/api/v1/options/als/als.pb.hash.go | 8 + .../api/v1/options/als/als.pb.uniquehash.go | 1010 +++++++++++++++++ projects/gloo/pkg/plugins/als/converter.go | 7 +- projects/gloo/pkg/plugins/als/plugin_test.go | 16 +- 14 files changed, 1477 insertions(+), 588 deletions(-) create mode 100644 changelog/v1.19.0-beta13/grpc-access-log-filter-states.yaml create mode 100644 projects/gloo/pkg/api/v1/options/als/als.pb.uniquehash.go diff --git a/changelog/v1.19.0-beta13/grpc-access-log-filter-states.yaml b/changelog/v1.19.0-beta13/grpc-access-log-filter-states.yaml new file mode 100644 index 00000000000..36b57f2b076 --- /dev/null +++ b/changelog/v1.19.0-beta13/grpc-access-log-filter-states.yaml @@ -0,0 +1,7 @@ +changelog: + - type: NEW_FEATURE + issueLink: https://github.com/solo-io/solo-projects/issues/7923 + resolvesIssue: false + description: >- + Add support for setting filter state from the grpc access log with the + gatewayProxies.gatewayProxy.gatewaySettings.accessLoggingService.accessLog.grpcService.filterStateObjectsToLog helm value diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md index 8556067e94d..2c3ee7a2aa4 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md @@ -111,6 +111,7 @@ See here for more information: https://www.envoyproxy.io/docs/envoy/latest/api-v "additionalRequestHeadersToLog": []string "additionalResponseHeadersToLog": []string "additionalResponseTrailersToLog": []string +"filterStateObjectsToLog": []string ``` @@ -121,6 +122,7 @@ See here for more information: https://www.envoyproxy.io/docs/envoy/latest/api-v | `additionalRequestHeadersToLog` | `[]string` | | | `additionalResponseHeadersToLog` | `[]string` | | | `additionalResponseTrailersToLog` | `[]string` | | +| `filterStateObjectsToLog` | `[]string` | Additional filter state objects to log in filter_state_objects. Logger will call FilterState::Object::serializeAsProto to serialize the filter state object. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/access_loggers/grpc/v3/als.proto#extensions-access-loggers-grpc-v3-commongrpcaccesslogconfig. | diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_Gateway.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_Gateway.yaml index 5989bad4724..498a1ec5870 100644 --- a/install/helm/gloo/crds/gateway.solo.io_v1_Gateway.yaml +++ b/install/helm/gloo/crds/gateway.solo.io_v1_Gateway.yaml @@ -5919,6 +5919,10 @@ spec: items: type: string type: array + filterStateObjectsToLog: + items: + type: string + type: array logName: type: string staticClusterName: @@ -6094,6 +6098,10 @@ spec: items: type: string type: array + filterStateObjectsToLog: + items: + type: string + type: array logName: type: string staticClusterName: diff --git a/install/helm/gloo/crds/gateway.solo.io_v1_ListenerOption.yaml b/install/helm/gloo/crds/gateway.solo.io_v1_ListenerOption.yaml index fc65082cfbe..d7f17748c39 100644 --- a/install/helm/gloo/crds/gateway.solo.io_v1_ListenerOption.yaml +++ b/install/helm/gloo/crds/gateway.solo.io_v1_ListenerOption.yaml @@ -178,6 +178,10 @@ spec: items: type: string type: array + filterStateObjectsToLog: + items: + type: string + type: array logName: type: string staticClusterName: @@ -353,6 +357,10 @@ spec: items: type: string type: array + filterStateObjectsToLog: + items: + type: string + type: array logName: type: string staticClusterName: diff --git a/install/helm/gloo/crds/gloo.solo.io_v1_Proxy.yaml b/install/helm/gloo/crds/gloo.solo.io_v1_Proxy.yaml index 52f8b4009d3..f60af0b61dd 100644 --- a/install/helm/gloo/crds/gloo.solo.io_v1_Proxy.yaml +++ b/install/helm/gloo/crds/gloo.solo.io_v1_Proxy.yaml @@ -225,6 +225,10 @@ spec: items: type: string type: array + filterStateObjectsToLog: + items: + type: string + type: array logName: type: string staticClusterName: @@ -400,6 +404,10 @@ spec: items: type: string type: array + filterStateObjectsToLog: + items: + type: string + type: array logName: type: string staticClusterName: diff --git a/projects/accesslogger/pkg/runner/run.go b/projects/accesslogger/pkg/runner/run.go index a316adcdb16..252f8689e86 100644 --- a/projects/accesslogger/pkg/runner/run.go +++ b/projects/accesslogger/pkg/runner/run.go @@ -154,6 +154,7 @@ func Run() { zap.Any("start_time", v.GetCommonProperties().GetStartTime()), zap.Any("downstream_resp_time", downstreamRespTimeNs), zap.Any("upstream_resp_time", upstreamRespTimeNs), + zap.Any("filter_state_objects", v.GetCommonProperties().GetFilterStateObjects()), ).Info("received http request") } case *pb.StreamAccessLogsMessage_TcpLogs: diff --git a/projects/gloo/api/v1/options/als/als.proto b/projects/gloo/api/v1/options/als/als.proto index 058ccf3f791..1a6d02a39d0 100644 --- a/projects/gloo/api/v1/options/als/als.proto +++ b/projects/gloo/api/v1/options/als/als.proto @@ -63,6 +63,10 @@ message GrpcService { repeated string additional_response_headers_to_log = 5; repeated string additional_response_trailers_to_log = 6; + + // Additional filter state objects to log in filter_state_objects. Logger will call FilterState::Object::serializeAsProto to serialize the filter state object. + // See https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/access_loggers/grpc/v3/als.proto#extensions-access-loggers-grpc-v3-commongrpcaccesslogconfig + repeated string filter_state_objects_to_log = 7; } message AccessLogFilter { diff --git a/projects/gloo/pkg/api/v1/options/als/als.pb.clone.go b/projects/gloo/pkg/api/v1/options/als/als.pb.clone.go index 2af7d91a07f..1fbbfd99a4c 100644 --- a/projects/gloo/pkg/api/v1/options/als/als.pb.clone.go +++ b/projects/gloo/pkg/api/v1/options/als/als.pb.clone.go @@ -174,6 +174,15 @@ func (m *GrpcService) Clone() proto.Message { } } + if m.GetFilterStateObjectsToLog() != nil { + target.FilterStateObjectsToLog = make([]string, len(m.GetFilterStateObjectsToLog())) + for idx, v := range m.GetFilterStateObjectsToLog() { + + target.FilterStateObjectsToLog[idx] = v + + } + } + switch m.ServiceRef.(type) { case *GrpcService_StaticClusterName: diff --git a/projects/gloo/pkg/api/v1/options/als/als.pb.equal.go b/projects/gloo/pkg/api/v1/options/als/als.pb.equal.go index 214d49cfd73..08441ce3ee7 100644 --- a/projects/gloo/pkg/api/v1/options/als/als.pb.equal.go +++ b/projects/gloo/pkg/api/v1/options/als/als.pb.equal.go @@ -258,6 +258,17 @@ func (m *GrpcService) Equal(that interface{}) bool { } + if len(m.GetFilterStateObjectsToLog()) != len(target.GetFilterStateObjectsToLog()) { + return false + } + for idx, v := range m.GetFilterStateObjectsToLog() { + + if strings.Compare(v, target.GetFilterStateObjectsToLog()[idx]) != 0 { + return false + } + + } + switch m.ServiceRef.(type) { case *GrpcService_StaticClusterName: diff --git a/projects/gloo/pkg/api/v1/options/als/als.pb.go b/projects/gloo/pkg/api/v1/options/als/als.pb.go index 87e2b6f6d22..83b87b4dd6d 100644 --- a/projects/gloo/pkg/api/v1/options/als/als.pb.go +++ b/projects/gloo/pkg/api/v1/options/als/als.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.33.0 +// protoc-gen-go v1.36.5 // protoc v3.6.1 // source: github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto @@ -12,9 +12,9 @@ package als import ( reflect "reflect" sync "sync" + unsafe "unsafe" _ "github.com/envoyproxy/protoc-gen-validate/validate" - _struct "github.com/golang/protobuf/ptypes/struct" v3 "github.com/solo-io/gloo/projects/gloo/pkg/api/external/envoy/config/core/v3" v32 "github.com/solo-io/gloo/projects/gloo/pkg/api/external/envoy/config/route/v3" v31 "github.com/solo-io/gloo/projects/gloo/pkg/api/external/envoy/type/v3" @@ -22,6 +22,7 @@ import ( _ "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" ) const ( @@ -177,20 +178,17 @@ func (GrpcStatusFilter_Status) EnumDescriptor() ([]byte, []int) { // Contains various settings for Envoy's access logging service. // See here for more information: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/accesslog/v3/accesslog.proto type AccessLoggingService struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AccessLog []*AccessLog `protobuf:"bytes,1,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` unknownFields protoimpl.UnknownFields - - AccessLog []*AccessLog `protobuf:"bytes,1,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AccessLoggingService) Reset() { *x = AccessLoggingService{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccessLoggingService) String() string { @@ -201,7 +199,7 @@ func (*AccessLoggingService) ProtoMessage() {} func (x *AccessLoggingService) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -224,27 +222,24 @@ func (x *AccessLoggingService) GetAccessLog() []*AccessLog { } type AccessLog struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // type of Access Logging service to implement // - // Types that are assignable to OutputDestination: + // Types that are valid to be assigned to OutputDestination: // // *AccessLog_FileSink // *AccessLog_GrpcService OutputDestination isAccessLog_OutputDestination `protobuf_oneof:"OutputDestination"` Filter *AccessLogFilter `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccessLog) Reset() { *x = AccessLog{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccessLog) String() string { @@ -255,7 +250,7 @@ func (*AccessLog) ProtoMessage() {} func (x *AccessLog) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -270,23 +265,27 @@ func (*AccessLog) Descriptor() ([]byte, []int) { return file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescGZIP(), []int{1} } -func (m *AccessLog) GetOutputDestination() isAccessLog_OutputDestination { - if m != nil { - return m.OutputDestination +func (x *AccessLog) GetOutputDestination() isAccessLog_OutputDestination { + if x != nil { + return x.OutputDestination } return nil } func (x *AccessLog) GetFileSink() *FileSink { - if x, ok := x.GetOutputDestination().(*AccessLog_FileSink); ok { - return x.FileSink + if x != nil { + if x, ok := x.OutputDestination.(*AccessLog_FileSink); ok { + return x.FileSink + } } return nil } func (x *AccessLog) GetGrpcService() *GrpcService { - if x, ok := x.GetOutputDestination().(*AccessLog_GrpcService); ok { - return x.GrpcService + if x != nil { + if x, ok := x.OutputDestination.(*AccessLog_GrpcService); ok { + return x.GrpcService + } } return nil } @@ -317,28 +316,25 @@ func (*AccessLog_FileSink) isAccessLog_OutputDestination() {} func (*AccessLog_GrpcService) isAccessLog_OutputDestination() {} type FileSink struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // the file path to which the file access logging service will sink Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // the format which the logs should be outputted by // - // Types that are assignable to OutputFormat: + // Types that are valid to be assigned to OutputFormat: // // *FileSink_StringFormat // *FileSink_JsonFormat - OutputFormat isFileSink_OutputFormat `protobuf_oneof:"output_format"` + OutputFormat isFileSink_OutputFormat `protobuf_oneof:"output_format"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FileSink) Reset() { *x = FileSink{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FileSink) String() string { @@ -349,7 +345,7 @@ func (*FileSink) ProtoMessage() {} func (x *FileSink) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -371,23 +367,27 @@ func (x *FileSink) GetPath() string { return "" } -func (m *FileSink) GetOutputFormat() isFileSink_OutputFormat { - if m != nil { - return m.OutputFormat +func (x *FileSink) GetOutputFormat() isFileSink_OutputFormat { + if x != nil { + return x.OutputFormat } return nil } func (x *FileSink) GetStringFormat() string { - if x, ok := x.GetOutputFormat().(*FileSink_StringFormat); ok { - return x.StringFormat + if x != nil { + if x, ok := x.OutputFormat.(*FileSink_StringFormat); ok { + return x.StringFormat + } } return "" } -func (x *FileSink) GetJsonFormat() *_struct.Struct { - if x, ok := x.GetOutputFormat().(*FileSink_JsonFormat); ok { - return x.JsonFormat +func (x *FileSink) GetJsonFormat() *structpb.Struct { + if x != nil { + if x, ok := x.OutputFormat.(*FileSink_JsonFormat); ok { + return x.JsonFormat + } } return nil } @@ -405,7 +405,7 @@ type FileSink_StringFormat struct { type FileSink_JsonFormat struct { // the format object by which to envoy will emit the logs in a structured way. // https://www.envoyproxy.io/docs/envoy/v1.14.1/configuration/observability/access_log#format-dictionaries - JsonFormat *_struct.Struct `protobuf:"bytes,3,opt,name=json_format,json=jsonFormat,proto3,oneof"` + JsonFormat *structpb.Struct `protobuf:"bytes,3,opt,name=json_format,json=jsonFormat,proto3,oneof"` } func (*FileSink_StringFormat) isFileSink_OutputFormat() {} @@ -413,30 +413,30 @@ func (*FileSink_StringFormat) isFileSink_OutputFormat() {} func (*FileSink_JsonFormat) isFileSink_OutputFormat() {} type GrpcService struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // name of log stream LogName string `protobuf:"bytes,1,opt,name=log_name,json=logName,proto3" json:"log_name,omitempty"` // The static cluster defined in bootstrap config to route to // - // Types that are assignable to ServiceRef: + // Types that are valid to be assigned to ServiceRef: // // *GrpcService_StaticClusterName ServiceRef isGrpcService_ServiceRef `protobuf_oneof:"service_ref"` AdditionalRequestHeadersToLog []string `protobuf:"bytes,4,rep,name=additional_request_headers_to_log,json=additionalRequestHeadersToLog,proto3" json:"additional_request_headers_to_log,omitempty"` AdditionalResponseHeadersToLog []string `protobuf:"bytes,5,rep,name=additional_response_headers_to_log,json=additionalResponseHeadersToLog,proto3" json:"additional_response_headers_to_log,omitempty"` AdditionalResponseTrailersToLog []string `protobuf:"bytes,6,rep,name=additional_response_trailers_to_log,json=additionalResponseTrailersToLog,proto3" json:"additional_response_trailers_to_log,omitempty"` + // Additional filter state objects to log in filter_state_objects. Logger will call FilterState::Object::serializeAsProto to serialize the filter state object. + // See https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/access_loggers/grpc/v3/als.proto#extensions-access-loggers-grpc-v3-commongrpcaccesslogconfig + FilterStateObjectsToLog []string `protobuf:"bytes,7,rep,name=filter_state_objects_to_log,json=filterStateObjectsToLog,proto3" json:"filter_state_objects_to_log,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcService) Reset() { *x = GrpcService{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GrpcService) String() string { @@ -447,7 +447,7 @@ func (*GrpcService) ProtoMessage() {} func (x *GrpcService) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -469,16 +469,18 @@ func (x *GrpcService) GetLogName() string { return "" } -func (m *GrpcService) GetServiceRef() isGrpcService_ServiceRef { - if m != nil { - return m.ServiceRef +func (x *GrpcService) GetServiceRef() isGrpcService_ServiceRef { + if x != nil { + return x.ServiceRef } return nil } func (x *GrpcService) GetStaticClusterName() string { - if x, ok := x.GetServiceRef().(*GrpcService_StaticClusterName); ok { - return x.StaticClusterName + if x != nil { + if x, ok := x.ServiceRef.(*GrpcService_StaticClusterName); ok { + return x.StaticClusterName + } } return "" } @@ -504,6 +506,13 @@ func (x *GrpcService) GetAdditionalResponseTrailersToLog() []string { return nil } +func (x *GrpcService) GetFilterStateObjectsToLog() []string { + if x != nil { + return x.FilterStateObjectsToLog + } + return nil +} + type isGrpcService_ServiceRef interface { isGrpcService_ServiceRef() } @@ -515,11 +524,8 @@ type GrpcService_StaticClusterName struct { func (*GrpcService_StaticClusterName) isGrpcService_ServiceRef() {} type AccessLogFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to FilterSpecifier: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to FilterSpecifier: // // *AccessLogFilter_StatusCodeFilter // *AccessLogFilter_DurationFilter @@ -532,15 +538,15 @@ type AccessLogFilter struct { // *AccessLogFilter_ResponseFlagFilter // *AccessLogFilter_GrpcStatusFilter FilterSpecifier isAccessLogFilter_FilterSpecifier `protobuf_oneof:"filter_specifier"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AccessLogFilter) Reset() { *x = AccessLogFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AccessLogFilter) String() string { @@ -551,7 +557,7 @@ func (*AccessLogFilter) ProtoMessage() {} func (x *AccessLogFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -566,79 +572,99 @@ func (*AccessLogFilter) Descriptor() ([]byte, []int) { return file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescGZIP(), []int{4} } -func (m *AccessLogFilter) GetFilterSpecifier() isAccessLogFilter_FilterSpecifier { - if m != nil { - return m.FilterSpecifier +func (x *AccessLogFilter) GetFilterSpecifier() isAccessLogFilter_FilterSpecifier { + if x != nil { + return x.FilterSpecifier } return nil } func (x *AccessLogFilter) GetStatusCodeFilter() *StatusCodeFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_StatusCodeFilter); ok { - return x.StatusCodeFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_StatusCodeFilter); ok { + return x.StatusCodeFilter + } } return nil } func (x *AccessLogFilter) GetDurationFilter() *DurationFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_DurationFilter); ok { - return x.DurationFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_DurationFilter); ok { + return x.DurationFilter + } } return nil } func (x *AccessLogFilter) GetNotHealthCheckFilter() *NotHealthCheckFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_NotHealthCheckFilter); ok { - return x.NotHealthCheckFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_NotHealthCheckFilter); ok { + return x.NotHealthCheckFilter + } } return nil } func (x *AccessLogFilter) GetTraceableFilter() *TraceableFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_TraceableFilter); ok { - return x.TraceableFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_TraceableFilter); ok { + return x.TraceableFilter + } } return nil } func (x *AccessLogFilter) GetRuntimeFilter() *RuntimeFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_RuntimeFilter); ok { - return x.RuntimeFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_RuntimeFilter); ok { + return x.RuntimeFilter + } } return nil } func (x *AccessLogFilter) GetAndFilter() *AndFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_AndFilter); ok { - return x.AndFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_AndFilter); ok { + return x.AndFilter + } } return nil } func (x *AccessLogFilter) GetOrFilter() *OrFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_OrFilter); ok { - return x.OrFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_OrFilter); ok { + return x.OrFilter + } } return nil } func (x *AccessLogFilter) GetHeaderFilter() *HeaderFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_HeaderFilter); ok { - return x.HeaderFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_HeaderFilter); ok { + return x.HeaderFilter + } } return nil } func (x *AccessLogFilter) GetResponseFlagFilter() *ResponseFlagFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_ResponseFlagFilter); ok { - return x.ResponseFlagFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_ResponseFlagFilter); ok { + return x.ResponseFlagFilter + } } return nil } func (x *AccessLogFilter) GetGrpcStatusFilter() *GrpcStatusFilter { - if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_GrpcStatusFilter); ok { - return x.GrpcStatusFilter + if x != nil { + if x, ok := x.FilterSpecifier.(*AccessLogFilter_GrpcStatusFilter); ok { + return x.GrpcStatusFilter + } } return nil } @@ -719,23 +745,24 @@ func (*AccessLogFilter_GrpcStatusFilter) isAccessLogFilter_FilterSpecifier() {} // Filter on an integer comparison. type ComparisonFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Comparison operator. Op ComparisonFilter_Op `protobuf:"varint,1,opt,name=op,proto3,enum=als.options.gloo.solo.io.ComparisonFilter_Op" json:"op,omitempty"` - // Value to compare against. - Value *v3.RuntimeUInt32 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // Value to compare against. Note that the `defaultValue` field must be defined unless + // the `runtimeKey` matches a key that is defined in Envoy's [runtime configuration layer](https://www.envoyproxy.io/docs/envoy/v1.30.0/configuration/operations/runtime#config-runtime-bootstrap). + // Gloo Gateway does not include a key by default. To specify a key-value pair, use the + // [gatewayProxies.NAME.customStaticLayer]({{< versioned_link_path fromRoot="/reference/helm_chart_values/" >}}) + // Helm value or set the key at runtime by using the gateway proxy admin interface. + Value *v3.RuntimeUInt32 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ComparisonFilter) Reset() { *x = ComparisonFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ComparisonFilter) String() string { @@ -746,7 +773,7 @@ func (*ComparisonFilter) ProtoMessage() {} func (x *ComparisonFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -777,21 +804,18 @@ func (x *ComparisonFilter) GetValue() *v3.RuntimeUInt32 { // Filters on HTTP response/status code. type StatusCodeFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Comparison. - Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` + Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *StatusCodeFilter) Reset() { *x = StatusCodeFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StatusCodeFilter) String() string { @@ -802,7 +826,7 @@ func (*StatusCodeFilter) ProtoMessage() {} func (x *StatusCodeFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -826,21 +850,18 @@ func (x *StatusCodeFilter) GetComparison() *ComparisonFilter { // Filters on total request duration in milliseconds. type DurationFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Comparison. - Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` + Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DurationFilter) Reset() { *x = DurationFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DurationFilter) String() string { @@ -851,7 +872,7 @@ func (*DurationFilter) ProtoMessage() {} func (x *DurationFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -876,18 +897,16 @@ func (x *DurationFilter) GetComparison() *ComparisonFilter { // Filters for requests that are not health check requests. A health check // request is marked by the health check filter. type NotHealthCheckFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NotHealthCheckFilter) Reset() { *x = NotHealthCheckFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NotHealthCheckFilter) String() string { @@ -898,7 +917,7 @@ func (*NotHealthCheckFilter) ProtoMessage() {} func (x *NotHealthCheckFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -916,18 +935,16 @@ func (*NotHealthCheckFilter) Descriptor() ([]byte, []int) { // Filters for requests that are traceable. See the tracing overview for more // information on how a request becomes traceable. type TraceableFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TraceableFilter) Reset() { *x = TraceableFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TraceableFilter) String() string { @@ -938,7 +955,7 @@ func (*TraceableFilter) ProtoMessage() {} func (x *TraceableFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -955,10 +972,7 @@ func (*TraceableFilter) Descriptor() ([]byte, []int) { // Filters for random sampling of requests. type RuntimeFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Runtime key to get an optional overridden numerator for use in the // `percent_sampled` field. If found in runtime, this value will replace the // default numerator. @@ -982,15 +996,15 @@ type RuntimeFilter struct { // cause the filter to behave like an independent random variable when // composed within logical operator filters). UseIndependentRandomness bool `protobuf:"varint,3,opt,name=use_independent_randomness,json=useIndependentRandomness,proto3" json:"use_independent_randomness,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RuntimeFilter) Reset() { *x = RuntimeFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RuntimeFilter) String() string { @@ -1001,7 +1015,7 @@ func (*RuntimeFilter) ProtoMessage() {} func (x *RuntimeFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1041,20 +1055,17 @@ func (x *RuntimeFilter) GetUseIndependentRandomness() bool { // Filters are evaluated sequentially and if one of them returns false, the // filter returns false immediately. type AndFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Filters []*AccessLogFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Filters []*AccessLogFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AndFilter) Reset() { *x = AndFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AndFilter) String() string { @@ -1065,7 +1076,7 @@ func (*AndFilter) ProtoMessage() {} func (x *AndFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1091,20 +1102,17 @@ func (x *AndFilter) GetFilters() []*AccessLogFilter { // Filters are evaluated sequentially and if one of them returns true, the // filter returns true immediately. type OrFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Filters []*AccessLogFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` unknownFields protoimpl.UnknownFields - - Filters []*AccessLogFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` + sizeCache protoimpl.SizeCache } func (x *OrFilter) Reset() { *x = OrFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *OrFilter) String() string { @@ -1115,7 +1123,7 @@ func (*OrFilter) ProtoMessage() {} func (x *OrFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1139,22 +1147,19 @@ func (x *OrFilter) GetFilters() []*AccessLogFilter { // Filters requests based on the presence or value of a request header. type HeaderFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Only requests with a header which matches the specified HeaderMatcher will // pass the filter check. - Header *v32.HeaderMatcher `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + Header *v32.HeaderMatcher `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HeaderFilter) Reset() { *x = HeaderFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HeaderFilter) String() string { @@ -1165,7 +1170,7 @@ func (*HeaderFilter) ProtoMessage() {} func (x *HeaderFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1192,23 +1197,20 @@ func (x *HeaderFilter) GetHeader() *v32.HeaderMatcher { // in the access log formatter // :ref:`documentation`. type ResponseFlagFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Only responses with the any of the flags listed in this field will be // logged. This field is optional. If it is not specified, then any response // flag will pass the filter check. - Flags []string `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` + Flags []string `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResponseFlagFilter) Reset() { *x = ResponseFlagFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResponseFlagFilter) String() string { @@ -1219,7 +1221,7 @@ func (*ResponseFlagFilter) ProtoMessage() {} func (x *ResponseFlagFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1244,25 +1246,22 @@ func (x *ResponseFlagFilter) GetFlags() []string { // Filters gRPC requests based on their response status. If a gRPC status is not // provided, the filter will infer the status from the HTTP status code. type GrpcStatusFilter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Logs only responses that have any one of the gRPC statuses in this field. Statuses []GrpcStatusFilter_Status `protobuf:"varint,1,rep,packed,name=statuses,proto3,enum=als.options.gloo.solo.io.GrpcStatusFilter_Status" json:"statuses,omitempty"` // If included and set to true, the filter will instead block all responses // with a gRPC status or inferred gRPC status enumerated in statuses, and // allow all other responses. - Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"` + Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GrpcStatusFilter) Reset() { *x = GrpcStatusFilter{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GrpcStatusFilter) String() string { @@ -1273,7 +1272,7 @@ func (*GrpcStatusFilter) ProtoMessage() {} func (x *GrpcStatusFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1304,7 +1303,7 @@ func (x *GrpcStatusFilter) GetExclude() bool { var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto protoreflect.FileDescriptor -var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc = []byte{ +var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc = string([]byte{ 0x0a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, @@ -1365,7 +1364,7 @@ var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawD 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x22, 0xcd, 0x02, 0x0a, 0x0b, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x61, 0x74, 0x22, 0x8b, 0x03, 0x0a, 0x0b, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, @@ -1385,184 +1384,188 @@ var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawD 0x69, 0x6c, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x1f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 0x54, 0x6f, - 0x4c, 0x6f, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x66, 0x22, 0x84, 0x07, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x6c, - 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, - 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x5f, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, + 0x4c, 0x6f, 0x67, 0x12, 0x3c, 0x0a, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, + 0x6f, 0x67, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x54, 0x6f, 0x4c, 0x6f, + 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, + 0x22, 0x84, 0x07, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x6c, 0x73, 0x2e, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x5f, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, + 0x6f, 0x2e, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x56, + 0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, - 0x2e, 0x69, 0x6f, 0x2e, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x56, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x6c, 0x73, - 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, - 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, - 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, - 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, - 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x69, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x64, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, + 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, + 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, + 0x0a, 0x09, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, 0x72, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x60, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, 0x6c, 0x61, + 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x12, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x12, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, - 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x41, 0x0a, 0x09, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x4f, - 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x72, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x6c, 0x73, - 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, - 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x60, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x66, - 0x6c, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, - 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x12, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x67, 0x72, + 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x17, + 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x02, + 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, + 0x01, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x65, + 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, + 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, + 0x22, 0x68, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x0e, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0a, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, - 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x70, 0x63, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, - 0x67, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x17, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x43, 0x6f, - 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x47, - 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x61, 0x6c, 0x73, - 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, - 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, - 0x02, 0x10, 0x01, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, - 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, - 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, - 0x10, 0x02, 0x22, 0x68, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, - 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x6c, 0x73, - 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, - 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, - 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x0e, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x54, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, - 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, - 0x69, 0x73, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, - 0x54, 0x72, 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, - 0xca, 0x01, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x65, - 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, - 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x12, 0x3c, - 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x18, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x22, 0x5a, 0x0a, 0x09, - 0x41, 0x6e, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x6c, 0x73, - 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, - 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, - 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x59, 0x0a, 0x08, 0x4f, 0x72, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, - 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x73, 0x22, 0x5e, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, - 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x46, 0x6c, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x97, 0x01, 0x0a, 0x05, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x80, 0x01, 0xfa, 0x42, 0x7d, - 0x92, 0x01, 0x7a, 0x22, 0x78, 0x72, 0x76, 0x52, 0x02, 0x4c, 0x48, 0x52, 0x02, 0x55, 0x48, 0x52, - 0x02, 0x55, 0x54, 0x52, 0x02, 0x4c, 0x52, 0x52, 0x02, 0x55, 0x52, 0x52, 0x02, 0x55, 0x46, 0x52, - 0x02, 0x55, 0x43, 0x52, 0x02, 0x55, 0x4f, 0x52, 0x02, 0x4e, 0x52, 0x52, 0x02, 0x44, 0x49, 0x52, - 0x02, 0x46, 0x49, 0x52, 0x02, 0x52, 0x4c, 0x52, 0x04, 0x55, 0x41, 0x45, 0x58, 0x52, 0x04, 0x52, - 0x4c, 0x53, 0x45, 0x52, 0x02, 0x44, 0x43, 0x52, 0x03, 0x55, 0x52, 0x58, 0x52, 0x02, 0x53, 0x49, - 0x52, 0x02, 0x49, 0x48, 0x52, 0x03, 0x44, 0x50, 0x45, 0x52, 0x05, 0x55, 0x4d, 0x53, 0x44, 0x52, - 0x52, 0x04, 0x52, 0x46, 0x43, 0x46, 0x52, 0x04, 0x4e, 0x46, 0x43, 0x46, 0x52, 0x02, 0x44, 0x54, - 0x52, 0x03, 0x55, 0x50, 0x45, 0x52, 0x02, 0x4e, 0x43, 0x52, 0x02, 0x4f, 0x4d, 0x52, 0x05, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x22, 0xc5, 0x03, 0x0a, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x08, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x61, 0x6c, - 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, - 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, - 0xfa, 0x42, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, - 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, - 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, - 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, - 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x41, - 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x06, 0x12, - 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, - 0x4e, 0x49, 0x45, 0x44, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x17, - 0x0a, 0x13, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x44, - 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, - 0x45, 0x44, 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, - 0x41, 0x4e, 0x47, 0x45, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x49, 0x4d, 0x50, 0x4c, - 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, - 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x41, - 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x41, 0x55, 0x54, - 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x10, 0x42, 0x4a, 0xb8, 0xf5, - 0x04, 0x01, 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, - 0x6c, 0x6f, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x6c, 0x6f, - 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} + 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, + 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, + 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x54, 0x72, + 0x61, 0x63, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xca, 0x01, + 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, + 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, + 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x18, 0x75, 0x73, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, + 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x22, 0x5a, 0x0a, 0x09, 0x41, 0x6e, + 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, + 0x2e, 0x69, 0x6f, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x22, 0x59, 0x0a, 0x08, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x61, 0x6c, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, + 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x73, 0x22, 0x5e, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x4e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6f, 0x6c, 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, + 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x33, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x42, + 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x46, 0x6c, + 0x61, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x97, 0x01, 0x0a, 0x05, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x80, 0x01, 0xfa, 0x42, 0x7d, 0x92, 0x01, + 0x7a, 0x22, 0x78, 0x72, 0x76, 0x52, 0x02, 0x4c, 0x48, 0x52, 0x02, 0x55, 0x48, 0x52, 0x02, 0x55, + 0x54, 0x52, 0x02, 0x4c, 0x52, 0x52, 0x02, 0x55, 0x52, 0x52, 0x02, 0x55, 0x46, 0x52, 0x02, 0x55, + 0x43, 0x52, 0x02, 0x55, 0x4f, 0x52, 0x02, 0x4e, 0x52, 0x52, 0x02, 0x44, 0x49, 0x52, 0x02, 0x46, + 0x49, 0x52, 0x02, 0x52, 0x4c, 0x52, 0x04, 0x55, 0x41, 0x45, 0x58, 0x52, 0x04, 0x52, 0x4c, 0x53, + 0x45, 0x52, 0x02, 0x44, 0x43, 0x52, 0x03, 0x55, 0x52, 0x58, 0x52, 0x02, 0x53, 0x49, 0x52, 0x02, + 0x49, 0x48, 0x52, 0x03, 0x44, 0x50, 0x45, 0x52, 0x05, 0x55, 0x4d, 0x53, 0x44, 0x52, 0x52, 0x04, + 0x52, 0x46, 0x43, 0x46, 0x52, 0x04, 0x4e, 0x46, 0x43, 0x46, 0x52, 0x02, 0x44, 0x54, 0x52, 0x03, + 0x55, 0x50, 0x45, 0x52, 0x02, 0x4e, 0x43, 0x52, 0x02, 0x4f, 0x4d, 0x52, 0x05, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x22, 0xc5, 0x03, 0x0a, 0x10, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x61, 0x6c, 0x73, 0x2e, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6c, 0x6f, 0x6f, 0x2e, 0x73, 0x6f, 0x6c, + 0x6f, 0x2e, 0x69, 0x6f, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0xfa, 0x42, + 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, + 0xb8, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, 0x14, 0x0a, + 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, + 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x5f, + 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, + 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4c, 0x52, + 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x06, 0x12, 0x15, 0x0a, + 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, + 0x45, 0x44, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, + 0x10, 0x0a, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, + 0x47, 0x45, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, + 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, + 0x4f, 0x53, 0x53, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x45, + 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x10, 0x42, 0x4a, 0xb8, 0xf5, 0x04, 0x01, + 0xc0, 0xf5, 0x04, 0x01, 0xd0, 0xf5, 0x04, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, + 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x61, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +}) var ( file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescOnce sync.Once - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData = file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData []byte ) func file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescGZIP() []byte { file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescOnce.Do(func() { - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData) + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc), len(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc))) }) return file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData } var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes = make([]protoimpl.MessageInfo, 16) -var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_goTypes = []interface{}{ +var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_goTypes = []any{ (ComparisonFilter_Op)(0), // 0: als.options.gloo.solo.io.ComparisonFilter.Op (GrpcStatusFilter_Status)(0), // 1: als.options.gloo.solo.io.GrpcStatusFilter.Status (*AccessLoggingService)(nil), // 2: als.options.gloo.solo.io.AccessLoggingService @@ -1581,7 +1584,7 @@ var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_goTy (*HeaderFilter)(nil), // 15: als.options.gloo.solo.io.HeaderFilter (*ResponseFlagFilter)(nil), // 16: als.options.gloo.solo.io.ResponseFlagFilter (*GrpcStatusFilter)(nil), // 17: als.options.gloo.solo.io.GrpcStatusFilter - (*_struct.Struct)(nil), // 18: google.protobuf.Struct + (*structpb.Struct)(nil), // 18: google.protobuf.Struct (*v3.RuntimeUInt32)(nil), // 19: solo.io.envoy.config.core.v3.RuntimeUInt32 (*v31.FractionalPercent)(nil), // 20: solo.io.envoy.type.v3.FractionalPercent (*v32.HeaderMatcher)(nil), // 21: solo.io.envoy.config.route.v3.HeaderMatcher @@ -1623,212 +1626,18 @@ func file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_ini if File_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccessLoggingService); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccessLog); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FileSink); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GrpcService); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccessLogFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComparisonFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatusCodeFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DurationFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotHealthCheckFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TraceableFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RuntimeFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AndFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HeaderFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResponseFlagFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GrpcStatusFilter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1].OneofWrappers = []any{ (*AccessLog_FileSink)(nil), (*AccessLog_GrpcService)(nil), } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2].OneofWrappers = []any{ (*FileSink_StringFormat)(nil), (*FileSink_JsonFormat)(nil), } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3].OneofWrappers = []any{ (*GrpcService_StaticClusterName)(nil), } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4].OneofWrappers = []any{ (*AccessLogFilter_StatusCodeFilter)(nil), (*AccessLogFilter_DurationFilter)(nil), (*AccessLogFilter_NotHealthCheckFilter)(nil), @@ -1844,7 +1653,7 @@ func file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_ini out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc), len(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc)), NumEnums: 2, NumMessages: 16, NumExtensions: 0, @@ -1856,7 +1665,6 @@ func file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_ini MessageInfos: file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes, }.Build() File_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto = out.File - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc = nil file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_goTypes = nil file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_depIdxs = nil } diff --git a/projects/gloo/pkg/api/v1/options/als/als.pb.hash.go b/projects/gloo/pkg/api/v1/options/als/als.pb.hash.go index 4abeb1a1f60..0742437e8eb 100644 --- a/projects/gloo/pkg/api/v1/options/als/als.pb.hash.go +++ b/projects/gloo/pkg/api/v1/options/als/als.pb.hash.go @@ -242,6 +242,14 @@ func (m *GrpcService) Hash(hasher hash.Hash64) (uint64, error) { } + for _, v := range m.GetFilterStateObjectsToLog() { + + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + switch m.ServiceRef.(type) { case *GrpcService_StaticClusterName: diff --git a/projects/gloo/pkg/api/v1/options/als/als.pb.uniquehash.go b/projects/gloo/pkg/api/v1/options/als/als.pb.uniquehash.go new file mode 100644 index 00000000000..d42fe55417a --- /dev/null +++ b/projects/gloo/pkg/api/v1/options/als/als.pb.uniquehash.go @@ -0,0 +1,1010 @@ +// Code generated by protoc-gen-ext. DO NOT EDIT. +// source: github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto + +package als + +import ( + "encoding/binary" + "errors" + "fmt" + "hash" + "hash/fnv" + "strconv" + + safe_hasher "github.com/solo-io/protoc-gen-ext/pkg/hasher" + "github.com/solo-io/protoc-gen-ext/pkg/hasher/hashstructure" +) + +// ensure the imports are used +var ( + _ = errors.New("") + _ = fmt.Print + _ = binary.LittleEndian + _ = new(hash.Hash64) + _ = fnv.New64 + _ = strconv.Itoa + _ = hashstructure.Hash + _ = new(safe_hasher.SafeHasher) +) + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *AccessLoggingService) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.AccessLoggingService")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("AccessLog")); err != nil { + return 0, err + } + for i, v := range m.GetAccessLog() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *AccessLog) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.AccessLog")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Filter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Filter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + switch m.OutputDestination.(type) { + + case *AccessLog_FileSink: + + if h, ok := interface{}(m.GetFileSink()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("FileSink")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetFileSink(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("FileSink")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLog_GrpcService: + + if h, ok := interface{}(m.GetGrpcService()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GrpcService")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGrpcService(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GrpcService")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *FileSink) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.FileSink")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("Path")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(m.GetPath())); err != nil { + return 0, err + } + + switch m.OutputFormat.(type) { + + case *FileSink_StringFormat: + + if _, err = hasher.Write([]byte("StringFormat")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(m.GetStringFormat())); err != nil { + return 0, err + } + + case *FileSink_JsonFormat: + + if h, ok := interface{}(m.GetJsonFormat()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("JsonFormat")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetJsonFormat(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("JsonFormat")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *GrpcService) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.GrpcService")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("LogName")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(m.GetLogName())); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("AdditionalRequestHeadersToLog")); err != nil { + return 0, err + } + for i, v := range m.GetAdditionalRequestHeadersToLog() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte("AdditionalResponseHeadersToLog")); err != nil { + return 0, err + } + for i, v := range m.GetAdditionalResponseHeadersToLog() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte("AdditionalResponseTrailersToLog")); err != nil { + return 0, err + } + for i, v := range m.GetAdditionalResponseTrailersToLog() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte("FilterStateObjectsToLog")); err != nil { + return 0, err + } + for i, v := range m.GetFilterStateObjectsToLog() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + switch m.ServiceRef.(type) { + + case *GrpcService_StaticClusterName: + + if _, err = hasher.Write([]byte("StaticClusterName")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(m.GetStaticClusterName())); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *AccessLogFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.AccessLogFilter")); err != nil { + return 0, err + } + + switch m.FilterSpecifier.(type) { + + case *AccessLogFilter_StatusCodeFilter: + + if h, ok := interface{}(m.GetStatusCodeFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("StatusCodeFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetStatusCodeFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("StatusCodeFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_DurationFilter: + + if h, ok := interface{}(m.GetDurationFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("DurationFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetDurationFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("DurationFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_NotHealthCheckFilter: + + if h, ok := interface{}(m.GetNotHealthCheckFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("NotHealthCheckFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetNotHealthCheckFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("NotHealthCheckFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_TraceableFilter: + + if h, ok := interface{}(m.GetTraceableFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("TraceableFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetTraceableFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("TraceableFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_RuntimeFilter: + + if h, ok := interface{}(m.GetRuntimeFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("RuntimeFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetRuntimeFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("RuntimeFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_AndFilter: + + if h, ok := interface{}(m.GetAndFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("AndFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetAndFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("AndFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_OrFilter: + + if h, ok := interface{}(m.GetOrFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("OrFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetOrFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("OrFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_HeaderFilter: + + if h, ok := interface{}(m.GetHeaderFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("HeaderFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHeaderFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("HeaderFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_ResponseFlagFilter: + + if h, ok := interface{}(m.GetResponseFlagFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("ResponseFlagFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetResponseFlagFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("ResponseFlagFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + case *AccessLogFilter_GrpcStatusFilter: + + if h, ok := interface{}(m.GetGrpcStatusFilter()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("GrpcStatusFilter")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetGrpcStatusFilter(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("GrpcStatusFilter")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *ComparisonFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.ComparisonFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("Op")); err != nil { + return 0, err + } + err = binary.Write(hasher, binary.LittleEndian, m.GetOp()) + if err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetValue()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Value")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetValue(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Value")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *StatusCodeFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.StatusCodeFilter")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetComparison()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Comparison")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetComparison(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Comparison")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *DurationFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.DurationFilter")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetComparison()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Comparison")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetComparison(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Comparison")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *NotHealthCheckFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.NotHealthCheckFilter")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *TraceableFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.TraceableFilter")); err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *RuntimeFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.RuntimeFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("RuntimeKey")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(m.GetRuntimeKey())); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetPercentSampled()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("PercentSampled")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetPercentSampled(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("PercentSampled")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + if _, err = hasher.Write([]byte("UseIndependentRandomness")); err != nil { + return 0, err + } + err = binary.Write(hasher, binary.LittleEndian, m.GetUseIndependentRandomness()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *AndFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.AndFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("Filters")); err != nil { + return 0, err + } + for i, v := range m.GetFilters() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *OrFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.OrFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("Filters")); err != nil { + return 0, err + } + for i, v := range m.GetFilters() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if h, ok := interface{}(v).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(v, nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *HeaderFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.HeaderFilter")); err != nil { + return 0, err + } + + if h, ok := interface{}(m.GetHeader()).(safe_hasher.SafeHasher); ok { + if _, err = hasher.Write([]byte("Header")); err != nil { + return 0, err + } + if _, err = h.Hash(hasher); err != nil { + return 0, err + } + } else { + if fieldValue, err := hashstructure.Hash(m.GetHeader(), nil); err != nil { + return 0, err + } else { + if _, err = hasher.Write([]byte("Header")); err != nil { + return 0, err + } + if err := binary.Write(hasher, binary.LittleEndian, fieldValue); err != nil { + return 0, err + } + } + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *ResponseFlagFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.ResponseFlagFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("Flags")); err != nil { + return 0, err + } + for i, v := range m.GetFlags() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + if _, err = hasher.Write([]byte(v)); err != nil { + return 0, err + } + + } + + return hasher.Sum64(), nil +} + +// HashUnique function generates a hash of the object that is unique to the object by +// hashing field name and value pairs. +// Replaces Hash due to original hashing implemention only using field values. The omission +// of the field name in the hash calculation can lead to hash collisions. +func (m *GrpcStatusFilter) HashUnique(hasher hash.Hash64) (uint64, error) { + if m == nil { + return 0, nil + } + if hasher == nil { + hasher = fnv.New64() + } + var err error + if _, err = hasher.Write([]byte("als.options.gloo.solo.io.github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als.GrpcStatusFilter")); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("Statuses")); err != nil { + return 0, err + } + for i, v := range m.GetStatuses() { + if _, err = hasher.Write([]byte(strconv.Itoa(i))); err != nil { + return 0, err + } + + if _, err = hasher.Write([]byte("v")); err != nil { + return 0, err + } + err = binary.Write(hasher, binary.LittleEndian, v) + if err != nil { + return 0, err + } + + } + + if _, err = hasher.Write([]byte("Exclude")); err != nil { + return 0, err + } + err = binary.Write(hasher, binary.LittleEndian, m.GetExclude()) + if err != nil { + return 0, err + } + + return hasher.Sum64(), nil +} diff --git a/projects/gloo/pkg/plugins/als/converter.go b/projects/gloo/pkg/plugins/als/converter.go index 018e2685d44..a7ec6ce7625 100644 --- a/projects/gloo/pkg/plugins/als/converter.go +++ b/projects/gloo/pkg/plugins/als/converter.go @@ -251,9 +251,10 @@ func copyGrpcSettings(cfg *envoygrpc.HttpGrpcAccessLogConfig, alsSettings *als.A cfg.AdditionalResponseHeadersToLog = alsSettings.GrpcService.GetAdditionalResponseHeadersToLog() cfg.AdditionalResponseTrailersToLog = alsSettings.GrpcService.GetAdditionalResponseTrailersToLog() cfg.CommonConfig = &envoygrpc.CommonGrpcAccessLogConfig{ - LogName: alsSettings.GrpcService.GetLogName(), - GrpcService: svc, - TransportApiVersion: envoycore.ApiVersion_V3, + LogName: alsSettings.GrpcService.GetLogName(), + GrpcService: svc, + TransportApiVersion: envoycore.ApiVersion_V3, + FilterStateObjectsToLog: alsSettings.GrpcService.GetFilterStateObjectsToLog(), } return cfg.Validate() } diff --git a/projects/gloo/pkg/plugins/als/plugin_test.go b/projects/gloo/pkg/plugins/als/plugin_test.go index 21af7d8946d..5f76fad2a85 100644 --- a/projects/gloo/pkg/plugins/als/plugin_test.go +++ b/projects/gloo/pkg/plugins/als/plugin_test.go @@ -49,17 +49,19 @@ var _ = Describe("Plugin", func() { // to make sure we copied/pasted correctly and that no changes made to the Envoy definitions broke anything Describe("Test each Filter", func() { var ( - alsSettings *accessLogService.AccessLoggingService - logName string - extraHeaders []string - usRef *core.ResourceRef - accessLogConfigs []*envoyal.AccessLog - err error + alsSettings *accessLogService.AccessLoggingService + logName string + extraHeaders []string + filterStateObjectsToLog []string + usRef *core.ResourceRef + accessLogConfigs []*envoyal.AccessLog + err error ) BeforeEach(func() { logName = "test" extraHeaders = []string{"test"} + filterStateObjectsToLog = []string{"filtertest"} usRef = &core.ResourceRef{ Name: "default", Namespace: "default", @@ -77,6 +79,7 @@ var _ = Describe("Plugin", func() { AdditionalRequestHeadersToLog: extraHeaders, AdditionalResponseHeadersToLog: extraHeaders, AdditionalResponseTrailersToLog: extraHeaders, + FilterStateObjectsToLog: filterStateObjectsToLog, }, }, }, @@ -96,6 +99,7 @@ var _ = Describe("Plugin", func() { Expect(falCfg.AdditionalResponseHeadersToLog).To(Equal(extraHeaders)) Expect(falCfg.AdditionalResponseTrailersToLog).To(Equal(extraHeaders)) Expect(falCfg.CommonConfig.LogName).To(Equal(logName)) + Expect(falCfg.CommonConfig.FilterStateObjectsToLog).To(Equal(filterStateObjectsToLog)) envoyGrpc := falCfg.CommonConfig.GetGrpcService().GetEnvoyGrpc() Expect(envoyGrpc).NotTo(BeNil()) Expect(envoyGrpc.ClusterName).To(Equal(translatorutil.UpstreamToClusterName(usRef))) From db1482301a131ad06c77a93e2f55deae8abcb8cf Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Mon, 10 Mar 2025 13:56:03 -0400 Subject: [PATCH 2/2] changelog and generate --- .../grpc-access-log-filter-states.yaml | 2 +- .../gloo/pkg/api/v1/options/als/als.pb.go | 634 ++++++++++++------ 2 files changed, 421 insertions(+), 215 deletions(-) rename changelog/{v1.19.0-beta13 => v1.17.27}/grpc-access-log-filter-states.yaml (93%) diff --git a/changelog/v1.19.0-beta13/grpc-access-log-filter-states.yaml b/changelog/v1.17.27/grpc-access-log-filter-states.yaml similarity index 93% rename from changelog/v1.19.0-beta13/grpc-access-log-filter-states.yaml rename to changelog/v1.17.27/grpc-access-log-filter-states.yaml index 36b57f2b076..c44f31795c5 100644 --- a/changelog/v1.19.0-beta13/grpc-access-log-filter-states.yaml +++ b/changelog/v1.17.27/grpc-access-log-filter-states.yaml @@ -1,5 +1,5 @@ changelog: - - type: NEW_FEATURE + - type: FIX issueLink: https://github.com/solo-io/solo-projects/issues/7923 resolvesIssue: false description: >- diff --git a/projects/gloo/pkg/api/v1/options/als/als.pb.go b/projects/gloo/pkg/api/v1/options/als/als.pb.go index 83b87b4dd6d..b4da8ed8390 100644 --- a/projects/gloo/pkg/api/v1/options/als/als.pb.go +++ b/projects/gloo/pkg/api/v1/options/als/als.pb.go @@ -3,7 +3,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.5 +// protoc-gen-go v1.33.0 // protoc v3.6.1 // source: github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto @@ -12,9 +12,9 @@ package als import ( reflect "reflect" sync "sync" - unsafe "unsafe" _ "github.com/envoyproxy/protoc-gen-validate/validate" + _struct "github.com/golang/protobuf/ptypes/struct" v3 "github.com/solo-io/gloo/projects/gloo/pkg/api/external/envoy/config/core/v3" v32 "github.com/solo-io/gloo/projects/gloo/pkg/api/external/envoy/config/route/v3" v31 "github.com/solo-io/gloo/projects/gloo/pkg/api/external/envoy/type/v3" @@ -22,7 +22,6 @@ import ( _ "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - structpb "google.golang.org/protobuf/types/known/structpb" ) const ( @@ -178,17 +177,20 @@ func (GrpcStatusFilter_Status) EnumDescriptor() ([]byte, []int) { // Contains various settings for Envoy's access logging service. // See here for more information: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/accesslog/v3/accesslog.proto type AccessLoggingService struct { - state protoimpl.MessageState `protogen:"open.v1"` - AccessLog []*AccessLog `protobuf:"bytes,1,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccessLog []*AccessLog `protobuf:"bytes,1,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` } func (x *AccessLoggingService) Reset() { *x = AccessLoggingService{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *AccessLoggingService) String() string { @@ -199,7 +201,7 @@ func (*AccessLoggingService) ProtoMessage() {} func (x *AccessLoggingService) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[0] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -222,24 +224,27 @@ func (x *AccessLoggingService) GetAccessLog() []*AccessLog { } type AccessLog struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // type of Access Logging service to implement // - // Types that are valid to be assigned to OutputDestination: + // Types that are assignable to OutputDestination: // // *AccessLog_FileSink // *AccessLog_GrpcService OutputDestination isAccessLog_OutputDestination `protobuf_oneof:"OutputDestination"` Filter *AccessLogFilter `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache } func (x *AccessLog) Reset() { *x = AccessLog{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *AccessLog) String() string { @@ -250,7 +255,7 @@ func (*AccessLog) ProtoMessage() {} func (x *AccessLog) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -265,27 +270,23 @@ func (*AccessLog) Descriptor() ([]byte, []int) { return file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescGZIP(), []int{1} } -func (x *AccessLog) GetOutputDestination() isAccessLog_OutputDestination { - if x != nil { - return x.OutputDestination +func (m *AccessLog) GetOutputDestination() isAccessLog_OutputDestination { + if m != nil { + return m.OutputDestination } return nil } func (x *AccessLog) GetFileSink() *FileSink { - if x != nil { - if x, ok := x.OutputDestination.(*AccessLog_FileSink); ok { - return x.FileSink - } + if x, ok := x.GetOutputDestination().(*AccessLog_FileSink); ok { + return x.FileSink } return nil } func (x *AccessLog) GetGrpcService() *GrpcService { - if x != nil { - if x, ok := x.OutputDestination.(*AccessLog_GrpcService); ok { - return x.GrpcService - } + if x, ok := x.GetOutputDestination().(*AccessLog_GrpcService); ok { + return x.GrpcService } return nil } @@ -316,25 +317,28 @@ func (*AccessLog_FileSink) isAccessLog_OutputDestination() {} func (*AccessLog_GrpcService) isAccessLog_OutputDestination() {} type FileSink struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // the file path to which the file access logging service will sink Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // the format which the logs should be outputted by // - // Types that are valid to be assigned to OutputFormat: + // Types that are assignable to OutputFormat: // // *FileSink_StringFormat // *FileSink_JsonFormat - OutputFormat isFileSink_OutputFormat `protobuf_oneof:"output_format"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + OutputFormat isFileSink_OutputFormat `protobuf_oneof:"output_format"` } func (x *FileSink) Reset() { *x = FileSink{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *FileSink) String() string { @@ -345,7 +349,7 @@ func (*FileSink) ProtoMessage() {} func (x *FileSink) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -367,27 +371,23 @@ func (x *FileSink) GetPath() string { return "" } -func (x *FileSink) GetOutputFormat() isFileSink_OutputFormat { - if x != nil { - return x.OutputFormat +func (m *FileSink) GetOutputFormat() isFileSink_OutputFormat { + if m != nil { + return m.OutputFormat } return nil } func (x *FileSink) GetStringFormat() string { - if x != nil { - if x, ok := x.OutputFormat.(*FileSink_StringFormat); ok { - return x.StringFormat - } + if x, ok := x.GetOutputFormat().(*FileSink_StringFormat); ok { + return x.StringFormat } return "" } -func (x *FileSink) GetJsonFormat() *structpb.Struct { - if x != nil { - if x, ok := x.OutputFormat.(*FileSink_JsonFormat); ok { - return x.JsonFormat - } +func (x *FileSink) GetJsonFormat() *_struct.Struct { + if x, ok := x.GetOutputFormat().(*FileSink_JsonFormat); ok { + return x.JsonFormat } return nil } @@ -405,7 +405,7 @@ type FileSink_StringFormat struct { type FileSink_JsonFormat struct { // the format object by which to envoy will emit the logs in a structured way. // https://www.envoyproxy.io/docs/envoy/v1.14.1/configuration/observability/access_log#format-dictionaries - JsonFormat *structpb.Struct `protobuf:"bytes,3,opt,name=json_format,json=jsonFormat,proto3,oneof"` + JsonFormat *_struct.Struct `protobuf:"bytes,3,opt,name=json_format,json=jsonFormat,proto3,oneof"` } func (*FileSink_StringFormat) isFileSink_OutputFormat() {} @@ -413,12 +413,15 @@ func (*FileSink_StringFormat) isFileSink_OutputFormat() {} func (*FileSink_JsonFormat) isFileSink_OutputFormat() {} type GrpcService struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // name of log stream LogName string `protobuf:"bytes,1,opt,name=log_name,json=logName,proto3" json:"log_name,omitempty"` // The static cluster defined in bootstrap config to route to // - // Types that are valid to be assigned to ServiceRef: + // Types that are assignable to ServiceRef: // // *GrpcService_StaticClusterName ServiceRef isGrpcService_ServiceRef `protobuf_oneof:"service_ref"` @@ -428,15 +431,15 @@ type GrpcService struct { // Additional filter state objects to log in filter_state_objects. Logger will call FilterState::Object::serializeAsProto to serialize the filter state object. // See https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/access_loggers/grpc/v3/als.proto#extensions-access-loggers-grpc-v3-commongrpcaccesslogconfig FilterStateObjectsToLog []string `protobuf:"bytes,7,rep,name=filter_state_objects_to_log,json=filterStateObjectsToLog,proto3" json:"filter_state_objects_to_log,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache } func (x *GrpcService) Reset() { *x = GrpcService{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *GrpcService) String() string { @@ -447,7 +450,7 @@ func (*GrpcService) ProtoMessage() {} func (x *GrpcService) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -469,18 +472,16 @@ func (x *GrpcService) GetLogName() string { return "" } -func (x *GrpcService) GetServiceRef() isGrpcService_ServiceRef { - if x != nil { - return x.ServiceRef +func (m *GrpcService) GetServiceRef() isGrpcService_ServiceRef { + if m != nil { + return m.ServiceRef } return nil } func (x *GrpcService) GetStaticClusterName() string { - if x != nil { - if x, ok := x.ServiceRef.(*GrpcService_StaticClusterName); ok { - return x.StaticClusterName - } + if x, ok := x.GetServiceRef().(*GrpcService_StaticClusterName); ok { + return x.StaticClusterName } return "" } @@ -524,8 +525,11 @@ type GrpcService_StaticClusterName struct { func (*GrpcService_StaticClusterName) isGrpcService_ServiceRef() {} type AccessLogFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to FilterSpecifier: + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to FilterSpecifier: // // *AccessLogFilter_StatusCodeFilter // *AccessLogFilter_DurationFilter @@ -538,15 +542,15 @@ type AccessLogFilter struct { // *AccessLogFilter_ResponseFlagFilter // *AccessLogFilter_GrpcStatusFilter FilterSpecifier isAccessLogFilter_FilterSpecifier `protobuf_oneof:"filter_specifier"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache } func (x *AccessLogFilter) Reset() { *x = AccessLogFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *AccessLogFilter) String() string { @@ -557,7 +561,7 @@ func (*AccessLogFilter) ProtoMessage() {} func (x *AccessLogFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -572,99 +576,79 @@ func (*AccessLogFilter) Descriptor() ([]byte, []int) { return file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescGZIP(), []int{4} } -func (x *AccessLogFilter) GetFilterSpecifier() isAccessLogFilter_FilterSpecifier { - if x != nil { - return x.FilterSpecifier +func (m *AccessLogFilter) GetFilterSpecifier() isAccessLogFilter_FilterSpecifier { + if m != nil { + return m.FilterSpecifier } return nil } func (x *AccessLogFilter) GetStatusCodeFilter() *StatusCodeFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_StatusCodeFilter); ok { - return x.StatusCodeFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_StatusCodeFilter); ok { + return x.StatusCodeFilter } return nil } func (x *AccessLogFilter) GetDurationFilter() *DurationFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_DurationFilter); ok { - return x.DurationFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_DurationFilter); ok { + return x.DurationFilter } return nil } func (x *AccessLogFilter) GetNotHealthCheckFilter() *NotHealthCheckFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_NotHealthCheckFilter); ok { - return x.NotHealthCheckFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_NotHealthCheckFilter); ok { + return x.NotHealthCheckFilter } return nil } func (x *AccessLogFilter) GetTraceableFilter() *TraceableFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_TraceableFilter); ok { - return x.TraceableFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_TraceableFilter); ok { + return x.TraceableFilter } return nil } func (x *AccessLogFilter) GetRuntimeFilter() *RuntimeFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_RuntimeFilter); ok { - return x.RuntimeFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_RuntimeFilter); ok { + return x.RuntimeFilter } return nil } func (x *AccessLogFilter) GetAndFilter() *AndFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_AndFilter); ok { - return x.AndFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_AndFilter); ok { + return x.AndFilter } return nil } func (x *AccessLogFilter) GetOrFilter() *OrFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_OrFilter); ok { - return x.OrFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_OrFilter); ok { + return x.OrFilter } return nil } func (x *AccessLogFilter) GetHeaderFilter() *HeaderFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_HeaderFilter); ok { - return x.HeaderFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_HeaderFilter); ok { + return x.HeaderFilter } return nil } func (x *AccessLogFilter) GetResponseFlagFilter() *ResponseFlagFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_ResponseFlagFilter); ok { - return x.ResponseFlagFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_ResponseFlagFilter); ok { + return x.ResponseFlagFilter } return nil } func (x *AccessLogFilter) GetGrpcStatusFilter() *GrpcStatusFilter { - if x != nil { - if x, ok := x.FilterSpecifier.(*AccessLogFilter_GrpcStatusFilter); ok { - return x.GrpcStatusFilter - } + if x, ok := x.GetFilterSpecifier().(*AccessLogFilter_GrpcStatusFilter); ok { + return x.GrpcStatusFilter } return nil } @@ -745,24 +729,23 @@ func (*AccessLogFilter_GrpcStatusFilter) isAccessLogFilter_FilterSpecifier() {} // Filter on an integer comparison. type ComparisonFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Comparison operator. Op ComparisonFilter_Op `protobuf:"varint,1,opt,name=op,proto3,enum=als.options.gloo.solo.io.ComparisonFilter_Op" json:"op,omitempty"` - // Value to compare against. Note that the `defaultValue` field must be defined unless - // the `runtimeKey` matches a key that is defined in Envoy's [runtime configuration layer](https://www.envoyproxy.io/docs/envoy/v1.30.0/configuration/operations/runtime#config-runtime-bootstrap). - // Gloo Gateway does not include a key by default. To specify a key-value pair, use the - // [gatewayProxies.NAME.customStaticLayer]({{< versioned_link_path fromRoot="/reference/helm_chart_values/" >}}) - // Helm value or set the key at runtime by using the gateway proxy admin interface. - Value *v3.RuntimeUInt32 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // Value to compare against. + Value *v3.RuntimeUInt32 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *ComparisonFilter) Reset() { *x = ComparisonFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ComparisonFilter) String() string { @@ -773,7 +756,7 @@ func (*ComparisonFilter) ProtoMessage() {} func (x *ComparisonFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[5] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -804,18 +787,21 @@ func (x *ComparisonFilter) GetValue() *v3.RuntimeUInt32 { // Filters on HTTP response/status code. type StatusCodeFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Comparison. - Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Comparison. + Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` } func (x *StatusCodeFilter) Reset() { *x = StatusCodeFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *StatusCodeFilter) String() string { @@ -826,7 +812,7 @@ func (*StatusCodeFilter) ProtoMessage() {} func (x *StatusCodeFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[6] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -850,18 +836,21 @@ func (x *StatusCodeFilter) GetComparison() *ComparisonFilter { // Filters on total request duration in milliseconds. type DurationFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Comparison. - Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Comparison. + Comparison *ComparisonFilter `protobuf:"bytes,1,opt,name=comparison,proto3" json:"comparison,omitempty"` } func (x *DurationFilter) Reset() { *x = DurationFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *DurationFilter) String() string { @@ -872,7 +861,7 @@ func (*DurationFilter) ProtoMessage() {} func (x *DurationFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[7] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -897,16 +886,18 @@ func (x *DurationFilter) GetComparison() *ComparisonFilter { // Filters for requests that are not health check requests. A health check // request is marked by the health check filter. type NotHealthCheckFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } func (x *NotHealthCheckFilter) Reset() { *x = NotHealthCheckFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *NotHealthCheckFilter) String() string { @@ -917,7 +908,7 @@ func (*NotHealthCheckFilter) ProtoMessage() {} func (x *NotHealthCheckFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[8] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -935,16 +926,18 @@ func (*NotHealthCheckFilter) Descriptor() ([]byte, []int) { // Filters for requests that are traceable. See the tracing overview for more // information on how a request becomes traceable. type TraceableFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } func (x *TraceableFilter) Reset() { *x = TraceableFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *TraceableFilter) String() string { @@ -955,7 +948,7 @@ func (*TraceableFilter) ProtoMessage() {} func (x *TraceableFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[9] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -972,7 +965,10 @@ func (*TraceableFilter) Descriptor() ([]byte, []int) { // Filters for random sampling of requests. type RuntimeFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Runtime key to get an optional overridden numerator for use in the // `percent_sampled` field. If found in runtime, this value will replace the // default numerator. @@ -996,15 +992,15 @@ type RuntimeFilter struct { // cause the filter to behave like an independent random variable when // composed within logical operator filters). UseIndependentRandomness bool `protobuf:"varint,3,opt,name=use_independent_randomness,json=useIndependentRandomness,proto3" json:"use_independent_randomness,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache } func (x *RuntimeFilter) Reset() { *x = RuntimeFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *RuntimeFilter) String() string { @@ -1015,7 +1011,7 @@ func (*RuntimeFilter) ProtoMessage() {} func (x *RuntimeFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[10] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1055,17 +1051,20 @@ func (x *RuntimeFilter) GetUseIndependentRandomness() bool { // Filters are evaluated sequentially and if one of them returns false, the // filter returns false immediately. type AndFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` - Filters []*AccessLogFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filters []*AccessLogFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *AndFilter) Reset() { *x = AndFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *AndFilter) String() string { @@ -1076,7 +1075,7 @@ func (*AndFilter) ProtoMessage() {} func (x *AndFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[11] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1102,17 +1101,20 @@ func (x *AndFilter) GetFilters() []*AccessLogFilter { // Filters are evaluated sequentially and if one of them returns true, the // filter returns true immediately. type OrFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` - Filters []*AccessLogFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filters []*AccessLogFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` } func (x *OrFilter) Reset() { *x = OrFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *OrFilter) String() string { @@ -1123,7 +1125,7 @@ func (*OrFilter) ProtoMessage() {} func (x *OrFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[12] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1147,19 +1149,22 @@ func (x *OrFilter) GetFilters() []*AccessLogFilter { // Filters requests based on the presence or value of a request header. type HeaderFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Only requests with a header which matches the specified HeaderMatcher will // pass the filter check. - Header *v32.HeaderMatcher `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + Header *v32.HeaderMatcher `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` } func (x *HeaderFilter) Reset() { *x = HeaderFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *HeaderFilter) String() string { @@ -1170,7 +1175,7 @@ func (*HeaderFilter) ProtoMessage() {} func (x *HeaderFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[13] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1197,20 +1202,23 @@ func (x *HeaderFilter) GetHeader() *v32.HeaderMatcher { // in the access log formatter // :ref:`documentation`. type ResponseFlagFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Only responses with the any of the flags listed in this field will be // logged. This field is optional. If it is not specified, then any response // flag will pass the filter check. - Flags []string `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + Flags []string `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` } func (x *ResponseFlagFilter) Reset() { *x = ResponseFlagFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ResponseFlagFilter) String() string { @@ -1221,7 +1229,7 @@ func (*ResponseFlagFilter) ProtoMessage() {} func (x *ResponseFlagFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[14] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1246,22 +1254,25 @@ func (x *ResponseFlagFilter) GetFlags() []string { // Filters gRPC requests based on their response status. If a gRPC status is not // provided, the filter will infer the status from the HTTP status code. type GrpcStatusFilter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Logs only responses that have any one of the gRPC statuses in this field. Statuses []GrpcStatusFilter_Status `protobuf:"varint,1,rep,packed,name=statuses,proto3,enum=als.options.gloo.solo.io.GrpcStatusFilter_Status" json:"statuses,omitempty"` // If included and set to true, the filter will instead block all responses // with a gRPC status or inferred gRPC status enumerated in statuses, and // allow all other responses. - Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + Exclude bool `protobuf:"varint,2,opt,name=exclude,proto3" json:"exclude,omitempty"` } func (x *GrpcStatusFilter) Reset() { *x = GrpcStatusFilter{} - mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *GrpcStatusFilter) String() string { @@ -1272,7 +1283,7 @@ func (*GrpcStatusFilter) ProtoMessage() {} func (x *GrpcStatusFilter) ProtoReflect() protoreflect.Message { mi := &file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[15] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1303,7 +1314,7 @@ func (x *GrpcStatusFilter) GetExclude() bool { var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto protoreflect.FileDescriptor -var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc = string([]byte{ +var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc = []byte{ 0x0a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x6c, 0x6f, 0x2d, 0x69, 0x6f, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, @@ -1549,23 +1560,23 @@ var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawD 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +} var ( file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescOnce sync.Once - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData []byte + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData = file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc ) func file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescGZIP() []byte { file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescOnce.Do(func() { - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc), len(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc))) + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData) }) return file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDescData } var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes = make([]protoimpl.MessageInfo, 16) -var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_goTypes = []any{ +var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_goTypes = []interface{}{ (ComparisonFilter_Op)(0), // 0: als.options.gloo.solo.io.ComparisonFilter.Op (GrpcStatusFilter_Status)(0), // 1: als.options.gloo.solo.io.GrpcStatusFilter.Status (*AccessLoggingService)(nil), // 2: als.options.gloo.solo.io.AccessLoggingService @@ -1584,7 +1595,7 @@ var file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_goTy (*HeaderFilter)(nil), // 15: als.options.gloo.solo.io.HeaderFilter (*ResponseFlagFilter)(nil), // 16: als.options.gloo.solo.io.ResponseFlagFilter (*GrpcStatusFilter)(nil), // 17: als.options.gloo.solo.io.GrpcStatusFilter - (*structpb.Struct)(nil), // 18: google.protobuf.Struct + (*_struct.Struct)(nil), // 18: google.protobuf.Struct (*v3.RuntimeUInt32)(nil), // 19: solo.io.envoy.config.core.v3.RuntimeUInt32 (*v31.FractionalPercent)(nil), // 20: solo.io.envoy.type.v3.FractionalPercent (*v32.HeaderMatcher)(nil), // 21: solo.io.envoy.config.route.v3.HeaderMatcher @@ -1626,18 +1637,212 @@ func file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_ini if File_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto != nil { return } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1].OneofWrappers = []any{ + if !protoimpl.UnsafeEnabled { + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLoggingService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileSink); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrpcService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLogFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComparisonFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusCodeFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DurationFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotHealthCheckFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TraceableFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RuntimeFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AndFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HeaderFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResponseFlagFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrpcStatusFilter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[1].OneofWrappers = []interface{}{ (*AccessLog_FileSink)(nil), (*AccessLog_GrpcService)(nil), } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2].OneofWrappers = []any{ + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[2].OneofWrappers = []interface{}{ (*FileSink_StringFormat)(nil), (*FileSink_JsonFormat)(nil), } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3].OneofWrappers = []any{ + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[3].OneofWrappers = []interface{}{ (*GrpcService_StaticClusterName)(nil), } - file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4].OneofWrappers = []any{ + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes[4].OneofWrappers = []interface{}{ (*AccessLogFilter_StatusCodeFilter)(nil), (*AccessLogFilter_DurationFilter)(nil), (*AccessLogFilter_NotHealthCheckFilter)(nil), @@ -1653,7 +1858,7 @@ func file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_ini out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc), len(file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc)), + RawDescriptor: file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc, NumEnums: 2, NumMessages: 16, NumExtensions: 0, @@ -1665,6 +1870,7 @@ func file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_ini MessageInfos: file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_msgTypes, }.Build() File_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto = out.File + file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_rawDesc = nil file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_goTypes = nil file_github_com_solo_io_gloo_projects_gloo_api_v1_options_als_als_proto_depIdxs = nil }