1// Code generated by protoc-gen-validate. DO NOT EDIT.
2// source: envoy/config/listener/v3/listener.proto
3
4package envoy_config_listener_v3
5
6import (
7	"bytes"
8	"errors"
9	"fmt"
10	"net"
11	"net/mail"
12	"net/url"
13	"regexp"
14	"strings"
15	"time"
16	"unicode/utf8"
17
18	"github.com/golang/protobuf/ptypes"
19
20	v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
21)
22
23// ensure the imports are used
24var (
25	_ = bytes.MinRead
26	_ = errors.New("")
27	_ = fmt.Print
28	_ = utf8.UTFMax
29	_ = (*regexp.Regexp)(nil)
30	_ = (*strings.Reader)(nil)
31	_ = net.IPv4len
32	_ = time.Duration(0)
33	_ = (*url.URL)(nil)
34	_ = (*mail.Address)(nil)
35	_ = ptypes.DynamicAny{}
36
37	_ = v3.TrafficDirection(0)
38)
39
40// define the regex for a UUID once up-front
41var _listener_uuidPattern = regexp.MustCompile("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$")
42
43// Validate checks the field values on Listener with the rules defined in the
44// proto definition for this message. If any rules are violated, an error is returned.
45func (m *Listener) Validate() error {
46	if m == nil {
47		return nil
48	}
49
50	// no validation rules for Name
51
52	if m.GetAddress() == nil {
53		return ListenerValidationError{
54			field:  "Address",
55			reason: "value is required",
56		}
57	}
58
59	if v, ok := interface{}(m.GetAddress()).(interface{ Validate() error }); ok {
60		if err := v.Validate(); err != nil {
61			return ListenerValidationError{
62				field:  "Address",
63				reason: "embedded message failed validation",
64				cause:  err,
65			}
66		}
67	}
68
69	for idx, item := range m.GetFilterChains() {
70		_, _ = idx, item
71
72		if v, ok := interface{}(item).(interface{ Validate() error }); ok {
73			if err := v.Validate(); err != nil {
74				return ListenerValidationError{
75					field:  fmt.Sprintf("FilterChains[%v]", idx),
76					reason: "embedded message failed validation",
77					cause:  err,
78				}
79			}
80		}
81
82	}
83
84	if v, ok := interface{}(m.GetHiddenEnvoyDeprecatedUseOriginalDst()).(interface{ Validate() error }); ok {
85		if err := v.Validate(); err != nil {
86			return ListenerValidationError{
87				field:  "HiddenEnvoyDeprecatedUseOriginalDst",
88				reason: "embedded message failed validation",
89				cause:  err,
90			}
91		}
92	}
93
94	if v, ok := interface{}(m.GetPerConnectionBufferLimitBytes()).(interface{ Validate() error }); ok {
95		if err := v.Validate(); err != nil {
96			return ListenerValidationError{
97				field:  "PerConnectionBufferLimitBytes",
98				reason: "embedded message failed validation",
99				cause:  err,
100			}
101		}
102	}
103
104	if v, ok := interface{}(m.GetMetadata()).(interface{ Validate() error }); ok {
105		if err := v.Validate(); err != nil {
106			return ListenerValidationError{
107				field:  "Metadata",
108				reason: "embedded message failed validation",
109				cause:  err,
110			}
111		}
112	}
113
114	if v, ok := interface{}(m.GetDeprecatedV1()).(interface{ Validate() error }); ok {
115		if err := v.Validate(); err != nil {
116			return ListenerValidationError{
117				field:  "DeprecatedV1",
118				reason: "embedded message failed validation",
119				cause:  err,
120			}
121		}
122	}
123
124	// no validation rules for DrainType
125
126	for idx, item := range m.GetListenerFilters() {
127		_, _ = idx, item
128
129		if v, ok := interface{}(item).(interface{ Validate() error }); ok {
130			if err := v.Validate(); err != nil {
131				return ListenerValidationError{
132					field:  fmt.Sprintf("ListenerFilters[%v]", idx),
133					reason: "embedded message failed validation",
134					cause:  err,
135				}
136			}
137		}
138
139	}
140
141	if v, ok := interface{}(m.GetListenerFiltersTimeout()).(interface{ Validate() error }); ok {
142		if err := v.Validate(); err != nil {
143			return ListenerValidationError{
144				field:  "ListenerFiltersTimeout",
145				reason: "embedded message failed validation",
146				cause:  err,
147			}
148		}
149	}
150
151	// no validation rules for ContinueOnListenerFiltersTimeout
152
153	if v, ok := interface{}(m.GetTransparent()).(interface{ Validate() error }); ok {
154		if err := v.Validate(); err != nil {
155			return ListenerValidationError{
156				field:  "Transparent",
157				reason: "embedded message failed validation",
158				cause:  err,
159			}
160		}
161	}
162
163	if v, ok := interface{}(m.GetFreebind()).(interface{ Validate() error }); ok {
164		if err := v.Validate(); err != nil {
165			return ListenerValidationError{
166				field:  "Freebind",
167				reason: "embedded message failed validation",
168				cause:  err,
169			}
170		}
171	}
172
173	for idx, item := range m.GetSocketOptions() {
174		_, _ = idx, item
175
176		if v, ok := interface{}(item).(interface{ Validate() error }); ok {
177			if err := v.Validate(); err != nil {
178				return ListenerValidationError{
179					field:  fmt.Sprintf("SocketOptions[%v]", idx),
180					reason: "embedded message failed validation",
181					cause:  err,
182				}
183			}
184		}
185
186	}
187
188	if v, ok := interface{}(m.GetTcpFastOpenQueueLength()).(interface{ Validate() error }); ok {
189		if err := v.Validate(); err != nil {
190			return ListenerValidationError{
191				field:  "TcpFastOpenQueueLength",
192				reason: "embedded message failed validation",
193				cause:  err,
194			}
195		}
196	}
197
198	// no validation rules for TrafficDirection
199
200	if v, ok := interface{}(m.GetUdpListenerConfig()).(interface{ Validate() error }); ok {
201		if err := v.Validate(); err != nil {
202			return ListenerValidationError{
203				field:  "UdpListenerConfig",
204				reason: "embedded message failed validation",
205				cause:  err,
206			}
207		}
208	}
209
210	if v, ok := interface{}(m.GetApiListener()).(interface{ Validate() error }); ok {
211		if err := v.Validate(); err != nil {
212			return ListenerValidationError{
213				field:  "ApiListener",
214				reason: "embedded message failed validation",
215				cause:  err,
216			}
217		}
218	}
219
220	if v, ok := interface{}(m.GetConnectionBalanceConfig()).(interface{ Validate() error }); ok {
221		if err := v.Validate(); err != nil {
222			return ListenerValidationError{
223				field:  "ConnectionBalanceConfig",
224				reason: "embedded message failed validation",
225				cause:  err,
226			}
227		}
228	}
229
230	// no validation rules for ReusePort
231
232	for idx, item := range m.GetAccessLog() {
233		_, _ = idx, item
234
235		if v, ok := interface{}(item).(interface{ Validate() error }); ok {
236			if err := v.Validate(); err != nil {
237				return ListenerValidationError{
238					field:  fmt.Sprintf("AccessLog[%v]", idx),
239					reason: "embedded message failed validation",
240					cause:  err,
241				}
242			}
243		}
244
245	}
246
247	return nil
248}
249
250// ListenerValidationError is the validation error returned by
251// Listener.Validate if the designated constraints aren't met.
252type ListenerValidationError struct {
253	field  string
254	reason string
255	cause  error
256	key    bool
257}
258
259// Field function returns field value.
260func (e ListenerValidationError) Field() string { return e.field }
261
262// Reason function returns reason value.
263func (e ListenerValidationError) Reason() string { return e.reason }
264
265// Cause function returns cause value.
266func (e ListenerValidationError) Cause() error { return e.cause }
267
268// Key function returns key value.
269func (e ListenerValidationError) Key() bool { return e.key }
270
271// ErrorName returns error name.
272func (e ListenerValidationError) ErrorName() string { return "ListenerValidationError" }
273
274// Error satisfies the builtin error interface
275func (e ListenerValidationError) Error() string {
276	cause := ""
277	if e.cause != nil {
278		cause = fmt.Sprintf(" | caused by: %v", e.cause)
279	}
280
281	key := ""
282	if e.key {
283		key = "key for "
284	}
285
286	return fmt.Sprintf(
287		"invalid %sListener.%s: %s%s",
288		key,
289		e.field,
290		e.reason,
291		cause)
292}
293
294var _ error = ListenerValidationError{}
295
296var _ interface {
297	Field() string
298	Reason() string
299	Key() bool
300	Cause() error
301	ErrorName() string
302} = ListenerValidationError{}
303
304// Validate checks the field values on Listener_DeprecatedV1 with the rules
305// defined in the proto definition for this message. If any rules are
306// violated, an error is returned.
307func (m *Listener_DeprecatedV1) Validate() error {
308	if m == nil {
309		return nil
310	}
311
312	if v, ok := interface{}(m.GetBindToPort()).(interface{ Validate() error }); ok {
313		if err := v.Validate(); err != nil {
314			return Listener_DeprecatedV1ValidationError{
315				field:  "BindToPort",
316				reason: "embedded message failed validation",
317				cause:  err,
318			}
319		}
320	}
321
322	return nil
323}
324
325// Listener_DeprecatedV1ValidationError is the validation error returned by
326// Listener_DeprecatedV1.Validate if the designated constraints aren't met.
327type Listener_DeprecatedV1ValidationError struct {
328	field  string
329	reason string
330	cause  error
331	key    bool
332}
333
334// Field function returns field value.
335func (e Listener_DeprecatedV1ValidationError) Field() string { return e.field }
336
337// Reason function returns reason value.
338func (e Listener_DeprecatedV1ValidationError) Reason() string { return e.reason }
339
340// Cause function returns cause value.
341func (e Listener_DeprecatedV1ValidationError) Cause() error { return e.cause }
342
343// Key function returns key value.
344func (e Listener_DeprecatedV1ValidationError) Key() bool { return e.key }
345
346// ErrorName returns error name.
347func (e Listener_DeprecatedV1ValidationError) ErrorName() string {
348	return "Listener_DeprecatedV1ValidationError"
349}
350
351// Error satisfies the builtin error interface
352func (e Listener_DeprecatedV1ValidationError) Error() string {
353	cause := ""
354	if e.cause != nil {
355		cause = fmt.Sprintf(" | caused by: %v", e.cause)
356	}
357
358	key := ""
359	if e.key {
360		key = "key for "
361	}
362
363	return fmt.Sprintf(
364		"invalid %sListener_DeprecatedV1.%s: %s%s",
365		key,
366		e.field,
367		e.reason,
368		cause)
369}
370
371var _ error = Listener_DeprecatedV1ValidationError{}
372
373var _ interface {
374	Field() string
375	Reason() string
376	Key() bool
377	Cause() error
378	ErrorName() string
379} = Listener_DeprecatedV1ValidationError{}
380
381// Validate checks the field values on Listener_ConnectionBalanceConfig with
382// the rules defined in the proto definition for this message. If any rules
383// are violated, an error is returned.
384func (m *Listener_ConnectionBalanceConfig) Validate() error {
385	if m == nil {
386		return nil
387	}
388
389	switch m.BalanceType.(type) {
390
391	case *Listener_ConnectionBalanceConfig_ExactBalance_:
392
393		if v, ok := interface{}(m.GetExactBalance()).(interface{ Validate() error }); ok {
394			if err := v.Validate(); err != nil {
395				return Listener_ConnectionBalanceConfigValidationError{
396					field:  "ExactBalance",
397					reason: "embedded message failed validation",
398					cause:  err,
399				}
400			}
401		}
402
403	default:
404		return Listener_ConnectionBalanceConfigValidationError{
405			field:  "BalanceType",
406			reason: "value is required",
407		}
408
409	}
410
411	return nil
412}
413
414// Listener_ConnectionBalanceConfigValidationError is the validation error
415// returned by Listener_ConnectionBalanceConfig.Validate if the designated
416// constraints aren't met.
417type Listener_ConnectionBalanceConfigValidationError struct {
418	field  string
419	reason string
420	cause  error
421	key    bool
422}
423
424// Field function returns field value.
425func (e Listener_ConnectionBalanceConfigValidationError) Field() string { return e.field }
426
427// Reason function returns reason value.
428func (e Listener_ConnectionBalanceConfigValidationError) Reason() string { return e.reason }
429
430// Cause function returns cause value.
431func (e Listener_ConnectionBalanceConfigValidationError) Cause() error { return e.cause }
432
433// Key function returns key value.
434func (e Listener_ConnectionBalanceConfigValidationError) Key() bool { return e.key }
435
436// ErrorName returns error name.
437func (e Listener_ConnectionBalanceConfigValidationError) ErrorName() string {
438	return "Listener_ConnectionBalanceConfigValidationError"
439}
440
441// Error satisfies the builtin error interface
442func (e Listener_ConnectionBalanceConfigValidationError) Error() string {
443	cause := ""
444	if e.cause != nil {
445		cause = fmt.Sprintf(" | caused by: %v", e.cause)
446	}
447
448	key := ""
449	if e.key {
450		key = "key for "
451	}
452
453	return fmt.Sprintf(
454		"invalid %sListener_ConnectionBalanceConfig.%s: %s%s",
455		key,
456		e.field,
457		e.reason,
458		cause)
459}
460
461var _ error = Listener_ConnectionBalanceConfigValidationError{}
462
463var _ interface {
464	Field() string
465	Reason() string
466	Key() bool
467	Cause() error
468	ErrorName() string
469} = Listener_ConnectionBalanceConfigValidationError{}
470
471// Validate checks the field values on
472// Listener_ConnectionBalanceConfig_ExactBalance with the rules defined in the
473// proto definition for this message. If any rules are violated, an error is returned.
474func (m *Listener_ConnectionBalanceConfig_ExactBalance) Validate() error {
475	if m == nil {
476		return nil
477	}
478
479	return nil
480}
481
482// Listener_ConnectionBalanceConfig_ExactBalanceValidationError is the
483// validation error returned by
484// Listener_ConnectionBalanceConfig_ExactBalance.Validate if the designated
485// constraints aren't met.
486type Listener_ConnectionBalanceConfig_ExactBalanceValidationError struct {
487	field  string
488	reason string
489	cause  error
490	key    bool
491}
492
493// Field function returns field value.
494func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Field() string { return e.field }
495
496// Reason function returns reason value.
497func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Reason() string { return e.reason }
498
499// Cause function returns cause value.
500func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Cause() error { return e.cause }
501
502// Key function returns key value.
503func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Key() bool { return e.key }
504
505// ErrorName returns error name.
506func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) ErrorName() string {
507	return "Listener_ConnectionBalanceConfig_ExactBalanceValidationError"
508}
509
510// Error satisfies the builtin error interface
511func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Error() string {
512	cause := ""
513	if e.cause != nil {
514		cause = fmt.Sprintf(" | caused by: %v", e.cause)
515	}
516
517	key := ""
518	if e.key {
519		key = "key for "
520	}
521
522	return fmt.Sprintf(
523		"invalid %sListener_ConnectionBalanceConfig_ExactBalance.%s: %s%s",
524		key,
525		e.field,
526		e.reason,
527		cause)
528}
529
530var _ error = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{}
531
532var _ interface {
533	Field() string
534	Reason() string
535	Key() bool
536	Cause() error
537	ErrorName() string
538} = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{}
539