1// Code generated by protoc-gen-validate. DO NOT EDIT.
2// source: envoy/api/v2/listener.proto
3
4package envoy_api_v2
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	core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core"
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	_ = core.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.GetUseOriginalDst()).(interface{ Validate() error }); ok {
85		if err := v.Validate(); err != nil {
86			return ListenerValidationError{
87				field:  "UseOriginalDst",
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	return nil
233}
234
235// ListenerValidationError is the validation error returned by
236// Listener.Validate if the designated constraints aren't met.
237type ListenerValidationError struct {
238	field  string
239	reason string
240	cause  error
241	key    bool
242}
243
244// Field function returns field value.
245func (e ListenerValidationError) Field() string { return e.field }
246
247// Reason function returns reason value.
248func (e ListenerValidationError) Reason() string { return e.reason }
249
250// Cause function returns cause value.
251func (e ListenerValidationError) Cause() error { return e.cause }
252
253// Key function returns key value.
254func (e ListenerValidationError) Key() bool { return e.key }
255
256// ErrorName returns error name.
257func (e ListenerValidationError) ErrorName() string { return "ListenerValidationError" }
258
259// Error satisfies the builtin error interface
260func (e ListenerValidationError) Error() string {
261	cause := ""
262	if e.cause != nil {
263		cause = fmt.Sprintf(" | caused by: %v", e.cause)
264	}
265
266	key := ""
267	if e.key {
268		key = "key for "
269	}
270
271	return fmt.Sprintf(
272		"invalid %sListener.%s: %s%s",
273		key,
274		e.field,
275		e.reason,
276		cause)
277}
278
279var _ error = ListenerValidationError{}
280
281var _ interface {
282	Field() string
283	Reason() string
284	Key() bool
285	Cause() error
286	ErrorName() string
287} = ListenerValidationError{}
288
289// Validate checks the field values on Listener_DeprecatedV1 with the rules
290// defined in the proto definition for this message. If any rules are
291// violated, an error is returned.
292func (m *Listener_DeprecatedV1) Validate() error {
293	if m == nil {
294		return nil
295	}
296
297	if v, ok := interface{}(m.GetBindToPort()).(interface{ Validate() error }); ok {
298		if err := v.Validate(); err != nil {
299			return Listener_DeprecatedV1ValidationError{
300				field:  "BindToPort",
301				reason: "embedded message failed validation",
302				cause:  err,
303			}
304		}
305	}
306
307	return nil
308}
309
310// Listener_DeprecatedV1ValidationError is the validation error returned by
311// Listener_DeprecatedV1.Validate if the designated constraints aren't met.
312type Listener_DeprecatedV1ValidationError struct {
313	field  string
314	reason string
315	cause  error
316	key    bool
317}
318
319// Field function returns field value.
320func (e Listener_DeprecatedV1ValidationError) Field() string { return e.field }
321
322// Reason function returns reason value.
323func (e Listener_DeprecatedV1ValidationError) Reason() string { return e.reason }
324
325// Cause function returns cause value.
326func (e Listener_DeprecatedV1ValidationError) Cause() error { return e.cause }
327
328// Key function returns key value.
329func (e Listener_DeprecatedV1ValidationError) Key() bool { return e.key }
330
331// ErrorName returns error name.
332func (e Listener_DeprecatedV1ValidationError) ErrorName() string {
333	return "Listener_DeprecatedV1ValidationError"
334}
335
336// Error satisfies the builtin error interface
337func (e Listener_DeprecatedV1ValidationError) Error() string {
338	cause := ""
339	if e.cause != nil {
340		cause = fmt.Sprintf(" | caused by: %v", e.cause)
341	}
342
343	key := ""
344	if e.key {
345		key = "key for "
346	}
347
348	return fmt.Sprintf(
349		"invalid %sListener_DeprecatedV1.%s: %s%s",
350		key,
351		e.field,
352		e.reason,
353		cause)
354}
355
356var _ error = Listener_DeprecatedV1ValidationError{}
357
358var _ interface {
359	Field() string
360	Reason() string
361	Key() bool
362	Cause() error
363	ErrorName() string
364} = Listener_DeprecatedV1ValidationError{}
365
366// Validate checks the field values on Listener_ConnectionBalanceConfig with
367// the rules defined in the proto definition for this message. If any rules
368// are violated, an error is returned.
369func (m *Listener_ConnectionBalanceConfig) Validate() error {
370	if m == nil {
371		return nil
372	}
373
374	switch m.BalanceType.(type) {
375
376	case *Listener_ConnectionBalanceConfig_ExactBalance_:
377
378		if v, ok := interface{}(m.GetExactBalance()).(interface{ Validate() error }); ok {
379			if err := v.Validate(); err != nil {
380				return Listener_ConnectionBalanceConfigValidationError{
381					field:  "ExactBalance",
382					reason: "embedded message failed validation",
383					cause:  err,
384				}
385			}
386		}
387
388	default:
389		return Listener_ConnectionBalanceConfigValidationError{
390			field:  "BalanceType",
391			reason: "value is required",
392		}
393
394	}
395
396	return nil
397}
398
399// Listener_ConnectionBalanceConfigValidationError is the validation error
400// returned by Listener_ConnectionBalanceConfig.Validate if the designated
401// constraints aren't met.
402type Listener_ConnectionBalanceConfigValidationError struct {
403	field  string
404	reason string
405	cause  error
406	key    bool
407}
408
409// Field function returns field value.
410func (e Listener_ConnectionBalanceConfigValidationError) Field() string { return e.field }
411
412// Reason function returns reason value.
413func (e Listener_ConnectionBalanceConfigValidationError) Reason() string { return e.reason }
414
415// Cause function returns cause value.
416func (e Listener_ConnectionBalanceConfigValidationError) Cause() error { return e.cause }
417
418// Key function returns key value.
419func (e Listener_ConnectionBalanceConfigValidationError) Key() bool { return e.key }
420
421// ErrorName returns error name.
422func (e Listener_ConnectionBalanceConfigValidationError) ErrorName() string {
423	return "Listener_ConnectionBalanceConfigValidationError"
424}
425
426// Error satisfies the builtin error interface
427func (e Listener_ConnectionBalanceConfigValidationError) Error() string {
428	cause := ""
429	if e.cause != nil {
430		cause = fmt.Sprintf(" | caused by: %v", e.cause)
431	}
432
433	key := ""
434	if e.key {
435		key = "key for "
436	}
437
438	return fmt.Sprintf(
439		"invalid %sListener_ConnectionBalanceConfig.%s: %s%s",
440		key,
441		e.field,
442		e.reason,
443		cause)
444}
445
446var _ error = Listener_ConnectionBalanceConfigValidationError{}
447
448var _ interface {
449	Field() string
450	Reason() string
451	Key() bool
452	Cause() error
453	ErrorName() string
454} = Listener_ConnectionBalanceConfigValidationError{}
455
456// Validate checks the field values on
457// Listener_ConnectionBalanceConfig_ExactBalance with the rules defined in the
458// proto definition for this message. If any rules are violated, an error is returned.
459func (m *Listener_ConnectionBalanceConfig_ExactBalance) Validate() error {
460	if m == nil {
461		return nil
462	}
463
464	return nil
465}
466
467// Listener_ConnectionBalanceConfig_ExactBalanceValidationError is the
468// validation error returned by
469// Listener_ConnectionBalanceConfig_ExactBalance.Validate if the designated
470// constraints aren't met.
471type Listener_ConnectionBalanceConfig_ExactBalanceValidationError struct {
472	field  string
473	reason string
474	cause  error
475	key    bool
476}
477
478// Field function returns field value.
479func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Field() string { return e.field }
480
481// Reason function returns reason value.
482func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Reason() string { return e.reason }
483
484// Cause function returns cause value.
485func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Cause() error { return e.cause }
486
487// Key function returns key value.
488func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Key() bool { return e.key }
489
490// ErrorName returns error name.
491func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) ErrorName() string {
492	return "Listener_ConnectionBalanceConfig_ExactBalanceValidationError"
493}
494
495// Error satisfies the builtin error interface
496func (e Listener_ConnectionBalanceConfig_ExactBalanceValidationError) Error() string {
497	cause := ""
498	if e.cause != nil {
499		cause = fmt.Sprintf(" | caused by: %v", e.cause)
500	}
501
502	key := ""
503	if e.key {
504		key = "key for "
505	}
506
507	return fmt.Sprintf(
508		"invalid %sListener_ConnectionBalanceConfig_ExactBalance.%s: %s%s",
509		key,
510		e.field,
511		e.reason,
512		cause)
513}
514
515var _ error = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{}
516
517var _ interface {
518	Field() string
519	Reason() string
520	Key() bool
521	Cause() error
522	ErrorName() string
523} = Listener_ConnectionBalanceConfig_ExactBalanceValidationError{}
524