-
Notifications
You must be signed in to change notification settings - Fork 580
/
bytes.proto
23 lines (21 loc) · 1.59 KB
/
bytes.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
syntax = "proto3";
package tests.harness.cases;
option go_package = "github.com/envoyproxy/protoc-gen-validate/tests/harness/cases/go;cases";
import "validate/validate.proto";
message BytesNone { bytes val = 1; }
message BytesConst { bytes val = 1 [(validate.rules).bytes.const = "foo"]; }
message BytesIn { bytes val = 1 [(validate.rules).bytes = {in: ["bar", "baz"]}]; }
message BytesNotIn { bytes val = 1 [(validate.rules).bytes = {not_in: ["fizz", "buzz"]}]; }
message BytesLen { bytes val = 1 [(validate.rules).bytes.len = 3]; }
message BytesMinLen { bytes val = 1 [(validate.rules).bytes.min_len = 3]; }
message BytesMaxLen { bytes val = 1 [(validate.rules).bytes.max_len = 5]; }
message BytesMinMaxLen { bytes val = 1 [(validate.rules).bytes = {min_len: 3, max_len: 5}]; }
message BytesEqualMinMaxLen { bytes val = 1 [(validate.rules).bytes = {min_len: 5, max_len: 5}]; }
message BytesPattern { bytes val = 1 [(validate.rules).bytes.pattern = "^[\x00-\x7F]+$"]; }
message BytesPrefix { bytes val = 1 [(validate.rules).bytes.prefix = "\x99"]; }
message BytesContains { bytes val = 1 [(validate.rules).bytes.contains = "bar"]; }
message BytesSuffix { bytes val = 1 [(validate.rules).bytes.suffix = "buz\x7a"]; }
message BytesIP { bytes val = 1 [(validate.rules).bytes.ip = true]; }
message BytesIPv4 { bytes val = 1 [(validate.rules).bytes.ipv4 = true]; }
message BytesIPv6 { bytes val = 1 [(validate.rules).bytes.ipv6 = true]; }
message BytesIPv6Ignore { bytes val = 1 [(validate.rules).bytes = {ipv6: true, ignore_empty: true}]; }