bytes.proto 1.6 KB

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