1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// 	protoc-gen-go v1.25.0
4// 	protoc        v3.16.0
5// source: envoy/extensions/filters/network/ext_authz/v4alpha/ext_authz.proto
6
7package envoy_extensions_filters_network_ext_authz_v4alpha
8
9import (
10	_ "github.com/cncf/xds/go/udpa/annotations"
11	v4alpha "github.com/envoyproxy/go-control-plane/envoy/config/core/v4alpha"
12	v4alpha1 "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v4alpha"
13	_ "github.com/envoyproxy/protoc-gen-validate/validate"
14	proto "github.com/golang/protobuf/proto"
15	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
16	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
17	reflect "reflect"
18	sync "sync"
19)
20
21const (
22	// Verify that this generated code is sufficiently up-to-date.
23	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
24	// Verify that runtime/protoimpl is sufficiently up-to-date.
25	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
26)
27
28// This is a compile-time assertion that a sufficiently up-to-date version
29// of the legacy proto package is being used.
30const _ = proto.ProtoPackageIsVersion4
31
32// External Authorization filter calls out to an external service over the
33// gRPC Authorization API defined by
34// :ref:`CheckRequest <envoy_v3_api_msg_service.auth.v3.CheckRequest>`.
35// A failed check will cause this filter to close the TCP connection.
36// [#next-free-field: 7]
37type ExtAuthz struct {
38	state         protoimpl.MessageState
39	sizeCache     protoimpl.SizeCache
40	unknownFields protoimpl.UnknownFields
41
42	// The prefix to use when emitting statistics.
43	StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
44	// The external authorization gRPC service configuration.
45	// The default timeout is set to 200ms by this filter.
46	GrpcService *v4alpha.GrpcService `protobuf:"bytes,2,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"`
47	// The filter's behaviour in case the external authorization service does
48	// not respond back. When it is set to true, Envoy will also allow traffic in case of
49	// communication failure between authorization service and the proxy.
50	// Defaults to false.
51	FailureModeAllow bool `protobuf:"varint,3,opt,name=failure_mode_allow,json=failureModeAllow,proto3" json:"failure_mode_allow,omitempty"`
52	// Specifies if the peer certificate is sent to the external service.
53	//
54	// When this field is true, Envoy will include the peer X.509 certificate, if available, in the
55	// :ref:`certificate<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.certificate>`.
56	IncludePeerCertificate bool `protobuf:"varint,4,opt,name=include_peer_certificate,json=includePeerCertificate,proto3" json:"include_peer_certificate,omitempty"`
57	// API version for ext_authz transport protocol. This describes the ext_authz gRPC endpoint and
58	// version of Check{Request,Response} used on the wire.
59	TransportApiVersion v4alpha.ApiVersion `protobuf:"varint,5,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v4alpha.ApiVersion" json:"transport_api_version,omitempty"`
60	// Specifies if the filter is enabled with metadata matcher.
61	// If this field is not specified, the filter will be enabled for all requests.
62	FilterEnabledMetadata *v4alpha1.MetadataMatcher `protobuf:"bytes,6,opt,name=filter_enabled_metadata,json=filterEnabledMetadata,proto3" json:"filter_enabled_metadata,omitempty"`
63}
64
65func (x *ExtAuthz) Reset() {
66	*x = ExtAuthz{}
67	if protoimpl.UnsafeEnabled {
68		mi := &file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_msgTypes[0]
69		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
70		ms.StoreMessageInfo(mi)
71	}
72}
73
74func (x *ExtAuthz) String() string {
75	return protoimpl.X.MessageStringOf(x)
76}
77
78func (*ExtAuthz) ProtoMessage() {}
79
80func (x *ExtAuthz) ProtoReflect() protoreflect.Message {
81	mi := &file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_msgTypes[0]
82	if protoimpl.UnsafeEnabled && x != nil {
83		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
84		if ms.LoadMessageInfo() == nil {
85			ms.StoreMessageInfo(mi)
86		}
87		return ms
88	}
89	return mi.MessageOf(x)
90}
91
92// Deprecated: Use ExtAuthz.ProtoReflect.Descriptor instead.
93func (*ExtAuthz) Descriptor() ([]byte, []int) {
94	return file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDescGZIP(), []int{0}
95}
96
97func (x *ExtAuthz) GetStatPrefix() string {
98	if x != nil {
99		return x.StatPrefix
100	}
101	return ""
102}
103
104func (x *ExtAuthz) GetGrpcService() *v4alpha.GrpcService {
105	if x != nil {
106		return x.GrpcService
107	}
108	return nil
109}
110
111func (x *ExtAuthz) GetFailureModeAllow() bool {
112	if x != nil {
113		return x.FailureModeAllow
114	}
115	return false
116}
117
118func (x *ExtAuthz) GetIncludePeerCertificate() bool {
119	if x != nil {
120		return x.IncludePeerCertificate
121	}
122	return false
123}
124
125func (x *ExtAuthz) GetTransportApiVersion() v4alpha.ApiVersion {
126	if x != nil {
127		return x.TransportApiVersion
128	}
129	return v4alpha.ApiVersion_hidden_envoy_deprecated_AUTO
130}
131
132func (x *ExtAuthz) GetFilterEnabledMetadata() *v4alpha1.MetadataMatcher {
133	if x != nil {
134		return x.FilterEnabledMetadata
135	}
136	return nil
137}
138
139var File_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto protoreflect.FileDescriptor
140
141var file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDesc = []byte{
142	0x0a, 0x42, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
143	0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f,
144	0x72, 0x6b, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x76, 0x34, 0x61,
145	0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70,
146	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65,
147	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e,
148	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a,
149	0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f,
150	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 0x61, 0x6c,
151	0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
152	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63,
153	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70,
154	0x68, 0x61, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
155	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70,
156	0x65, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68,
157	0x61, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
158	0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
159	0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
160	0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
161	0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f,
162	0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c,
163	0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x03, 0x0a, 0x08,
164	0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74,
165	0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
166	0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x50, 0x72, 0x65, 0x66,
167	0x69, 0x78, 0x12, 0x49, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
168	0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
169	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61,
170	0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
171	0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a,
172	0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x6c,
173	0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75,
174	0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x38, 0x0a, 0x18, 0x69,
175	0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x72, 0x74,
176	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69,
177	0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x65, 0x72, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
178	0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
179	0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05,
180	0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e,
181	0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61,
182	0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05,
183	0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
184	0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x17, 0x66, 0x69,
185	0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74,
186	0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e,
187	0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
188	0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
189	0x61, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x15, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
190	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a,
191	0x3d, 0x9a, 0xc5, 0x88, 0x1e, 0x38, 0x0a, 0x36, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78,
192	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
193	0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74,
194	0x68, 0x7a, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x42, 0x5b,
195	0x0a, 0x40, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e,
196	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
197	0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
198	0x2e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70,
199	0x68, 0x61, 0x42, 0x0d, 0x45, 0x78, 0x74, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74,
200	0x6f, 0x50, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x03, 0x62, 0x06, 0x70, 0x72, 0x6f,
201	0x74, 0x6f, 0x33,
202}
203
204var (
205	file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDescOnce sync.Once
206	file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDescData = file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDesc
207)
208
209func file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDescGZIP() []byte {
210	file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDescOnce.Do(func() {
211		file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDescData)
212	})
213	return file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDescData
214}
215
216var file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
217var file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_goTypes = []interface{}{
218	(*ExtAuthz)(nil),                 // 0: envoy.extensions.filters.network.ext_authz.v4alpha.ExtAuthz
219	(*v4alpha.GrpcService)(nil),      // 1: envoy.config.core.v4alpha.GrpcService
220	(v4alpha.ApiVersion)(0),          // 2: envoy.config.core.v4alpha.ApiVersion
221	(*v4alpha1.MetadataMatcher)(nil), // 3: envoy.type.matcher.v4alpha.MetadataMatcher
222}
223var file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_depIdxs = []int32{
224	1, // 0: envoy.extensions.filters.network.ext_authz.v4alpha.ExtAuthz.grpc_service:type_name -> envoy.config.core.v4alpha.GrpcService
225	2, // 1: envoy.extensions.filters.network.ext_authz.v4alpha.ExtAuthz.transport_api_version:type_name -> envoy.config.core.v4alpha.ApiVersion
226	3, // 2: envoy.extensions.filters.network.ext_authz.v4alpha.ExtAuthz.filter_enabled_metadata:type_name -> envoy.type.matcher.v4alpha.MetadataMatcher
227	3, // [3:3] is the sub-list for method output_type
228	3, // [3:3] is the sub-list for method input_type
229	3, // [3:3] is the sub-list for extension type_name
230	3, // [3:3] is the sub-list for extension extendee
231	0, // [0:3] is the sub-list for field type_name
232}
233
234func init() { file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_init() }
235func file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_init() {
236	if File_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto != nil {
237		return
238	}
239	if !protoimpl.UnsafeEnabled {
240		file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
241			switch v := v.(*ExtAuthz); i {
242			case 0:
243				return &v.state
244			case 1:
245				return &v.sizeCache
246			case 2:
247				return &v.unknownFields
248			default:
249				return nil
250			}
251		}
252	}
253	type x struct{}
254	out := protoimpl.TypeBuilder{
255		File: protoimpl.DescBuilder{
256			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
257			RawDescriptor: file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDesc,
258			NumEnums:      0,
259			NumMessages:   1,
260			NumExtensions: 0,
261			NumServices:   0,
262		},
263		GoTypes:           file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_goTypes,
264		DependencyIndexes: file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_depIdxs,
265		MessageInfos:      file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_msgTypes,
266	}.Build()
267	File_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto = out.File
268	file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_rawDesc = nil
269	file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_goTypes = nil
270	file_envoy_extensions_filters_network_ext_authz_v4alpha_ext_authz_proto_depIdxs = nil
271}
272