diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-15 16:37:08 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-17 16:30:22 -0600 |
| commit | 45df4d0d9b577fecee798d672695fe24ff57fb1b (patch) | |
| tree | 1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/buf.build/gen | |
| parent | f94f79608393d4ab127db63cc41668445ef6b243 (diff) | |
feat: migrate from Cedar to SpiceDB authorization system
This is a major architectural change that replaces the Cedar policy-based
authorization system with SpiceDB's relation-based authorization.
Key changes:
- Migrate from Rust to Go implementation
- Replace Cedar policies with SpiceDB schema and relationships
- Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks
- Update build system and dependencies for Go ecosystem
- Maintain Envoy integration for external authorization
This change enables more flexible permission modeling through SpiceDB's
Google Zanzibar inspired relation-based system, supporting complex
hierarchical permissions that were difficult to express in Cedar.
Breaking change: Existing Cedar policies and Rust-based configuration
will no longer work and need to be migrated to SpiceDB schema.
Diffstat (limited to 'vendor/buf.build/gen')
3 files changed, 32885 insertions, 0 deletions
diff --git a/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/LICENSE b/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/LICENSE new file mode 100644 index 00000000..3e1d480e --- /dev/null +++ b/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2023-2025 Buf Technologies, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/validate.pb.go b/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/validate.pb.go new file mode 100644 index 00000000..e9542e8e --- /dev/null +++ b/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/validate.pb.go @@ -0,0 +1,17096 @@ +// Copyright 2023-2025 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.6 +// protoc (unknown) +// source: buf/validate/validate.proto + +//go:build !protoopaque + +package validate + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specifies how FieldRules.ignore behaves. See the documentation for +// FieldRules.required for definitions of "populated" and "nullable". +type Ignore int32 + +const ( + // Validation is only skipped if it's an unpopulated nullable field. + // + // ```proto + // syntax="proto3"; + // + // message Request { + // // The uri rule applies to any value, including the empty string. + // string foo = 1 [ + // (buf.validate.field).string.uri = true + // ]; + // + // // The uri rule only applies if the field is set, including if it's + // // set to the empty string. + // optional string bar = 2 [ + // (buf.validate.field).string.uri = true + // ]; + // + // // The min_items rule always applies, even if the list is empty. + // repeated string baz = 3 [ + // (buf.validate.field).repeated.min_items = 3 + // ]; + // + // // The custom CEL rule applies only if the field is set, including if + // // it's the "zero" value of that message. + // SomeMessage quux = 4 [ + // (buf.validate.field).cel = {/* ... */} + // ]; + // } + // + // ``` + Ignore_IGNORE_UNSPECIFIED Ignore = 0 + // Validation is skipped if the field is unpopulated. This rule is redundant + // if the field is already nullable. + // + // ```proto + // syntax="proto3 + // + // message Request { + // // The uri rule applies only if the value is not the empty string. + // string foo = 1 [ + // (buf.validate.field).string.uri = true, + // (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED + // ]; + // + // // IGNORE_IF_UNPOPULATED is equivalent to IGNORE_UNSPECIFIED in this + // // case: the uri rule only applies if the field is set, including if + // // it's set to the empty string. + // optional string bar = 2 [ + // (buf.validate.field).string.uri = true, + // (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED + // ]; + // + // // The min_items rule only applies if the list has at least one item. + // repeated string baz = 3 [ + // (buf.validate.field).repeated.min_items = 3, + // (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED + // ]; + // + // // IGNORE_IF_UNPOPULATED is equivalent to IGNORE_UNSPECIFIED in this + // // case: the custom CEL rule applies only if the field is set, including + // // if it's the "zero" value of that message. + // SomeMessage quux = 4 [ + // (buf.validate.field).cel = {/* ... */}, + // (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED + // ]; + // } + // + // ``` + Ignore_IGNORE_IF_UNPOPULATED Ignore = 1 + // Validation is skipped if the field is unpopulated or if it is a nullable + // field populated with its default value. This is typically the zero or + // empty value, but proto2 scalars support custom defaults. For messages, the + // default is a non-null message with all its fields unpopulated. + // + // ```proto + // syntax="proto3 + // + // message Request { + // // IGNORE_IF_DEFAULT_VALUE is equivalent to IGNORE_IF_UNPOPULATED in + // // this case; the uri rule applies only if the value is not the empty + // // string. + // string foo = 1 [ + // (buf.validate.field).string.uri = true, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // + // // The uri rule only applies if the field is set to a value other than + // // the empty string. + // optional string bar = 2 [ + // (buf.validate.field).string.uri = true, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // + // // IGNORE_IF_DEFAULT_VALUE is equivalent to IGNORE_IF_UNPOPULATED in + // // this case; the min_items rule only applies if the list has at least + // // one item. + // repeated string baz = 3 [ + // (buf.validate.field).repeated.min_items = 3, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // + // // The custom CEL rule only applies if the field is set to a value other + // // than an empty message (i.e., fields are unpopulated). + // SomeMessage quux = 4 [ + // (buf.validate.field).cel = {/* ... */}, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // } + // + // ``` + // + // This rule is affected by proto2 custom default values: + // + // ```proto + // syntax="proto2"; + // + // message Request { + // // The gt rule only applies if the field is set and it's value is not + // the default (i.e., not -42). The rule even applies if the field is set + // to zero since the default value differs. + // optional int32 value = 1 [ + // default = -42, + // (buf.validate.field).int32.gt = 0, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // } + Ignore_IGNORE_IF_DEFAULT_VALUE Ignore = 2 + // The validation rules of this field will be skipped and not evaluated. This + // is useful for situations that necessitate turning off the rules of a field + // containing a message that may not make sense in the current context, or to + // temporarily disable rules during development. + // + // ```proto + // + // message MyMessage { + // // The field's rules will always be ignored, including any validation's + // // on value's fields. + // MyOtherMessage value = 1 [ + // (buf.validate.field).ignore = IGNORE_ALWAYS]; + // } + // + // ``` + Ignore_IGNORE_ALWAYS Ignore = 3 +) + +// Enum value maps for Ignore. +var ( + Ignore_name = map[int32]string{ + 0: "IGNORE_UNSPECIFIED", + 1: "IGNORE_IF_UNPOPULATED", + 2: "IGNORE_IF_DEFAULT_VALUE", + 3: "IGNORE_ALWAYS", + } + Ignore_value = map[string]int32{ + "IGNORE_UNSPECIFIED": 0, + "IGNORE_IF_UNPOPULATED": 1, + "IGNORE_IF_DEFAULT_VALUE": 2, + "IGNORE_ALWAYS": 3, + } +) + +func (x Ignore) Enum() *Ignore { + p := new(Ignore) + *p = x + return p +} + +func (x Ignore) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Ignore) Descriptor() protoreflect.EnumDescriptor { + return file_buf_validate_validate_proto_enumTypes[0].Descriptor() +} + +func (Ignore) Type() protoreflect.EnumType { + return &file_buf_validate_validate_proto_enumTypes[0] +} + +func (x Ignore) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// KnownRegex contains some well-known patterns. +type KnownRegex int32 + +const ( + KnownRegex_KNOWN_REGEX_UNSPECIFIED KnownRegex = 0 + // HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2). + KnownRegex_KNOWN_REGEX_HTTP_HEADER_NAME KnownRegex = 1 + // HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4). + KnownRegex_KNOWN_REGEX_HTTP_HEADER_VALUE KnownRegex = 2 +) + +// Enum value maps for KnownRegex. +var ( + KnownRegex_name = map[int32]string{ + 0: "KNOWN_REGEX_UNSPECIFIED", + 1: "KNOWN_REGEX_HTTP_HEADER_NAME", + 2: "KNOWN_REGEX_HTTP_HEADER_VALUE", + } + KnownRegex_value = map[string]int32{ + "KNOWN_REGEX_UNSPECIFIED": 0, + "KNOWN_REGEX_HTTP_HEADER_NAME": 1, + "KNOWN_REGEX_HTTP_HEADER_VALUE": 2, + } +) + +func (x KnownRegex) Enum() *KnownRegex { + p := new(KnownRegex) + *p = x + return p +} + +func (x KnownRegex) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (KnownRegex) Descriptor() protoreflect.EnumDescriptor { + return file_buf_validate_validate_proto_enumTypes[1].Descriptor() +} + +func (KnownRegex) Type() protoreflect.EnumType { + return &file_buf_validate_validate_proto_enumTypes[1] +} + +func (x KnownRegex) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// `Rule` represents a validation rule written in the Common Expression +// Language (CEL) syntax. Each Rule includes a unique identifier, an +// optional error message, and the CEL expression to evaluate. For more +// information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). +// +// ```proto +// +// message Foo { +// option (buf.validate.message).cel = { +// id: "foo.bar" +// message: "bar must be greater than 0" +// expression: "this.bar > 0" +// }; +// int32 bar = 1; +// } +// +// ``` +type Rule struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `id` is a string that serves as a machine-readable name for this Rule. + // It should be unique within its scope, which could be either a message or a field. + Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` + // `message` is an optional field that provides a human-readable error message + // for this Rule when the CEL expression evaluates to false. If a + // non-empty message is provided, any strings resulting from the CEL + // expression evaluation are ignored. + Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` + // `expression` is the actual CEL expression that will be evaluated for + // validation. This string must resolve to either a boolean or a string + // value. If the expression evaluates to false or a non-empty string, the + // validation is considered failed, and the message is rejected. + Expression *string `protobuf:"bytes,3,opt,name=expression" json:"expression,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Rule) Reset() { + *x = Rule{} + mi := &file_buf_validate_validate_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Rule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Rule) ProtoMessage() {} + +func (x *Rule) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Rule) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *Rule) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *Rule) GetExpression() string { + if x != nil && x.Expression != nil { + return *x.Expression + } + return "" +} + +func (x *Rule) SetId(v string) { + x.Id = &v +} + +func (x *Rule) SetMessage(v string) { + x.Message = &v +} + +func (x *Rule) SetExpression(v string) { + x.Expression = &v +} + +func (x *Rule) HasId() bool { + if x == nil { + return false + } + return x.Id != nil +} + +func (x *Rule) HasMessage() bool { + if x == nil { + return false + } + return x.Message != nil +} + +func (x *Rule) HasExpression() bool { + if x == nil { + return false + } + return x.Expression != nil +} + +func (x *Rule) ClearId() { + x.Id = nil +} + +func (x *Rule) ClearMessage() { + x.Message = nil +} + +func (x *Rule) ClearExpression() { + x.Expression = nil +} + +type Rule_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `id` is a string that serves as a machine-readable name for this Rule. + // It should be unique within its scope, which could be either a message or a field. + Id *string + // `message` is an optional field that provides a human-readable error message + // for this Rule when the CEL expression evaluates to false. If a + // non-empty message is provided, any strings resulting from the CEL + // expression evaluation are ignored. + Message *string + // `expression` is the actual CEL expression that will be evaluated for + // validation. This string must resolve to either a boolean or a string + // value. If the expression evaluates to false or a non-empty string, the + // validation is considered failed, and the message is rejected. + Expression *string +} + +func (b0 Rule_builder) Build() *Rule { + m0 := &Rule{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.Message = b.Message + x.Expression = b.Expression + return m0 +} + +// MessageRules represents validation rules that are applied to the entire message. +// It includes disabling options and a list of Rule messages representing Common Expression Language (CEL) validation rules. +type MessageRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `disabled` is a boolean flag that, when set to true, nullifies any validation rules for this message. + // This includes any fields within the message that would otherwise support validation. + // + // ```proto + // + // message MyMessage { + // // validation will be bypassed for this message + // option (buf.validate.message).disabled = true; + // } + // + // ``` + Disabled *bool `protobuf:"varint,1,opt,name=disabled" json:"disabled,omitempty"` + // `cel` is a repeated field of type Rule. Each Rule specifies a validation rule to be applied to this message. + // These rules are written in Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `foo` must be greater than 42. + // option (buf.validate.message).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this.foo > 42", + // }; + // optional int32 foo = 1; + // } + // + // ``` + Cel []*Rule `protobuf:"bytes,3,rep,name=cel" json:"cel,omitempty"` + // `oneof` is a repeated field of type MessageOneofRule that specifies a list of fields + // of which at most one can be present. If `required` is also specified, then exactly one + // of the specified fields _must_ be present. + // + // This will enforce oneof-like constraints with a few features not provided by + // actual Protobuf oneof declarations: + // 1. Repeated and map fields are allowed in this validation. In a Protobuf oneof, + // only scalar fields are allowed. + // 2. Fields with implicit presence are allowed. In a Protobuf oneof, all member + // fields have explicit presence. This means that, for the purpose of determining + // how many fields are set, explicitly setting such a field to its zero value is + // effectively the same as not setting it at all. + // 3. This will always generate validation errors for a message unmarshalled from + // serialized data that sets more than one field. With a Protobuf oneof, when + // multiple fields are present in the serialized form, earlier values are usually + // silently ignored when unmarshalling, with only the last field being set when + // unmarshalling completes. + // + // Note that adding a field to a `oneof` will also set the IGNORE_IF_UNPOPULATED on the fields. This means + // only the field that is set will be validated and the unset fields are not validated according to the field rules. + // This behavior can be overridden by setting `ignore` against a field. + // + // ```proto + // + // message MyMessage { + // // Only one of `field1` or `field2` _can_ be present in this message. + // option (buf.validate.message).oneof = { fields: ["field1", "field2"] }; + // // Exactly one of `field3` or `field4` _must_ be present in this message. + // option (buf.validate.message).oneof = { fields: ["field3", "field4"], required: true }; + // string field1 = 1; + // bytes field2 = 2; + // bool field3 = 3; + // int32 field4 = 4; + // } + // + // ``` + Oneof []*MessageOneofRule `protobuf:"bytes,4,rep,name=oneof" json:"oneof,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MessageRules) Reset() { + *x = MessageRules{} + mi := &file_buf_validate_validate_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MessageRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageRules) ProtoMessage() {} + +func (x *MessageRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *MessageRules) GetDisabled() bool { + if x != nil && x.Disabled != nil { + return *x.Disabled + } + return false +} + +func (x *MessageRules) GetCel() []*Rule { + if x != nil { + return x.Cel + } + return nil +} + +func (x *MessageRules) GetOneof() []*MessageOneofRule { + if x != nil { + return x.Oneof + } + return nil +} + +func (x *MessageRules) SetDisabled(v bool) { + x.Disabled = &v +} + +func (x *MessageRules) SetCel(v []*Rule) { + x.Cel = v +} + +func (x *MessageRules) SetOneof(v []*MessageOneofRule) { + x.Oneof = v +} + +func (x *MessageRules) HasDisabled() bool { + if x == nil { + return false + } + return x.Disabled != nil +} + +func (x *MessageRules) ClearDisabled() { + x.Disabled = nil +} + +type MessageRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `disabled` is a boolean flag that, when set to true, nullifies any validation rules for this message. + // This includes any fields within the message that would otherwise support validation. + // + // ```proto + // + // message MyMessage { + // // validation will be bypassed for this message + // option (buf.validate.message).disabled = true; + // } + // + // ``` + Disabled *bool + // `cel` is a repeated field of type Rule. Each Rule specifies a validation rule to be applied to this message. + // These rules are written in Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `foo` must be greater than 42. + // option (buf.validate.message).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this.foo > 42", + // }; + // optional int32 foo = 1; + // } + // + // ``` + Cel []*Rule + // `oneof` is a repeated field of type MessageOneofRule that specifies a list of fields + // of which at most one can be present. If `required` is also specified, then exactly one + // of the specified fields _must_ be present. + // + // This will enforce oneof-like constraints with a few features not provided by + // actual Protobuf oneof declarations: + // 1. Repeated and map fields are allowed in this validation. In a Protobuf oneof, + // only scalar fields are allowed. + // 2. Fields with implicit presence are allowed. In a Protobuf oneof, all member + // fields have explicit presence. This means that, for the purpose of determining + // how many fields are set, explicitly setting such a field to its zero value is + // effectively the same as not setting it at all. + // 3. This will always generate validation errors for a message unmarshalled from + // serialized data that sets more than one field. With a Protobuf oneof, when + // multiple fields are present in the serialized form, earlier values are usually + // silently ignored when unmarshalling, with only the last field being set when + // unmarshalling completes. + // + // Note that adding a field to a `oneof` will also set the IGNORE_IF_UNPOPULATED on the fields. This means + // only the field that is set will be validated and the unset fields are not validated according to the field rules. + // This behavior can be overridden by setting `ignore` against a field. + // + // ```proto + // + // message MyMessage { + // // Only one of `field1` or `field2` _can_ be present in this message. + // option (buf.validate.message).oneof = { fields: ["field1", "field2"] }; + // // Exactly one of `field3` or `field4` _must_ be present in this message. + // option (buf.validate.message).oneof = { fields: ["field3", "field4"], required: true }; + // string field1 = 1; + // bytes field2 = 2; + // bool field3 = 3; + // int32 field4 = 4; + // } + // + // ``` + Oneof []*MessageOneofRule +} + +func (b0 MessageRules_builder) Build() *MessageRules { + m0 := &MessageRules{} + b, x := &b0, m0 + _, _ = b, x + x.Disabled = b.Disabled + x.Cel = b.Cel + x.Oneof = b.Oneof + return m0 +} + +type MessageOneofRule struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // A list of field names to include in the oneof. All field names must be + // defined in the message. At least one field must be specified, and + // duplicates are not permitted. + Fields []string `protobuf:"bytes,1,rep,name=fields" json:"fields,omitempty"` + // If true, one of the fields specified _must_ be set. + Required *bool `protobuf:"varint,2,opt,name=required" json:"required,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MessageOneofRule) Reset() { + *x = MessageOneofRule{} + mi := &file_buf_validate_validate_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MessageOneofRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageOneofRule) ProtoMessage() {} + +func (x *MessageOneofRule) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *MessageOneofRule) GetFields() []string { + if x != nil { + return x.Fields + } + return nil +} + +func (x *MessageOneofRule) GetRequired() bool { + if x != nil && x.Required != nil { + return *x.Required + } + return false +} + +func (x *MessageOneofRule) SetFields(v []string) { + x.Fields = v +} + +func (x *MessageOneofRule) SetRequired(v bool) { + x.Required = &v +} + +func (x *MessageOneofRule) HasRequired() bool { + if x == nil { + return false + } + return x.Required != nil +} + +func (x *MessageOneofRule) ClearRequired() { + x.Required = nil +} + +type MessageOneofRule_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // A list of field names to include in the oneof. All field names must be + // defined in the message. At least one field must be specified, and + // duplicates are not permitted. + Fields []string + // If true, one of the fields specified _must_ be set. + Required *bool +} + +func (b0 MessageOneofRule_builder) Build() *MessageOneofRule { + m0 := &MessageOneofRule{} + b, x := &b0, m0 + _, _ = b, x + x.Fields = b.Fields + x.Required = b.Required + return m0 +} + +// The `OneofRules` message type enables you to manage rules for +// oneof fields in your protobuf messages. +type OneofRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // If `required` is true, exactly one field of the oneof must be present. A + // validation error is returned if no fields in the oneof are present. The + // field itself may still be a default value; further rules + // should be placed on the fields themselves to ensure they are valid values, + // such as `min_len` or `gt`. + // + // ```proto + // + // message MyMessage { + // oneof value { + // // Either `a` or `b` must be set. If `a` is set, it must also be + // // non-empty; whereas if `b` is set, it can still be an empty string. + // option (buf.validate.oneof).required = true; + // string a = 1 [(buf.validate.field).string.min_len = 1]; + // string b = 2; + // } + // } + // + // ``` + Required *bool `protobuf:"varint,1,opt,name=required" json:"required,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OneofRules) Reset() { + *x = OneofRules{} + mi := &file_buf_validate_validate_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OneofRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OneofRules) ProtoMessage() {} + +func (x *OneofRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *OneofRules) GetRequired() bool { + if x != nil && x.Required != nil { + return *x.Required + } + return false +} + +func (x *OneofRules) SetRequired(v bool) { + x.Required = &v +} + +func (x *OneofRules) HasRequired() bool { + if x == nil { + return false + } + return x.Required != nil +} + +func (x *OneofRules) ClearRequired() { + x.Required = nil +} + +type OneofRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // If `required` is true, exactly one field of the oneof must be present. A + // validation error is returned if no fields in the oneof are present. The + // field itself may still be a default value; further rules + // should be placed on the fields themselves to ensure they are valid values, + // such as `min_len` or `gt`. + // + // ```proto + // + // message MyMessage { + // oneof value { + // // Either `a` or `b` must be set. If `a` is set, it must also be + // // non-empty; whereas if `b` is set, it can still be an empty string. + // option (buf.validate.oneof).required = true; + // string a = 1 [(buf.validate.field).string.min_len = 1]; + // string b = 2; + // } + // } + // + // ``` + Required *bool +} + +func (b0 OneofRules_builder) Build() *OneofRules { + m0 := &OneofRules{} + b, x := &b0, m0 + _, _ = b, x + x.Required = b.Required + return m0 +} + +// FieldRules encapsulates the rules for each type of field. Depending on +// the field, the correct set should be used to ensure proper validations. +type FieldRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `cel` is a repeated field used to represent a textual expression + // in the Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `value` must be greater than 42. + // optional int32 value = 1 [(buf.validate.field).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this > 42", + // }]; + // } + // + // ``` + Cel []*Rule `protobuf:"bytes,23,rep,name=cel" json:"cel,omitempty"` + // If `required` is true, the field must be populated. A populated field can be + // described as "serialized in the wire format," which includes: + // + // - the following "nullable" fields must be explicitly set to be considered populated: + // - singular message fields (whose fields may be unpopulated/default values) + // - member fields of a oneof (may be their default value) + // - proto3 optional fields (may be their default value) + // - proto2 scalar fields (both optional and required) + // + // - proto3 scalar fields must be non-zero to be considered populated + // - repeated and map fields must be non-empty to be considered populated + // - map keys/values and repeated items are always considered populated + // + // ```proto + // + // message MyMessage { + // // The field `value` must be set to a non-null value. + // optional MyOtherMessage value = 1 [(buf.validate.field).required = true]; + // } + // + // ``` + Required *bool `protobuf:"varint,25,opt,name=required" json:"required,omitempty"` + // Skip validation on the field if its value matches the specified criteria. + // See Ignore enum for details. + // + // ```proto + // + // message UpdateRequest { + // // The uri rule only applies if the field is populated and not an empty + // // string. + // optional string url = 1 [ + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE, + // (buf.validate.field).string.uri = true, + // ]; + // } + // + // ``` + Ignore *Ignore `protobuf:"varint,27,opt,name=ignore,enum=buf.validate.Ignore" json:"ignore,omitempty"` + // Types that are valid to be assigned to Type: + // + // *FieldRules_Float + // *FieldRules_Double + // *FieldRules_Int32 + // *FieldRules_Int64 + // *FieldRules_Uint32 + // *FieldRules_Uint64 + // *FieldRules_Sint32 + // *FieldRules_Sint64 + // *FieldRules_Fixed32 + // *FieldRules_Fixed64 + // *FieldRules_Sfixed32 + // *FieldRules_Sfixed64 + // *FieldRules_Bool + // *FieldRules_String_ + // *FieldRules_Bytes + // *FieldRules_Enum + // *FieldRules_Repeated + // *FieldRules_Map + // *FieldRules_Any + // *FieldRules_Duration + // *FieldRules_Timestamp + Type isFieldRules_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldRules) Reset() { + *x = FieldRules{} + mi := &file_buf_validate_validate_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldRules) ProtoMessage() {} + +func (x *FieldRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *FieldRules) GetCel() []*Rule { + if x != nil { + return x.Cel + } + return nil +} + +func (x *FieldRules) GetRequired() bool { + if x != nil && x.Required != nil { + return *x.Required + } + return false +} + +func (x *FieldRules) GetIgnore() Ignore { + if x != nil && x.Ignore != nil { + return *x.Ignore + } + return Ignore_IGNORE_UNSPECIFIED +} + +func (x *FieldRules) GetType() isFieldRules_Type { + if x != nil { + return x.Type + } + return nil +} + +func (x *FieldRules) GetFloat() *FloatRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Float); ok { + return x.Float + } + } + return nil +} + +func (x *FieldRules) GetDouble() *DoubleRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Double); ok { + return x.Double + } + } + return nil +} + +func (x *FieldRules) GetInt32() *Int32Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Int32); ok { + return x.Int32 + } + } + return nil +} + +func (x *FieldRules) GetInt64() *Int64Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Int64); ok { + return x.Int64 + } + } + return nil +} + +func (x *FieldRules) GetUint32() *UInt32Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Uint32); ok { + return x.Uint32 + } + } + return nil +} + +func (x *FieldRules) GetUint64() *UInt64Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Uint64); ok { + return x.Uint64 + } + } + return nil +} + +func (x *FieldRules) GetSint32() *SInt32Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Sint32); ok { + return x.Sint32 + } + } + return nil +} + +func (x *FieldRules) GetSint64() *SInt64Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Sint64); ok { + return x.Sint64 + } + } + return nil +} + +func (x *FieldRules) GetFixed32() *Fixed32Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Fixed32); ok { + return x.Fixed32 + } + } + return nil +} + +func (x *FieldRules) GetFixed64() *Fixed64Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Fixed64); ok { + return x.Fixed64 + } + } + return nil +} + +func (x *FieldRules) GetSfixed32() *SFixed32Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Sfixed32); ok { + return x.Sfixed32 + } + } + return nil +} + +func (x *FieldRules) GetSfixed64() *SFixed64Rules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Sfixed64); ok { + return x.Sfixed64 + } + } + return nil +} + +func (x *FieldRules) GetBool() *BoolRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Bool); ok { + return x.Bool + } + } + return nil +} + +func (x *FieldRules) GetString() *StringRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_String_); ok { + return x.String_ + } + } + return nil +} + +// Deprecated: Use GetString instead. +func (x *FieldRules) GetString_() *StringRules { + return x.GetString() +} + +func (x *FieldRules) GetBytes() *BytesRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Bytes); ok { + return x.Bytes + } + } + return nil +} + +func (x *FieldRules) GetEnum() *EnumRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Enum); ok { + return x.Enum + } + } + return nil +} + +func (x *FieldRules) GetRepeated() *RepeatedRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Repeated); ok { + return x.Repeated + } + } + return nil +} + +func (x *FieldRules) GetMap() *MapRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Map); ok { + return x.Map + } + } + return nil +} + +func (x *FieldRules) GetAny() *AnyRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Any); ok { + return x.Any + } + } + return nil +} + +func (x *FieldRules) GetDuration() *DurationRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Duration); ok { + return x.Duration + } + } + return nil +} + +func (x *FieldRules) GetTimestamp() *TimestampRules { + if x != nil { + if x, ok := x.Type.(*FieldRules_Timestamp); ok { + return x.Timestamp + } + } + return nil +} + +func (x *FieldRules) SetCel(v []*Rule) { + x.Cel = v +} + +func (x *FieldRules) SetRequired(v bool) { + x.Required = &v +} + +func (x *FieldRules) SetIgnore(v Ignore) { + x.Ignore = &v +} + +func (x *FieldRules) SetFloat(v *FloatRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Float{v} +} + +func (x *FieldRules) SetDouble(v *DoubleRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Double{v} +} + +func (x *FieldRules) SetInt32(v *Int32Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Int32{v} +} + +func (x *FieldRules) SetInt64(v *Int64Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Int64{v} +} + +func (x *FieldRules) SetUint32(v *UInt32Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Uint32{v} +} + +func (x *FieldRules) SetUint64(v *UInt64Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Uint64{v} +} + +func (x *FieldRules) SetSint32(v *SInt32Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Sint32{v} +} + +func (x *FieldRules) SetSint64(v *SInt64Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Sint64{v} +} + +func (x *FieldRules) SetFixed32(v *Fixed32Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Fixed32{v} +} + +func (x *FieldRules) SetFixed64(v *Fixed64Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Fixed64{v} +} + +func (x *FieldRules) SetSfixed32(v *SFixed32Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Sfixed32{v} +} + +func (x *FieldRules) SetSfixed64(v *SFixed64Rules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Sfixed64{v} +} + +func (x *FieldRules) SetBool(v *BoolRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Bool{v} +} + +func (x *FieldRules) SetString(v *StringRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_String_{v} +} + +func (x *FieldRules) SetBytes(v *BytesRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Bytes{v} +} + +func (x *FieldRules) SetEnum(v *EnumRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Enum{v} +} + +func (x *FieldRules) SetRepeated(v *RepeatedRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Repeated{v} +} + +func (x *FieldRules) SetMap(v *MapRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Map{v} +} + +func (x *FieldRules) SetAny(v *AnyRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Any{v} +} + +func (x *FieldRules) SetDuration(v *DurationRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Duration{v} +} + +func (x *FieldRules) SetTimestamp(v *TimestampRules) { + if v == nil { + x.Type = nil + return + } + x.Type = &FieldRules_Timestamp{v} +} + +func (x *FieldRules) HasRequired() bool { + if x == nil { + return false + } + return x.Required != nil +} + +func (x *FieldRules) HasIgnore() bool { + if x == nil { + return false + } + return x.Ignore != nil +} + +func (x *FieldRules) HasType() bool { + if x == nil { + return false + } + return x.Type != nil +} + +func (x *FieldRules) HasFloat() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Float) + return ok +} + +func (x *FieldRules) HasDouble() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Double) + return ok +} + +func (x *FieldRules) HasInt32() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Int32) + return ok +} + +func (x *FieldRules) HasInt64() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Int64) + return ok +} + +func (x *FieldRules) HasUint32() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Uint32) + return ok +} + +func (x *FieldRules) HasUint64() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Uint64) + return ok +} + +func (x *FieldRules) HasSint32() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Sint32) + return ok +} + +func (x *FieldRules) HasSint64() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Sint64) + return ok +} + +func (x *FieldRules) HasFixed32() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Fixed32) + return ok +} + +func (x *FieldRules) HasFixed64() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Fixed64) + return ok +} + +func (x *FieldRules) HasSfixed32() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Sfixed32) + return ok +} + +func (x *FieldRules) HasSfixed64() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Sfixed64) + return ok +} + +func (x *FieldRules) HasBool() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Bool) + return ok +} + +func (x *FieldRules) HasString() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_String_) + return ok +} + +func (x *FieldRules) HasBytes() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Bytes) + return ok +} + +func (x *FieldRules) HasEnum() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Enum) + return ok +} + +func (x *FieldRules) HasRepeated() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Repeated) + return ok +} + +func (x *FieldRules) HasMap() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Map) + return ok +} + +func (x *FieldRules) HasAny() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Any) + return ok +} + +func (x *FieldRules) HasDuration() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Duration) + return ok +} + +func (x *FieldRules) HasTimestamp() bool { + if x == nil { + return false + } + _, ok := x.Type.(*FieldRules_Timestamp) + return ok +} + +func (x *FieldRules) ClearRequired() { + x.Required = nil +} + +func (x *FieldRules) ClearIgnore() { + x.Ignore = nil +} + +func (x *FieldRules) ClearType() { + x.Type = nil +} + +func (x *FieldRules) ClearFloat() { + if _, ok := x.Type.(*FieldRules_Float); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearDouble() { + if _, ok := x.Type.(*FieldRules_Double); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearInt32() { + if _, ok := x.Type.(*FieldRules_Int32); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearInt64() { + if _, ok := x.Type.(*FieldRules_Int64); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearUint32() { + if _, ok := x.Type.(*FieldRules_Uint32); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearUint64() { + if _, ok := x.Type.(*FieldRules_Uint64); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearSint32() { + if _, ok := x.Type.(*FieldRules_Sint32); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearSint64() { + if _, ok := x.Type.(*FieldRules_Sint64); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearFixed32() { + if _, ok := x.Type.(*FieldRules_Fixed32); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearFixed64() { + if _, ok := x.Type.(*FieldRules_Fixed64); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearSfixed32() { + if _, ok := x.Type.(*FieldRules_Sfixed32); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearSfixed64() { + if _, ok := x.Type.(*FieldRules_Sfixed64); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearBool() { + if _, ok := x.Type.(*FieldRules_Bool); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearString() { + if _, ok := x.Type.(*FieldRules_String_); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearBytes() { + if _, ok := x.Type.(*FieldRules_Bytes); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearEnum() { + if _, ok := x.Type.(*FieldRules_Enum); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearRepeated() { + if _, ok := x.Type.(*FieldRules_Repeated); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearMap() { + if _, ok := x.Type.(*FieldRules_Map); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearAny() { + if _, ok := x.Type.(*FieldRules_Any); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearDuration() { + if _, ok := x.Type.(*FieldRules_Duration); ok { + x.Type = nil + } +} + +func (x *FieldRules) ClearTimestamp() { + if _, ok := x.Type.(*FieldRules_Timestamp); ok { + x.Type = nil + } +} + +const FieldRules_Type_not_set_case case_FieldRules_Type = 0 +const FieldRules_Float_case case_FieldRules_Type = 1 +const FieldRules_Double_case case_FieldRules_Type = 2 +const FieldRules_Int32_case case_FieldRules_Type = 3 +const FieldRules_Int64_case case_FieldRules_Type = 4 +const FieldRules_Uint32_case case_FieldRules_Type = 5 +const FieldRules_Uint64_case case_FieldRules_Type = 6 +const FieldRules_Sint32_case case_FieldRules_Type = 7 +const FieldRules_Sint64_case case_FieldRules_Type = 8 +const FieldRules_Fixed32_case case_FieldRules_Type = 9 +const FieldRules_Fixed64_case case_FieldRules_Type = 10 +const FieldRules_Sfixed32_case case_FieldRules_Type = 11 +const FieldRules_Sfixed64_case case_FieldRules_Type = 12 +const FieldRules_Bool_case case_FieldRules_Type = 13 +const FieldRules_String__case case_FieldRules_Type = 14 +const FieldRules_Bytes_case case_FieldRules_Type = 15 +const FieldRules_Enum_case case_FieldRules_Type = 16 +const FieldRules_Repeated_case case_FieldRules_Type = 18 +const FieldRules_Map_case case_FieldRules_Type = 19 +const FieldRules_Any_case case_FieldRules_Type = 20 +const FieldRules_Duration_case case_FieldRules_Type = 21 +const FieldRules_Timestamp_case case_FieldRules_Type = 22 + +func (x *FieldRules) WhichType() case_FieldRules_Type { + if x == nil { + return FieldRules_Type_not_set_case + } + switch x.Type.(type) { + case *FieldRules_Float: + return FieldRules_Float_case + case *FieldRules_Double: + return FieldRules_Double_case + case *FieldRules_Int32: + return FieldRules_Int32_case + case *FieldRules_Int64: + return FieldRules_Int64_case + case *FieldRules_Uint32: + return FieldRules_Uint32_case + case *FieldRules_Uint64: + return FieldRules_Uint64_case + case *FieldRules_Sint32: + return FieldRules_Sint32_case + case *FieldRules_Sint64: + return FieldRules_Sint64_case + case *FieldRules_Fixed32: + return FieldRules_Fixed32_case + case *FieldRules_Fixed64: + return FieldRules_Fixed64_case + case *FieldRules_Sfixed32: + return FieldRules_Sfixed32_case + case *FieldRules_Sfixed64: + return FieldRules_Sfixed64_case + case *FieldRules_Bool: + return FieldRules_Bool_case + case *FieldRules_String_: + return FieldRules_String__case + case *FieldRules_Bytes: + return FieldRules_Bytes_case + case *FieldRules_Enum: + return FieldRules_Enum_case + case *FieldRules_Repeated: + return FieldRules_Repeated_case + case *FieldRules_Map: + return FieldRules_Map_case + case *FieldRules_Any: + return FieldRules_Any_case + case *FieldRules_Duration: + return FieldRules_Duration_case + case *FieldRules_Timestamp: + return FieldRules_Timestamp_case + default: + return FieldRules_Type_not_set_case + } +} + +type FieldRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `cel` is a repeated field used to represent a textual expression + // in the Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `value` must be greater than 42. + // optional int32 value = 1 [(buf.validate.field).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this > 42", + // }]; + // } + // + // ``` + Cel []*Rule + // If `required` is true, the field must be populated. A populated field can be + // described as "serialized in the wire format," which includes: + // + // - the following "nullable" fields must be explicitly set to be considered populated: + // - singular message fields (whose fields may be unpopulated/default values) + // - member fields of a oneof (may be their default value) + // - proto3 optional fields (may be their default value) + // - proto2 scalar fields (both optional and required) + // + // - proto3 scalar fields must be non-zero to be considered populated + // - repeated and map fields must be non-empty to be considered populated + // - map keys/values and repeated items are always considered populated + // + // ```proto + // + // message MyMessage { + // // The field `value` must be set to a non-null value. + // optional MyOtherMessage value = 1 [(buf.validate.field).required = true]; + // } + // + // ``` + Required *bool + // Skip validation on the field if its value matches the specified criteria. + // See Ignore enum for details. + // + // ```proto + // + // message UpdateRequest { + // // The uri rule only applies if the field is populated and not an empty + // // string. + // optional string url = 1 [ + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE, + // (buf.validate.field).string.uri = true, + // ]; + // } + // + // ``` + Ignore *Ignore + // Fields of oneof Type: + // Scalar Field Types + Float *FloatRules + Double *DoubleRules + Int32 *Int32Rules + Int64 *Int64Rules + Uint32 *UInt32Rules + Uint64 *UInt64Rules + Sint32 *SInt32Rules + Sint64 *SInt64Rules + Fixed32 *Fixed32Rules + Fixed64 *Fixed64Rules + Sfixed32 *SFixed32Rules + Sfixed64 *SFixed64Rules + Bool *BoolRules + String *StringRules + Bytes *BytesRules + // Complex Field Types + Enum *EnumRules + Repeated *RepeatedRules + Map *MapRules + // Well-Known Field Types + Any *AnyRules + Duration *DurationRules + Timestamp *TimestampRules + // -- end of Type +} + +func (b0 FieldRules_builder) Build() *FieldRules { + m0 := &FieldRules{} + b, x := &b0, m0 + _, _ = b, x + x.Cel = b.Cel + x.Required = b.Required + x.Ignore = b.Ignore + if b.Float != nil { + x.Type = &FieldRules_Float{b.Float} + } + if b.Double != nil { + x.Type = &FieldRules_Double{b.Double} + } + if b.Int32 != nil { + x.Type = &FieldRules_Int32{b.Int32} + } + if b.Int64 != nil { + x.Type = &FieldRules_Int64{b.Int64} + } + if b.Uint32 != nil { + x.Type = &FieldRules_Uint32{b.Uint32} + } + if b.Uint64 != nil { + x.Type = &FieldRules_Uint64{b.Uint64} + } + if b.Sint32 != nil { + x.Type = &FieldRules_Sint32{b.Sint32} + } + if b.Sint64 != nil { + x.Type = &FieldRules_Sint64{b.Sint64} + } + if b.Fixed32 != nil { + x.Type = &FieldRules_Fixed32{b.Fixed32} + } + if b.Fixed64 != nil { + x.Type = &FieldRules_Fixed64{b.Fixed64} + } + if b.Sfixed32 != nil { + x.Type = &FieldRules_Sfixed32{b.Sfixed32} + } + if b.Sfixed64 != nil { + x.Type = &FieldRules_Sfixed64{b.Sfixed64} + } + if b.Bool != nil { + x.Type = &FieldRules_Bool{b.Bool} + } + if b.String != nil { + x.Type = &FieldRules_String_{b.String} + } + if b.Bytes != nil { + x.Type = &FieldRules_Bytes{b.Bytes} + } + if b.Enum != nil { + x.Type = &FieldRules_Enum{b.Enum} + } + if b.Repeated != nil { + x.Type = &FieldRules_Repeated{b.Repeated} + } + if b.Map != nil { + x.Type = &FieldRules_Map{b.Map} + } + if b.Any != nil { + x.Type = &FieldRules_Any{b.Any} + } + if b.Duration != nil { + x.Type = &FieldRules_Duration{b.Duration} + } + if b.Timestamp != nil { + x.Type = &FieldRules_Timestamp{b.Timestamp} + } + return m0 +} + +type case_FieldRules_Type protoreflect.FieldNumber + +func (x case_FieldRules_Type) String() string { + md := file_buf_validate_validate_proto_msgTypes[4].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFieldRules_Type interface { + isFieldRules_Type() +} + +type FieldRules_Float struct { + // Scalar Field Types + Float *FloatRules `protobuf:"bytes,1,opt,name=float,oneof"` +} + +type FieldRules_Double struct { + Double *DoubleRules `protobuf:"bytes,2,opt,name=double,oneof"` +} + +type FieldRules_Int32 struct { + Int32 *Int32Rules `protobuf:"bytes,3,opt,name=int32,oneof"` +} + +type FieldRules_Int64 struct { + Int64 *Int64Rules `protobuf:"bytes,4,opt,name=int64,oneof"` +} + +type FieldRules_Uint32 struct { + Uint32 *UInt32Rules `protobuf:"bytes,5,opt,name=uint32,oneof"` +} + +type FieldRules_Uint64 struct { + Uint64 *UInt64Rules `protobuf:"bytes,6,opt,name=uint64,oneof"` +} + +type FieldRules_Sint32 struct { + Sint32 *SInt32Rules `protobuf:"bytes,7,opt,name=sint32,oneof"` +} + +type FieldRules_Sint64 struct { + Sint64 *SInt64Rules `protobuf:"bytes,8,opt,name=sint64,oneof"` +} + +type FieldRules_Fixed32 struct { + Fixed32 *Fixed32Rules `protobuf:"bytes,9,opt,name=fixed32,oneof"` +} + +type FieldRules_Fixed64 struct { + Fixed64 *Fixed64Rules `protobuf:"bytes,10,opt,name=fixed64,oneof"` +} + +type FieldRules_Sfixed32 struct { + Sfixed32 *SFixed32Rules `protobuf:"bytes,11,opt,name=sfixed32,oneof"` +} + +type FieldRules_Sfixed64 struct { + Sfixed64 *SFixed64Rules `protobuf:"bytes,12,opt,name=sfixed64,oneof"` +} + +type FieldRules_Bool struct { + Bool *BoolRules `protobuf:"bytes,13,opt,name=bool,oneof"` +} + +type FieldRules_String_ struct { + String_ *StringRules `protobuf:"bytes,14,opt,name=string,oneof"` +} + +type FieldRules_Bytes struct { + Bytes *BytesRules `protobuf:"bytes,15,opt,name=bytes,oneof"` +} + +type FieldRules_Enum struct { + // Complex Field Types + Enum *EnumRules `protobuf:"bytes,16,opt,name=enum,oneof"` +} + +type FieldRules_Repeated struct { + Repeated *RepeatedRules `protobuf:"bytes,18,opt,name=repeated,oneof"` +} + +type FieldRules_Map struct { + Map *MapRules `protobuf:"bytes,19,opt,name=map,oneof"` +} + +type FieldRules_Any struct { + // Well-Known Field Types + Any *AnyRules `protobuf:"bytes,20,opt,name=any,oneof"` +} + +type FieldRules_Duration struct { + Duration *DurationRules `protobuf:"bytes,21,opt,name=duration,oneof"` +} + +type FieldRules_Timestamp struct { + Timestamp *TimestampRules `protobuf:"bytes,22,opt,name=timestamp,oneof"` +} + +func (*FieldRules_Float) isFieldRules_Type() {} + +func (*FieldRules_Double) isFieldRules_Type() {} + +func (*FieldRules_Int32) isFieldRules_Type() {} + +func (*FieldRules_Int64) isFieldRules_Type() {} + +func (*FieldRules_Uint32) isFieldRules_Type() {} + +func (*FieldRules_Uint64) isFieldRules_Type() {} + +func (*FieldRules_Sint32) isFieldRules_Type() {} + +func (*FieldRules_Sint64) isFieldRules_Type() {} + +func (*FieldRules_Fixed32) isFieldRules_Type() {} + +func (*FieldRules_Fixed64) isFieldRules_Type() {} + +func (*FieldRules_Sfixed32) isFieldRules_Type() {} + +func (*FieldRules_Sfixed64) isFieldRules_Type() {} + +func (*FieldRules_Bool) isFieldRules_Type() {} + +func (*FieldRules_String_) isFieldRules_Type() {} + +func (*FieldRules_Bytes) isFieldRules_Type() {} + +func (*FieldRules_Enum) isFieldRules_Type() {} + +func (*FieldRules_Repeated) isFieldRules_Type() {} + +func (*FieldRules_Map) isFieldRules_Type() {} + +func (*FieldRules_Any) isFieldRules_Type() {} + +func (*FieldRules_Duration) isFieldRules_Type() {} + +func (*FieldRules_Timestamp) isFieldRules_Type() {} + +// PredefinedRules are custom rules that can be re-used with +// multiple fields. +type PredefinedRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `cel` is a repeated field used to represent a textual expression + // in the Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/predefined-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `value` must be greater than 42. + // optional int32 value = 1 [(buf.validate.predefined).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this > 42", + // }]; + // } + // + // ``` + Cel []*Rule `protobuf:"bytes,1,rep,name=cel" json:"cel,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PredefinedRules) Reset() { + *x = PredefinedRules{} + mi := &file_buf_validate_validate_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PredefinedRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedRules) ProtoMessage() {} + +func (x *PredefinedRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *PredefinedRules) GetCel() []*Rule { + if x != nil { + return x.Cel + } + return nil +} + +func (x *PredefinedRules) SetCel(v []*Rule) { + x.Cel = v +} + +type PredefinedRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `cel` is a repeated field used to represent a textual expression + // in the Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/predefined-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `value` must be greater than 42. + // optional int32 value = 1 [(buf.validate.predefined).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this > 42", + // }]; + // } + // + // ``` + Cel []*Rule +} + +func (b0 PredefinedRules_builder) Build() *PredefinedRules { + m0 := &PredefinedRules{} + b, x := &b0, m0 + _, _ = b, x + x.Cel = b.Cel + return m0 +} + +// FloatRules describes the rules applied to `float` values. These +// rules may also be applied to the `google.protobuf.FloatValue` Well-Known-Type. +type FloatRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must equal 42.0 + // float value = 1 [(buf.validate.field).float.const = 42.0]; + // } + // + // ``` + Const *float32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *FloatRules_Lt + // *FloatRules_Lte + LessThan isFloatRules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *FloatRules_Gt + // *FloatRules_Gte + GreaterThan isFloatRules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyFloat { + // // value must be in list [1.0, 2.0, 3.0] + // float value = 1 [(buf.validate.field).float = { in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + In []float32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` + // `in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFloat { + // // value must not be in list [1.0, 2.0, 3.0] + // float value = 1 [(buf.validate.field).float = { not_in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + NotIn []float32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `finite` requires the field value to be finite. If the field value is + // infinite or NaN, an error message is generated. + Finite *bool `protobuf:"varint,8,opt,name=finite" json:"finite,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFloat { + // float value = 1 [ + // (buf.validate.field).float.example = 1.0, + // (buf.validate.field).float.example = inf + // ]; + // } + // + // ``` + Example []float32 `protobuf:"fixed32,9,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FloatRules) Reset() { + *x = FloatRules{} + mi := &file_buf_validate_validate_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FloatRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FloatRules) ProtoMessage() {} + +func (x *FloatRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *FloatRules) GetConst() float32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *FloatRules) GetLessThan() isFloatRules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *FloatRules) GetLt() float32 { + if x != nil { + if x, ok := x.LessThan.(*FloatRules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *FloatRules) GetLte() float32 { + if x != nil { + if x, ok := x.LessThan.(*FloatRules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *FloatRules) GetGreaterThan() isFloatRules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *FloatRules) GetGt() float32 { + if x != nil { + if x, ok := x.GreaterThan.(*FloatRules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *FloatRules) GetGte() float32 { + if x != nil { + if x, ok := x.GreaterThan.(*FloatRules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *FloatRules) GetIn() []float32 { + if x != nil { + return x.In + } + return nil +} + +func (x *FloatRules) GetNotIn() []float32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *FloatRules) GetFinite() bool { + if x != nil && x.Finite != nil { + return *x.Finite + } + return false +} + +func (x *FloatRules) GetExample() []float32 { + if x != nil { + return x.Example + } + return nil +} + +func (x *FloatRules) SetConst(v float32) { + x.Const = &v +} + +func (x *FloatRules) SetLt(v float32) { + x.LessThan = &FloatRules_Lt{v} +} + +func (x *FloatRules) SetLte(v float32) { + x.LessThan = &FloatRules_Lte{v} +} + +func (x *FloatRules) SetGt(v float32) { + x.GreaterThan = &FloatRules_Gt{v} +} + +func (x *FloatRules) SetGte(v float32) { + x.GreaterThan = &FloatRules_Gte{v} +} + +func (x *FloatRules) SetIn(v []float32) { + x.In = v +} + +func (x *FloatRules) SetNotIn(v []float32) { + x.NotIn = v +} + +func (x *FloatRules) SetFinite(v bool) { + x.Finite = &v +} + +func (x *FloatRules) SetExample(v []float32) { + x.Example = v +} + +func (x *FloatRules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *FloatRules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *FloatRules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*FloatRules_Lt) + return ok +} + +func (x *FloatRules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*FloatRules_Lte) + return ok +} + +func (x *FloatRules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *FloatRules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*FloatRules_Gt) + return ok +} + +func (x *FloatRules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*FloatRules_Gte) + return ok +} + +func (x *FloatRules) HasFinite() bool { + if x == nil { + return false + } + return x.Finite != nil +} + +func (x *FloatRules) ClearConst() { + x.Const = nil +} + +func (x *FloatRules) ClearLessThan() { + x.LessThan = nil +} + +func (x *FloatRules) ClearLt() { + if _, ok := x.LessThan.(*FloatRules_Lt); ok { + x.LessThan = nil + } +} + +func (x *FloatRules) ClearLte() { + if _, ok := x.LessThan.(*FloatRules_Lte); ok { + x.LessThan = nil + } +} + +func (x *FloatRules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *FloatRules) ClearGt() { + if _, ok := x.GreaterThan.(*FloatRules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *FloatRules) ClearGte() { + if _, ok := x.GreaterThan.(*FloatRules_Gte); ok { + x.GreaterThan = nil + } +} + +func (x *FloatRules) ClearFinite() { + x.Finite = nil +} + +const FloatRules_LessThan_not_set_case case_FloatRules_LessThan = 0 +const FloatRules_Lt_case case_FloatRules_LessThan = 2 +const FloatRules_Lte_case case_FloatRules_LessThan = 3 + +func (x *FloatRules) WhichLessThan() case_FloatRules_LessThan { + if x == nil { + return FloatRules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *FloatRules_Lt: + return FloatRules_Lt_case + case *FloatRules_Lte: + return FloatRules_Lte_case + default: + return FloatRules_LessThan_not_set_case + } +} + +const FloatRules_GreaterThan_not_set_case case_FloatRules_GreaterThan = 0 +const FloatRules_Gt_case case_FloatRules_GreaterThan = 4 +const FloatRules_Gte_case case_FloatRules_GreaterThan = 5 + +func (x *FloatRules) WhichGreaterThan() case_FloatRules_GreaterThan { + if x == nil { + return FloatRules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *FloatRules_Gt: + return FloatRules_Gt_case + case *FloatRules_Gte: + return FloatRules_Gte_case + default: + return FloatRules_GreaterThan_not_set_case + } +} + +type FloatRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must equal 42.0 + // float value = 1 [(buf.validate.field).float.const = 42.0]; + // } + // + // ``` + Const *float32 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be less than 10.0 + // float value = 1 [(buf.validate.field).float.lt = 10.0]; + // } + // + // ``` + Lt *float32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be less than or equal to 10.0 + // float value = 1 [(buf.validate.field).float.lte = 10.0]; + // } + // + // ``` + Lte *float32 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be greater than 5.0 [float.gt] + // float value = 1 [(buf.validate.field).float.gt = 5.0]; + // + // // value must be greater than 5 and less than 10.0 [float.gt_lt] + // float other_value = 2 [(buf.validate.field).float = { gt: 5.0, lt: 10.0 }]; + // + // // value must be greater than 10 or less than 5.0 [float.gt_lt_exclusive] + // float another_value = 3 [(buf.validate.field).float = { gt: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gt *float32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be greater than or equal to 5.0 [float.gte] + // float value = 1 [(buf.validate.field).float.gte = 5.0]; + // + // // value must be greater than or equal to 5.0 and less than 10.0 [float.gte_lt] + // float other_value = 2 [(buf.validate.field).float = { gte: 5.0, lt: 10.0 }]; + // + // // value must be greater than or equal to 10.0 or less than 5.0 [float.gte_lt_exclusive] + // float another_value = 3 [(buf.validate.field).float = { gte: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gte *float32 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyFloat { + // // value must be in list [1.0, 2.0, 3.0] + // float value = 1 [(buf.validate.field).float = { in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + In []float32 + // `in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFloat { + // // value must not be in list [1.0, 2.0, 3.0] + // float value = 1 [(buf.validate.field).float = { not_in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + NotIn []float32 + // `finite` requires the field value to be finite. If the field value is + // infinite or NaN, an error message is generated. + Finite *bool + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFloat { + // float value = 1 [ + // (buf.validate.field).float.example = 1.0, + // (buf.validate.field).float.example = inf + // ]; + // } + // + // ``` + Example []float32 +} + +func (b0 FloatRules_builder) Build() *FloatRules { + m0 := &FloatRules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &FloatRules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &FloatRules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &FloatRules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &FloatRules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Finite = b.Finite + x.Example = b.Example + return m0 +} + +type case_FloatRules_LessThan protoreflect.FieldNumber + +func (x case_FloatRules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[6].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_FloatRules_GreaterThan protoreflect.FieldNumber + +func (x case_FloatRules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[6].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFloatRules_LessThan interface { + isFloatRules_LessThan() +} + +type FloatRules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be less than 10.0 + // float value = 1 [(buf.validate.field).float.lt = 10.0]; + // } + // + // ``` + Lt float32 `protobuf:"fixed32,2,opt,name=lt,oneof"` +} + +type FloatRules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be less than or equal to 10.0 + // float value = 1 [(buf.validate.field).float.lte = 10.0]; + // } + // + // ``` + Lte float32 `protobuf:"fixed32,3,opt,name=lte,oneof"` +} + +func (*FloatRules_Lt) isFloatRules_LessThan() {} + +func (*FloatRules_Lte) isFloatRules_LessThan() {} + +type isFloatRules_GreaterThan interface { + isFloatRules_GreaterThan() +} + +type FloatRules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be greater than 5.0 [float.gt] + // float value = 1 [(buf.validate.field).float.gt = 5.0]; + // + // // value must be greater than 5 and less than 10.0 [float.gt_lt] + // float other_value = 2 [(buf.validate.field).float = { gt: 5.0, lt: 10.0 }]; + // + // // value must be greater than 10 or less than 5.0 [float.gt_lt_exclusive] + // float another_value = 3 [(buf.validate.field).float = { gt: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gt float32 `protobuf:"fixed32,4,opt,name=gt,oneof"` +} + +type FloatRules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be greater than or equal to 5.0 [float.gte] + // float value = 1 [(buf.validate.field).float.gte = 5.0]; + // + // // value must be greater than or equal to 5.0 and less than 10.0 [float.gte_lt] + // float other_value = 2 [(buf.validate.field).float = { gte: 5.0, lt: 10.0 }]; + // + // // value must be greater than or equal to 10.0 or less than 5.0 [float.gte_lt_exclusive] + // float another_value = 3 [(buf.validate.field).float = { gte: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gte float32 `protobuf:"fixed32,5,opt,name=gte,oneof"` +} + +func (*FloatRules_Gt) isFloatRules_GreaterThan() {} + +func (*FloatRules_Gte) isFloatRules_GreaterThan() {} + +// DoubleRules describes the rules applied to `double` values. These +// rules may also be applied to the `google.protobuf.DoubleValue` Well-Known-Type. +type DoubleRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must equal 42.0 + // double value = 1 [(buf.validate.field).double.const = 42.0]; + // } + // + // ``` + Const *float64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *DoubleRules_Lt + // *DoubleRules_Lte + LessThan isDoubleRules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *DoubleRules_Gt + // *DoubleRules_Gte + GreaterThan isDoubleRules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyDouble { + // // value must be in list [1.0, 2.0, 3.0] + // double value = 1 [(buf.validate.field).double = { in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + In []float64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyDouble { + // // value must not be in list [1.0, 2.0, 3.0] + // double value = 1 [(buf.validate.field).double = { not_in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + NotIn []float64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `finite` requires the field value to be finite. If the field value is + // infinite or NaN, an error message is generated. + Finite *bool `protobuf:"varint,8,opt,name=finite" json:"finite,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyDouble { + // double value = 1 [ + // (buf.validate.field).double.example = 1.0, + // (buf.validate.field).double.example = inf + // ]; + // } + // + // ``` + Example []float64 `protobuf:"fixed64,9,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DoubleRules) Reset() { + *x = DoubleRules{} + mi := &file_buf_validate_validate_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DoubleRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleRules) ProtoMessage() {} + +func (x *DoubleRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DoubleRules) GetConst() float64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *DoubleRules) GetLessThan() isDoubleRules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *DoubleRules) GetLt() float64 { + if x != nil { + if x, ok := x.LessThan.(*DoubleRules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *DoubleRules) GetLte() float64 { + if x != nil { + if x, ok := x.LessThan.(*DoubleRules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *DoubleRules) GetGreaterThan() isDoubleRules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *DoubleRules) GetGt() float64 { + if x != nil { + if x, ok := x.GreaterThan.(*DoubleRules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *DoubleRules) GetGte() float64 { + if x != nil { + if x, ok := x.GreaterThan.(*DoubleRules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *DoubleRules) GetIn() []float64 { + if x != nil { + return x.In + } + return nil +} + +func (x *DoubleRules) GetNotIn() []float64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *DoubleRules) GetFinite() bool { + if x != nil && x.Finite != nil { + return *x.Finite + } + return false +} + +func (x *DoubleRules) GetExample() []float64 { + if x != nil { + return x.Example + } + return nil +} + +func (x *DoubleRules) SetConst(v float64) { + x.Const = &v +} + +func (x *DoubleRules) SetLt(v float64) { + x.LessThan = &DoubleRules_Lt{v} +} + +func (x *DoubleRules) SetLte(v float64) { + x.LessThan = &DoubleRules_Lte{v} +} + +func (x *DoubleRules) SetGt(v float64) { + x.GreaterThan = &DoubleRules_Gt{v} +} + +func (x *DoubleRules) SetGte(v float64) { + x.GreaterThan = &DoubleRules_Gte{v} +} + +func (x *DoubleRules) SetIn(v []float64) { + x.In = v +} + +func (x *DoubleRules) SetNotIn(v []float64) { + x.NotIn = v +} + +func (x *DoubleRules) SetFinite(v bool) { + x.Finite = &v +} + +func (x *DoubleRules) SetExample(v []float64) { + x.Example = v +} + +func (x *DoubleRules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *DoubleRules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *DoubleRules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*DoubleRules_Lt) + return ok +} + +func (x *DoubleRules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*DoubleRules_Lte) + return ok +} + +func (x *DoubleRules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *DoubleRules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*DoubleRules_Gt) + return ok +} + +func (x *DoubleRules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*DoubleRules_Gte) + return ok +} + +func (x *DoubleRules) HasFinite() bool { + if x == nil { + return false + } + return x.Finite != nil +} + +func (x *DoubleRules) ClearConst() { + x.Const = nil +} + +func (x *DoubleRules) ClearLessThan() { + x.LessThan = nil +} + +func (x *DoubleRules) ClearLt() { + if _, ok := x.LessThan.(*DoubleRules_Lt); ok { + x.LessThan = nil + } +} + +func (x *DoubleRules) ClearLte() { + if _, ok := x.LessThan.(*DoubleRules_Lte); ok { + x.LessThan = nil + } +} + +func (x *DoubleRules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *DoubleRules) ClearGt() { + if _, ok := x.GreaterThan.(*DoubleRules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *DoubleRules) ClearGte() { + if _, ok := x.GreaterThan.(*DoubleRules_Gte); ok { + x.GreaterThan = nil + } +} + +func (x *DoubleRules) ClearFinite() { + x.Finite = nil +} + +const DoubleRules_LessThan_not_set_case case_DoubleRules_LessThan = 0 +const DoubleRules_Lt_case case_DoubleRules_LessThan = 2 +const DoubleRules_Lte_case case_DoubleRules_LessThan = 3 + +func (x *DoubleRules) WhichLessThan() case_DoubleRules_LessThan { + if x == nil { + return DoubleRules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *DoubleRules_Lt: + return DoubleRules_Lt_case + case *DoubleRules_Lte: + return DoubleRules_Lte_case + default: + return DoubleRules_LessThan_not_set_case + } +} + +const DoubleRules_GreaterThan_not_set_case case_DoubleRules_GreaterThan = 0 +const DoubleRules_Gt_case case_DoubleRules_GreaterThan = 4 +const DoubleRules_Gte_case case_DoubleRules_GreaterThan = 5 + +func (x *DoubleRules) WhichGreaterThan() case_DoubleRules_GreaterThan { + if x == nil { + return DoubleRules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *DoubleRules_Gt: + return DoubleRules_Gt_case + case *DoubleRules_Gte: + return DoubleRules_Gte_case + default: + return DoubleRules_GreaterThan_not_set_case + } +} + +type DoubleRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must equal 42.0 + // double value = 1 [(buf.validate.field).double.const = 42.0]; + // } + // + // ``` + Const *float64 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be less than 10.0 + // double value = 1 [(buf.validate.field).double.lt = 10.0]; + // } + // + // ``` + Lt *float64 + // `lte` requires the field value to be less than or equal to the specified value + // (field <= value). If the field value is greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be less than or equal to 10.0 + // double value = 1 [(buf.validate.field).double.lte = 10.0]; + // } + // + // ``` + Lte *float64 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or `lte`, + // the range is reversed, and the field value must be outside the specified + // range. If the field value doesn't meet the required conditions, an error + // message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be greater than 5.0 [double.gt] + // double value = 1 [(buf.validate.field).double.gt = 5.0]; + // + // // value must be greater than 5 and less than 10.0 [double.gt_lt] + // double other_value = 2 [(buf.validate.field).double = { gt: 5.0, lt: 10.0 }]; + // + // // value must be greater than 10 or less than 5.0 [double.gt_lt_exclusive] + // double another_value = 3 [(buf.validate.field).double = { gt: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gt *float64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be greater than or equal to 5.0 [double.gte] + // double value = 1 [(buf.validate.field).double.gte = 5.0]; + // + // // value must be greater than or equal to 5.0 and less than 10.0 [double.gte_lt] + // double other_value = 2 [(buf.validate.field).double = { gte: 5.0, lt: 10.0 }]; + // + // // value must be greater than or equal to 10.0 or less than 5.0 [double.gte_lt_exclusive] + // double another_value = 3 [(buf.validate.field).double = { gte: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gte *float64 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyDouble { + // // value must be in list [1.0, 2.0, 3.0] + // double value = 1 [(buf.validate.field).double = { in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + In []float64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyDouble { + // // value must not be in list [1.0, 2.0, 3.0] + // double value = 1 [(buf.validate.field).double = { not_in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + NotIn []float64 + // `finite` requires the field value to be finite. If the field value is + // infinite or NaN, an error message is generated. + Finite *bool + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyDouble { + // double value = 1 [ + // (buf.validate.field).double.example = 1.0, + // (buf.validate.field).double.example = inf + // ]; + // } + // + // ``` + Example []float64 +} + +func (b0 DoubleRules_builder) Build() *DoubleRules { + m0 := &DoubleRules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &DoubleRules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &DoubleRules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &DoubleRules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &DoubleRules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Finite = b.Finite + x.Example = b.Example + return m0 +} + +type case_DoubleRules_LessThan protoreflect.FieldNumber + +func (x case_DoubleRules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[7].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_DoubleRules_GreaterThan protoreflect.FieldNumber + +func (x case_DoubleRules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[7].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isDoubleRules_LessThan interface { + isDoubleRules_LessThan() +} + +type DoubleRules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be less than 10.0 + // double value = 1 [(buf.validate.field).double.lt = 10.0]; + // } + // + // ``` + Lt float64 `protobuf:"fixed64,2,opt,name=lt,oneof"` +} + +type DoubleRules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified value + // (field <= value). If the field value is greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be less than or equal to 10.0 + // double value = 1 [(buf.validate.field).double.lte = 10.0]; + // } + // + // ``` + Lte float64 `protobuf:"fixed64,3,opt,name=lte,oneof"` +} + +func (*DoubleRules_Lt) isDoubleRules_LessThan() {} + +func (*DoubleRules_Lte) isDoubleRules_LessThan() {} + +type isDoubleRules_GreaterThan interface { + isDoubleRules_GreaterThan() +} + +type DoubleRules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or `lte`, + // the range is reversed, and the field value must be outside the specified + // range. If the field value doesn't meet the required conditions, an error + // message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be greater than 5.0 [double.gt] + // double value = 1 [(buf.validate.field).double.gt = 5.0]; + // + // // value must be greater than 5 and less than 10.0 [double.gt_lt] + // double other_value = 2 [(buf.validate.field).double = { gt: 5.0, lt: 10.0 }]; + // + // // value must be greater than 10 or less than 5.0 [double.gt_lt_exclusive] + // double another_value = 3 [(buf.validate.field).double = { gt: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gt float64 `protobuf:"fixed64,4,opt,name=gt,oneof"` +} + +type DoubleRules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be greater than or equal to 5.0 [double.gte] + // double value = 1 [(buf.validate.field).double.gte = 5.0]; + // + // // value must be greater than or equal to 5.0 and less than 10.0 [double.gte_lt] + // double other_value = 2 [(buf.validate.field).double = { gte: 5.0, lt: 10.0 }]; + // + // // value must be greater than or equal to 10.0 or less than 5.0 [double.gte_lt_exclusive] + // double another_value = 3 [(buf.validate.field).double = { gte: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gte float64 `protobuf:"fixed64,5,opt,name=gte,oneof"` +} + +func (*DoubleRules_Gt) isDoubleRules_GreaterThan() {} + +func (*DoubleRules_Gte) isDoubleRules_GreaterThan() {} + +// Int32Rules describes the rules applied to `int32` values. These +// rules may also be applied to the `google.protobuf.Int32Value` Well-Known-Type. +type Int32Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must equal 42 + // int32 value = 1 [(buf.validate.field).int32.const = 42]; + // } + // + // ``` + Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *Int32Rules_Lt + // *Int32Rules_Lte + LessThan isInt32Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *Int32Rules_Gt + // *Int32Rules_Gte + GreaterThan isInt32Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyInt32 { + // // value must be in list [1, 2, 3] + // int32 value = 1 [(buf.validate.field).int32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyInt32 { + // // value must not be in list [1, 2, 3] + // int32 value = 1 [(buf.validate.field).int32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyInt32 { + // int32 value = 1 [ + // (buf.validate.field).int32.example = 1, + // (buf.validate.field).int32.example = -10 + // ]; + // } + // + // ``` + Example []int32 `protobuf:"varint,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Int32Rules) Reset() { + *x = Int32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int32Rules) ProtoMessage() {} + +func (x *Int32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Int32Rules) GetConst() int32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *Int32Rules) GetLessThan() isInt32Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *Int32Rules) GetLt() int32 { + if x != nil { + if x, ok := x.LessThan.(*Int32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *Int32Rules) GetLte() int32 { + if x != nil { + if x, ok := x.LessThan.(*Int32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *Int32Rules) GetGreaterThan() isInt32Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *Int32Rules) GetGt() int32 { + if x != nil { + if x, ok := x.GreaterThan.(*Int32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *Int32Rules) GetGte() int32 { + if x != nil { + if x, ok := x.GreaterThan.(*Int32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *Int32Rules) GetIn() []int32 { + if x != nil { + return x.In + } + return nil +} + +func (x *Int32Rules) GetNotIn() []int32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *Int32Rules) GetExample() []int32 { + if x != nil { + return x.Example + } + return nil +} + +func (x *Int32Rules) SetConst(v int32) { + x.Const = &v +} + +func (x *Int32Rules) SetLt(v int32) { + x.LessThan = &Int32Rules_Lt{v} +} + +func (x *Int32Rules) SetLte(v int32) { + x.LessThan = &Int32Rules_Lte{v} +} + +func (x *Int32Rules) SetGt(v int32) { + x.GreaterThan = &Int32Rules_Gt{v} +} + +func (x *Int32Rules) SetGte(v int32) { + x.GreaterThan = &Int32Rules_Gte{v} +} + +func (x *Int32Rules) SetIn(v []int32) { + x.In = v +} + +func (x *Int32Rules) SetNotIn(v []int32) { + x.NotIn = v +} + +func (x *Int32Rules) SetExample(v []int32) { + x.Example = v +} + +func (x *Int32Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *Int32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *Int32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*Int32Rules_Lt) + return ok +} + +func (x *Int32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*Int32Rules_Lte) + return ok +} + +func (x *Int32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *Int32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*Int32Rules_Gt) + return ok +} + +func (x *Int32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*Int32Rules_Gte) + return ok +} + +func (x *Int32Rules) ClearConst() { + x.Const = nil +} + +func (x *Int32Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *Int32Rules) ClearLt() { + if _, ok := x.LessThan.(*Int32Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *Int32Rules) ClearLte() { + if _, ok := x.LessThan.(*Int32Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *Int32Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *Int32Rules) ClearGt() { + if _, ok := x.GreaterThan.(*Int32Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *Int32Rules) ClearGte() { + if _, ok := x.GreaterThan.(*Int32Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const Int32Rules_LessThan_not_set_case case_Int32Rules_LessThan = 0 +const Int32Rules_Lt_case case_Int32Rules_LessThan = 2 +const Int32Rules_Lte_case case_Int32Rules_LessThan = 3 + +func (x *Int32Rules) WhichLessThan() case_Int32Rules_LessThan { + if x == nil { + return Int32Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *Int32Rules_Lt: + return Int32Rules_Lt_case + case *Int32Rules_Lte: + return Int32Rules_Lte_case + default: + return Int32Rules_LessThan_not_set_case + } +} + +const Int32Rules_GreaterThan_not_set_case case_Int32Rules_GreaterThan = 0 +const Int32Rules_Gt_case case_Int32Rules_GreaterThan = 4 +const Int32Rules_Gte_case case_Int32Rules_GreaterThan = 5 + +func (x *Int32Rules) WhichGreaterThan() case_Int32Rules_GreaterThan { + if x == nil { + return Int32Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *Int32Rules_Gt: + return Int32Rules_Gt_case + case *Int32Rules_Gte: + return Int32Rules_Gte_case + default: + return Int32Rules_GreaterThan_not_set_case + } +} + +type Int32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must equal 42 + // int32 value = 1 [(buf.validate.field).int32.const = 42]; + // } + // + // ``` + Const *int32 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be less than 10 + // int32 value = 1 [(buf.validate.field).int32.lt = 10]; + // } + // + // ``` + Lt *int32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be less than or equal to 10 + // int32 value = 1 [(buf.validate.field).int32.lte = 10]; + // } + // + // ``` + Lte *int32 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be greater than 5 [int32.gt] + // int32 value = 1 [(buf.validate.field).int32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [int32.gt_lt] + // int32 other_value = 2 [(buf.validate.field).int32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [int32.gt_lt_exclusive] + // int32 another_value = 3 [(buf.validate.field).int32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int32 + // `gte` requires the field value to be greater than or equal to the specified value + // (exclusive). If the value of `gte` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be greater than or equal to 5 [int32.gte] + // int32 value = 1 [(buf.validate.field).int32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [int32.gte_lt] + // int32 other_value = 2 [(buf.validate.field).int32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [int32.gte_lt_exclusive] + // int32 another_value = 3 [(buf.validate.field).int32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int32 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyInt32 { + // // value must be in list [1, 2, 3] + // int32 value = 1 [(buf.validate.field).int32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyInt32 { + // // value must not be in list [1, 2, 3] + // int32 value = 1 [(buf.validate.field).int32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyInt32 { + // int32 value = 1 [ + // (buf.validate.field).int32.example = 1, + // (buf.validate.field).int32.example = -10 + // ]; + // } + // + // ``` + Example []int32 +} + +func (b0 Int32Rules_builder) Build() *Int32Rules { + m0 := &Int32Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &Int32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &Int32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &Int32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &Int32Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_Int32Rules_LessThan protoreflect.FieldNumber + +func (x case_Int32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[8].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_Int32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_Int32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[8].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isInt32Rules_LessThan interface { + isInt32Rules_LessThan() +} + +type Int32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be less than 10 + // int32 value = 1 [(buf.validate.field).int32.lt = 10]; + // } + // + // ``` + Lt int32 `protobuf:"varint,2,opt,name=lt,oneof"` +} + +type Int32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be less than or equal to 10 + // int32 value = 1 [(buf.validate.field).int32.lte = 10]; + // } + // + // ``` + Lte int32 `protobuf:"varint,3,opt,name=lte,oneof"` +} + +func (*Int32Rules_Lt) isInt32Rules_LessThan() {} + +func (*Int32Rules_Lte) isInt32Rules_LessThan() {} + +type isInt32Rules_GreaterThan interface { + isInt32Rules_GreaterThan() +} + +type Int32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be greater than 5 [int32.gt] + // int32 value = 1 [(buf.validate.field).int32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [int32.gt_lt] + // int32 other_value = 2 [(buf.validate.field).int32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [int32.gt_lt_exclusive] + // int32 another_value = 3 [(buf.validate.field).int32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int32 `protobuf:"varint,4,opt,name=gt,oneof"` +} + +type Int32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified value + // (exclusive). If the value of `gte` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be greater than or equal to 5 [int32.gte] + // int32 value = 1 [(buf.validate.field).int32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [int32.gte_lt] + // int32 other_value = 2 [(buf.validate.field).int32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [int32.gte_lt_exclusive] + // int32 another_value = 3 [(buf.validate.field).int32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int32 `protobuf:"varint,5,opt,name=gte,oneof"` +} + +func (*Int32Rules_Gt) isInt32Rules_GreaterThan() {} + +func (*Int32Rules_Gte) isInt32Rules_GreaterThan() {} + +// Int64Rules describes the rules applied to `int64` values. These +// rules may also be applied to the `google.protobuf.Int64Value` Well-Known-Type. +type Int64Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must equal 42 + // int64 value = 1 [(buf.validate.field).int64.const = 42]; + // } + // + // ``` + Const *int64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *Int64Rules_Lt + // *Int64Rules_Lte + LessThan isInt64Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *Int64Rules_Gt + // *Int64Rules_Gte + GreaterThan isInt64Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyInt64 { + // // value must be in list [1, 2, 3] + // int64 value = 1 [(buf.validate.field).int64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must not be in list [1, 2, 3] + // int64 value = 1 [(buf.validate.field).int64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyInt64 { + // int64 value = 1 [ + // (buf.validate.field).int64.example = 1, + // (buf.validate.field).int64.example = -10 + // ]; + // } + // + // ``` + Example []int64 `protobuf:"varint,9,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Int64Rules) Reset() { + *x = Int64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int64Rules) ProtoMessage() {} + +func (x *Int64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Int64Rules) GetConst() int64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *Int64Rules) GetLessThan() isInt64Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *Int64Rules) GetLt() int64 { + if x != nil { + if x, ok := x.LessThan.(*Int64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *Int64Rules) GetLte() int64 { + if x != nil { + if x, ok := x.LessThan.(*Int64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *Int64Rules) GetGreaterThan() isInt64Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *Int64Rules) GetGt() int64 { + if x != nil { + if x, ok := x.GreaterThan.(*Int64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *Int64Rules) GetGte() int64 { + if x != nil { + if x, ok := x.GreaterThan.(*Int64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *Int64Rules) GetIn() []int64 { + if x != nil { + return x.In + } + return nil +} + +func (x *Int64Rules) GetNotIn() []int64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *Int64Rules) GetExample() []int64 { + if x != nil { + return x.Example + } + return nil +} + +func (x *Int64Rules) SetConst(v int64) { + x.Const = &v +} + +func (x *Int64Rules) SetLt(v int64) { + x.LessThan = &Int64Rules_Lt{v} +} + +func (x *Int64Rules) SetLte(v int64) { + x.LessThan = &Int64Rules_Lte{v} +} + +func (x *Int64Rules) SetGt(v int64) { + x.GreaterThan = &Int64Rules_Gt{v} +} + +func (x *Int64Rules) SetGte(v int64) { + x.GreaterThan = &Int64Rules_Gte{v} +} + +func (x *Int64Rules) SetIn(v []int64) { + x.In = v +} + +func (x *Int64Rules) SetNotIn(v []int64) { + x.NotIn = v +} + +func (x *Int64Rules) SetExample(v []int64) { + x.Example = v +} + +func (x *Int64Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *Int64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *Int64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*Int64Rules_Lt) + return ok +} + +func (x *Int64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*Int64Rules_Lte) + return ok +} + +func (x *Int64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *Int64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*Int64Rules_Gt) + return ok +} + +func (x *Int64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*Int64Rules_Gte) + return ok +} + +func (x *Int64Rules) ClearConst() { + x.Const = nil +} + +func (x *Int64Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *Int64Rules) ClearLt() { + if _, ok := x.LessThan.(*Int64Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *Int64Rules) ClearLte() { + if _, ok := x.LessThan.(*Int64Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *Int64Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *Int64Rules) ClearGt() { + if _, ok := x.GreaterThan.(*Int64Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *Int64Rules) ClearGte() { + if _, ok := x.GreaterThan.(*Int64Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const Int64Rules_LessThan_not_set_case case_Int64Rules_LessThan = 0 +const Int64Rules_Lt_case case_Int64Rules_LessThan = 2 +const Int64Rules_Lte_case case_Int64Rules_LessThan = 3 + +func (x *Int64Rules) WhichLessThan() case_Int64Rules_LessThan { + if x == nil { + return Int64Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *Int64Rules_Lt: + return Int64Rules_Lt_case + case *Int64Rules_Lte: + return Int64Rules_Lte_case + default: + return Int64Rules_LessThan_not_set_case + } +} + +const Int64Rules_GreaterThan_not_set_case case_Int64Rules_GreaterThan = 0 +const Int64Rules_Gt_case case_Int64Rules_GreaterThan = 4 +const Int64Rules_Gte_case case_Int64Rules_GreaterThan = 5 + +func (x *Int64Rules) WhichGreaterThan() case_Int64Rules_GreaterThan { + if x == nil { + return Int64Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *Int64Rules_Gt: + return Int64Rules_Gt_case + case *Int64Rules_Gte: + return Int64Rules_Gte_case + default: + return Int64Rules_GreaterThan_not_set_case + } +} + +type Int64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must equal 42 + // int64 value = 1 [(buf.validate.field).int64.const = 42]; + // } + // + // ``` + Const *int64 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be less than 10 + // int64 value = 1 [(buf.validate.field).int64.lt = 10]; + // } + // + // ``` + Lt *int64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be less than or equal to 10 + // int64 value = 1 [(buf.validate.field).int64.lte = 10]; + // } + // + // ``` + Lte *int64 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be greater than 5 [int64.gt] + // int64 value = 1 [(buf.validate.field).int64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [int64.gt_lt] + // int64 other_value = 2 [(buf.validate.field).int64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [int64.gt_lt_exclusive] + // int64 another_value = 3 [(buf.validate.field).int64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be greater than or equal to 5 [int64.gte] + // int64 value = 1 [(buf.validate.field).int64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [int64.gte_lt] + // int64 other_value = 2 [(buf.validate.field).int64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [int64.gte_lt_exclusive] + // int64 another_value = 3 [(buf.validate.field).int64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int64 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyInt64 { + // // value must be in list [1, 2, 3] + // int64 value = 1 [(buf.validate.field).int64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must not be in list [1, 2, 3] + // int64 value = 1 [(buf.validate.field).int64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyInt64 { + // int64 value = 1 [ + // (buf.validate.field).int64.example = 1, + // (buf.validate.field).int64.example = -10 + // ]; + // } + // + // ``` + Example []int64 +} + +func (b0 Int64Rules_builder) Build() *Int64Rules { + m0 := &Int64Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &Int64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &Int64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &Int64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &Int64Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_Int64Rules_LessThan protoreflect.FieldNumber + +func (x case_Int64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[9].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_Int64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_Int64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[9].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isInt64Rules_LessThan interface { + isInt64Rules_LessThan() +} + +type Int64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be less than 10 + // int64 value = 1 [(buf.validate.field).int64.lt = 10]; + // } + // + // ``` + Lt int64 `protobuf:"varint,2,opt,name=lt,oneof"` +} + +type Int64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be less than or equal to 10 + // int64 value = 1 [(buf.validate.field).int64.lte = 10]; + // } + // + // ``` + Lte int64 `protobuf:"varint,3,opt,name=lte,oneof"` +} + +func (*Int64Rules_Lt) isInt64Rules_LessThan() {} + +func (*Int64Rules_Lte) isInt64Rules_LessThan() {} + +type isInt64Rules_GreaterThan interface { + isInt64Rules_GreaterThan() +} + +type Int64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be greater than 5 [int64.gt] + // int64 value = 1 [(buf.validate.field).int64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [int64.gt_lt] + // int64 other_value = 2 [(buf.validate.field).int64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [int64.gt_lt_exclusive] + // int64 another_value = 3 [(buf.validate.field).int64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int64 `protobuf:"varint,4,opt,name=gt,oneof"` +} + +type Int64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be greater than or equal to 5 [int64.gte] + // int64 value = 1 [(buf.validate.field).int64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [int64.gte_lt] + // int64 other_value = 2 [(buf.validate.field).int64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [int64.gte_lt_exclusive] + // int64 another_value = 3 [(buf.validate.field).int64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int64 `protobuf:"varint,5,opt,name=gte,oneof"` +} + +func (*Int64Rules_Gt) isInt64Rules_GreaterThan() {} + +func (*Int64Rules_Gte) isInt64Rules_GreaterThan() {} + +// UInt32Rules describes the rules applied to `uint32` values. These +// rules may also be applied to the `google.protobuf.UInt32Value` Well-Known-Type. +type UInt32Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must equal 42 + // uint32 value = 1 [(buf.validate.field).uint32.const = 42]; + // } + // + // ``` + Const *uint32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *UInt32Rules_Lt + // *UInt32Rules_Lte + LessThan isUInt32Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *UInt32Rules_Gt + // *UInt32Rules_Gte + GreaterThan isUInt32Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be in list [1, 2, 3] + // uint32 value = 1 [(buf.validate.field).uint32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint32 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must not be in list [1, 2, 3] + // uint32 value = 1 [(buf.validate.field).uint32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint32 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyUInt32 { + // uint32 value = 1 [ + // (buf.validate.field).uint32.example = 1, + // (buf.validate.field).uint32.example = 10 + // ]; + // } + // + // ``` + Example []uint32 `protobuf:"varint,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UInt32Rules) Reset() { + *x = UInt32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UInt32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt32Rules) ProtoMessage() {} + +func (x *UInt32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *UInt32Rules) GetConst() uint32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *UInt32Rules) GetLessThan() isUInt32Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *UInt32Rules) GetLt() uint32 { + if x != nil { + if x, ok := x.LessThan.(*UInt32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *UInt32Rules) GetLte() uint32 { + if x != nil { + if x, ok := x.LessThan.(*UInt32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *UInt32Rules) GetGreaterThan() isUInt32Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *UInt32Rules) GetGt() uint32 { + if x != nil { + if x, ok := x.GreaterThan.(*UInt32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *UInt32Rules) GetGte() uint32 { + if x != nil { + if x, ok := x.GreaterThan.(*UInt32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *UInt32Rules) GetIn() []uint32 { + if x != nil { + return x.In + } + return nil +} + +func (x *UInt32Rules) GetNotIn() []uint32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *UInt32Rules) GetExample() []uint32 { + if x != nil { + return x.Example + } + return nil +} + +func (x *UInt32Rules) SetConst(v uint32) { + x.Const = &v +} + +func (x *UInt32Rules) SetLt(v uint32) { + x.LessThan = &UInt32Rules_Lt{v} +} + +func (x *UInt32Rules) SetLte(v uint32) { + x.LessThan = &UInt32Rules_Lte{v} +} + +func (x *UInt32Rules) SetGt(v uint32) { + x.GreaterThan = &UInt32Rules_Gt{v} +} + +func (x *UInt32Rules) SetGte(v uint32) { + x.GreaterThan = &UInt32Rules_Gte{v} +} + +func (x *UInt32Rules) SetIn(v []uint32) { + x.In = v +} + +func (x *UInt32Rules) SetNotIn(v []uint32) { + x.NotIn = v +} + +func (x *UInt32Rules) SetExample(v []uint32) { + x.Example = v +} + +func (x *UInt32Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *UInt32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *UInt32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*UInt32Rules_Lt) + return ok +} + +func (x *UInt32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*UInt32Rules_Lte) + return ok +} + +func (x *UInt32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *UInt32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*UInt32Rules_Gt) + return ok +} + +func (x *UInt32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*UInt32Rules_Gte) + return ok +} + +func (x *UInt32Rules) ClearConst() { + x.Const = nil +} + +func (x *UInt32Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *UInt32Rules) ClearLt() { + if _, ok := x.LessThan.(*UInt32Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *UInt32Rules) ClearLte() { + if _, ok := x.LessThan.(*UInt32Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *UInt32Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *UInt32Rules) ClearGt() { + if _, ok := x.GreaterThan.(*UInt32Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *UInt32Rules) ClearGte() { + if _, ok := x.GreaterThan.(*UInt32Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const UInt32Rules_LessThan_not_set_case case_UInt32Rules_LessThan = 0 +const UInt32Rules_Lt_case case_UInt32Rules_LessThan = 2 +const UInt32Rules_Lte_case case_UInt32Rules_LessThan = 3 + +func (x *UInt32Rules) WhichLessThan() case_UInt32Rules_LessThan { + if x == nil { + return UInt32Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *UInt32Rules_Lt: + return UInt32Rules_Lt_case + case *UInt32Rules_Lte: + return UInt32Rules_Lte_case + default: + return UInt32Rules_LessThan_not_set_case + } +} + +const UInt32Rules_GreaterThan_not_set_case case_UInt32Rules_GreaterThan = 0 +const UInt32Rules_Gt_case case_UInt32Rules_GreaterThan = 4 +const UInt32Rules_Gte_case case_UInt32Rules_GreaterThan = 5 + +func (x *UInt32Rules) WhichGreaterThan() case_UInt32Rules_GreaterThan { + if x == nil { + return UInt32Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *UInt32Rules_Gt: + return UInt32Rules_Gt_case + case *UInt32Rules_Gte: + return UInt32Rules_Gte_case + default: + return UInt32Rules_GreaterThan_not_set_case + } +} + +type UInt32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must equal 42 + // uint32 value = 1 [(buf.validate.field).uint32.const = 42]; + // } + // + // ``` + Const *uint32 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be less than 10 + // uint32 value = 1 [(buf.validate.field).uint32.lt = 10]; + // } + // + // ``` + Lt *uint32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be less than or equal to 10 + // uint32 value = 1 [(buf.validate.field).uint32.lte = 10]; + // } + // + // ``` + Lte *uint32 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be greater than 5 [uint32.gt] + // uint32 value = 1 [(buf.validate.field).uint32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [uint32.gt_lt] + // uint32 other_value = 2 [(buf.validate.field).uint32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [uint32.gt_lt_exclusive] + // uint32 another_value = 3 [(buf.validate.field).uint32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *uint32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be greater than or equal to 5 [uint32.gte] + // uint32 value = 1 [(buf.validate.field).uint32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [uint32.gte_lt] + // uint32 other_value = 2 [(buf.validate.field).uint32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [uint32.gte_lt_exclusive] + // uint32 another_value = 3 [(buf.validate.field).uint32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *uint32 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be in list [1, 2, 3] + // uint32 value = 1 [(buf.validate.field).uint32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must not be in list [1, 2, 3] + // uint32 value = 1 [(buf.validate.field).uint32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyUInt32 { + // uint32 value = 1 [ + // (buf.validate.field).uint32.example = 1, + // (buf.validate.field).uint32.example = 10 + // ]; + // } + // + // ``` + Example []uint32 +} + +func (b0 UInt32Rules_builder) Build() *UInt32Rules { + m0 := &UInt32Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &UInt32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &UInt32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &UInt32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &UInt32Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_UInt32Rules_LessThan protoreflect.FieldNumber + +func (x case_UInt32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[10].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_UInt32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_UInt32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[10].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isUInt32Rules_LessThan interface { + isUInt32Rules_LessThan() +} + +type UInt32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be less than 10 + // uint32 value = 1 [(buf.validate.field).uint32.lt = 10]; + // } + // + // ``` + Lt uint32 `protobuf:"varint,2,opt,name=lt,oneof"` +} + +type UInt32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be less than or equal to 10 + // uint32 value = 1 [(buf.validate.field).uint32.lte = 10]; + // } + // + // ``` + Lte uint32 `protobuf:"varint,3,opt,name=lte,oneof"` +} + +func (*UInt32Rules_Lt) isUInt32Rules_LessThan() {} + +func (*UInt32Rules_Lte) isUInt32Rules_LessThan() {} + +type isUInt32Rules_GreaterThan interface { + isUInt32Rules_GreaterThan() +} + +type UInt32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be greater than 5 [uint32.gt] + // uint32 value = 1 [(buf.validate.field).uint32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [uint32.gt_lt] + // uint32 other_value = 2 [(buf.validate.field).uint32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [uint32.gt_lt_exclusive] + // uint32 another_value = 3 [(buf.validate.field).uint32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt uint32 `protobuf:"varint,4,opt,name=gt,oneof"` +} + +type UInt32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be greater than or equal to 5 [uint32.gte] + // uint32 value = 1 [(buf.validate.field).uint32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [uint32.gte_lt] + // uint32 other_value = 2 [(buf.validate.field).uint32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [uint32.gte_lt_exclusive] + // uint32 another_value = 3 [(buf.validate.field).uint32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte uint32 `protobuf:"varint,5,opt,name=gte,oneof"` +} + +func (*UInt32Rules_Gt) isUInt32Rules_GreaterThan() {} + +func (*UInt32Rules_Gte) isUInt32Rules_GreaterThan() {} + +// UInt64Rules describes the rules applied to `uint64` values. These +// rules may also be applied to the `google.protobuf.UInt64Value` Well-Known-Type. +type UInt64Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must equal 42 + // uint64 value = 1 [(buf.validate.field).uint64.const = 42]; + // } + // + // ``` + Const *uint64 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *UInt64Rules_Lt + // *UInt64Rules_Lte + LessThan isUInt64Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *UInt64Rules_Gt + // *UInt64Rules_Gte + GreaterThan isUInt64Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be in list [1, 2, 3] + // uint64 value = 1 [(buf.validate.field).uint64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint64 `protobuf:"varint,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must not be in list [1, 2, 3] + // uint64 value = 1 [(buf.validate.field).uint64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint64 `protobuf:"varint,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyUInt64 { + // uint64 value = 1 [ + // (buf.validate.field).uint64.example = 1, + // (buf.validate.field).uint64.example = -10 + // ]; + // } + // + // ``` + Example []uint64 `protobuf:"varint,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UInt64Rules) Reset() { + *x = UInt64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UInt64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt64Rules) ProtoMessage() {} + +func (x *UInt64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *UInt64Rules) GetConst() uint64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *UInt64Rules) GetLessThan() isUInt64Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *UInt64Rules) GetLt() uint64 { + if x != nil { + if x, ok := x.LessThan.(*UInt64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *UInt64Rules) GetLte() uint64 { + if x != nil { + if x, ok := x.LessThan.(*UInt64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *UInt64Rules) GetGreaterThan() isUInt64Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *UInt64Rules) GetGt() uint64 { + if x != nil { + if x, ok := x.GreaterThan.(*UInt64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *UInt64Rules) GetGte() uint64 { + if x != nil { + if x, ok := x.GreaterThan.(*UInt64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *UInt64Rules) GetIn() []uint64 { + if x != nil { + return x.In + } + return nil +} + +func (x *UInt64Rules) GetNotIn() []uint64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *UInt64Rules) GetExample() []uint64 { + if x != nil { + return x.Example + } + return nil +} + +func (x *UInt64Rules) SetConst(v uint64) { + x.Const = &v +} + +func (x *UInt64Rules) SetLt(v uint64) { + x.LessThan = &UInt64Rules_Lt{v} +} + +func (x *UInt64Rules) SetLte(v uint64) { + x.LessThan = &UInt64Rules_Lte{v} +} + +func (x *UInt64Rules) SetGt(v uint64) { + x.GreaterThan = &UInt64Rules_Gt{v} +} + +func (x *UInt64Rules) SetGte(v uint64) { + x.GreaterThan = &UInt64Rules_Gte{v} +} + +func (x *UInt64Rules) SetIn(v []uint64) { + x.In = v +} + +func (x *UInt64Rules) SetNotIn(v []uint64) { + x.NotIn = v +} + +func (x *UInt64Rules) SetExample(v []uint64) { + x.Example = v +} + +func (x *UInt64Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *UInt64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *UInt64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*UInt64Rules_Lt) + return ok +} + +func (x *UInt64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*UInt64Rules_Lte) + return ok +} + +func (x *UInt64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *UInt64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*UInt64Rules_Gt) + return ok +} + +func (x *UInt64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*UInt64Rules_Gte) + return ok +} + +func (x *UInt64Rules) ClearConst() { + x.Const = nil +} + +func (x *UInt64Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *UInt64Rules) ClearLt() { + if _, ok := x.LessThan.(*UInt64Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *UInt64Rules) ClearLte() { + if _, ok := x.LessThan.(*UInt64Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *UInt64Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *UInt64Rules) ClearGt() { + if _, ok := x.GreaterThan.(*UInt64Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *UInt64Rules) ClearGte() { + if _, ok := x.GreaterThan.(*UInt64Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const UInt64Rules_LessThan_not_set_case case_UInt64Rules_LessThan = 0 +const UInt64Rules_Lt_case case_UInt64Rules_LessThan = 2 +const UInt64Rules_Lte_case case_UInt64Rules_LessThan = 3 + +func (x *UInt64Rules) WhichLessThan() case_UInt64Rules_LessThan { + if x == nil { + return UInt64Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *UInt64Rules_Lt: + return UInt64Rules_Lt_case + case *UInt64Rules_Lte: + return UInt64Rules_Lte_case + default: + return UInt64Rules_LessThan_not_set_case + } +} + +const UInt64Rules_GreaterThan_not_set_case case_UInt64Rules_GreaterThan = 0 +const UInt64Rules_Gt_case case_UInt64Rules_GreaterThan = 4 +const UInt64Rules_Gte_case case_UInt64Rules_GreaterThan = 5 + +func (x *UInt64Rules) WhichGreaterThan() case_UInt64Rules_GreaterThan { + if x == nil { + return UInt64Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *UInt64Rules_Gt: + return UInt64Rules_Gt_case + case *UInt64Rules_Gte: + return UInt64Rules_Gte_case + default: + return UInt64Rules_GreaterThan_not_set_case + } +} + +type UInt64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must equal 42 + // uint64 value = 1 [(buf.validate.field).uint64.const = 42]; + // } + // + // ``` + Const *uint64 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be less than 10 + // uint64 value = 1 [(buf.validate.field).uint64.lt = 10]; + // } + // + // ``` + Lt *uint64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be less than or equal to 10 + // uint64 value = 1 [(buf.validate.field).uint64.lte = 10]; + // } + // + // ``` + Lte *uint64 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be greater than 5 [uint64.gt] + // uint64 value = 1 [(buf.validate.field).uint64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [uint64.gt_lt] + // uint64 other_value = 2 [(buf.validate.field).uint64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [uint64.gt_lt_exclusive] + // uint64 another_value = 3 [(buf.validate.field).uint64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *uint64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be greater than or equal to 5 [uint64.gte] + // uint64 value = 1 [(buf.validate.field).uint64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [uint64.gte_lt] + // uint64 other_value = 2 [(buf.validate.field).uint64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [uint64.gte_lt_exclusive] + // uint64 another_value = 3 [(buf.validate.field).uint64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *uint64 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be in list [1, 2, 3] + // uint64 value = 1 [(buf.validate.field).uint64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must not be in list [1, 2, 3] + // uint64 value = 1 [(buf.validate.field).uint64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyUInt64 { + // uint64 value = 1 [ + // (buf.validate.field).uint64.example = 1, + // (buf.validate.field).uint64.example = -10 + // ]; + // } + // + // ``` + Example []uint64 +} + +func (b0 UInt64Rules_builder) Build() *UInt64Rules { + m0 := &UInt64Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &UInt64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &UInt64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &UInt64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &UInt64Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_UInt64Rules_LessThan protoreflect.FieldNumber + +func (x case_UInt64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[11].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_UInt64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_UInt64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[11].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isUInt64Rules_LessThan interface { + isUInt64Rules_LessThan() +} + +type UInt64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be less than 10 + // uint64 value = 1 [(buf.validate.field).uint64.lt = 10]; + // } + // + // ``` + Lt uint64 `protobuf:"varint,2,opt,name=lt,oneof"` +} + +type UInt64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be less than or equal to 10 + // uint64 value = 1 [(buf.validate.field).uint64.lte = 10]; + // } + // + // ``` + Lte uint64 `protobuf:"varint,3,opt,name=lte,oneof"` +} + +func (*UInt64Rules_Lt) isUInt64Rules_LessThan() {} + +func (*UInt64Rules_Lte) isUInt64Rules_LessThan() {} + +type isUInt64Rules_GreaterThan interface { + isUInt64Rules_GreaterThan() +} + +type UInt64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be greater than 5 [uint64.gt] + // uint64 value = 1 [(buf.validate.field).uint64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [uint64.gt_lt] + // uint64 other_value = 2 [(buf.validate.field).uint64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [uint64.gt_lt_exclusive] + // uint64 another_value = 3 [(buf.validate.field).uint64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt uint64 `protobuf:"varint,4,opt,name=gt,oneof"` +} + +type UInt64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be greater than or equal to 5 [uint64.gte] + // uint64 value = 1 [(buf.validate.field).uint64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [uint64.gte_lt] + // uint64 other_value = 2 [(buf.validate.field).uint64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [uint64.gte_lt_exclusive] + // uint64 another_value = 3 [(buf.validate.field).uint64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte uint64 `protobuf:"varint,5,opt,name=gte,oneof"` +} + +func (*UInt64Rules_Gt) isUInt64Rules_GreaterThan() {} + +func (*UInt64Rules_Gte) isUInt64Rules_GreaterThan() {} + +// SInt32Rules describes the rules applied to `sint32` values. +type SInt32Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must equal 42 + // sint32 value = 1 [(buf.validate.field).sint32.const = 42]; + // } + // + // ``` + Const *int32 `protobuf:"zigzag32,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *SInt32Rules_Lt + // *SInt32Rules_Lte + LessThan isSInt32Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *SInt32Rules_Gt + // *SInt32Rules_Gte + GreaterThan isSInt32Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySInt32 { + // // value must be in list [1, 2, 3] + // sint32 value = 1 [(buf.validate.field).sint32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 `protobuf:"zigzag32,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must not be in list [1, 2, 3] + // sint32 value = 1 [(buf.validate.field).sint32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 `protobuf:"zigzag32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySInt32 { + // sint32 value = 1 [ + // (buf.validate.field).sint32.example = 1, + // (buf.validate.field).sint32.example = -10 + // ]; + // } + // + // ``` + Example []int32 `protobuf:"zigzag32,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SInt32Rules) Reset() { + *x = SInt32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SInt32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SInt32Rules) ProtoMessage() {} + +func (x *SInt32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SInt32Rules) GetConst() int32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *SInt32Rules) GetLessThan() isSInt32Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *SInt32Rules) GetLt() int32 { + if x != nil { + if x, ok := x.LessThan.(*SInt32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *SInt32Rules) GetLte() int32 { + if x != nil { + if x, ok := x.LessThan.(*SInt32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *SInt32Rules) GetGreaterThan() isSInt32Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *SInt32Rules) GetGt() int32 { + if x != nil { + if x, ok := x.GreaterThan.(*SInt32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *SInt32Rules) GetGte() int32 { + if x != nil { + if x, ok := x.GreaterThan.(*SInt32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *SInt32Rules) GetIn() []int32 { + if x != nil { + return x.In + } + return nil +} + +func (x *SInt32Rules) GetNotIn() []int32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *SInt32Rules) GetExample() []int32 { + if x != nil { + return x.Example + } + return nil +} + +func (x *SInt32Rules) SetConst(v int32) { + x.Const = &v +} + +func (x *SInt32Rules) SetLt(v int32) { + x.LessThan = &SInt32Rules_Lt{v} +} + +func (x *SInt32Rules) SetLte(v int32) { + x.LessThan = &SInt32Rules_Lte{v} +} + +func (x *SInt32Rules) SetGt(v int32) { + x.GreaterThan = &SInt32Rules_Gt{v} +} + +func (x *SInt32Rules) SetGte(v int32) { + x.GreaterThan = &SInt32Rules_Gte{v} +} + +func (x *SInt32Rules) SetIn(v []int32) { + x.In = v +} + +func (x *SInt32Rules) SetNotIn(v []int32) { + x.NotIn = v +} + +func (x *SInt32Rules) SetExample(v []int32) { + x.Example = v +} + +func (x *SInt32Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *SInt32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *SInt32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*SInt32Rules_Lt) + return ok +} + +func (x *SInt32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*SInt32Rules_Lte) + return ok +} + +func (x *SInt32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *SInt32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*SInt32Rules_Gt) + return ok +} + +func (x *SInt32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*SInt32Rules_Gte) + return ok +} + +func (x *SInt32Rules) ClearConst() { + x.Const = nil +} + +func (x *SInt32Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *SInt32Rules) ClearLt() { + if _, ok := x.LessThan.(*SInt32Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *SInt32Rules) ClearLte() { + if _, ok := x.LessThan.(*SInt32Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *SInt32Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *SInt32Rules) ClearGt() { + if _, ok := x.GreaterThan.(*SInt32Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *SInt32Rules) ClearGte() { + if _, ok := x.GreaterThan.(*SInt32Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const SInt32Rules_LessThan_not_set_case case_SInt32Rules_LessThan = 0 +const SInt32Rules_Lt_case case_SInt32Rules_LessThan = 2 +const SInt32Rules_Lte_case case_SInt32Rules_LessThan = 3 + +func (x *SInt32Rules) WhichLessThan() case_SInt32Rules_LessThan { + if x == nil { + return SInt32Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *SInt32Rules_Lt: + return SInt32Rules_Lt_case + case *SInt32Rules_Lte: + return SInt32Rules_Lte_case + default: + return SInt32Rules_LessThan_not_set_case + } +} + +const SInt32Rules_GreaterThan_not_set_case case_SInt32Rules_GreaterThan = 0 +const SInt32Rules_Gt_case case_SInt32Rules_GreaterThan = 4 +const SInt32Rules_Gte_case case_SInt32Rules_GreaterThan = 5 + +func (x *SInt32Rules) WhichGreaterThan() case_SInt32Rules_GreaterThan { + if x == nil { + return SInt32Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *SInt32Rules_Gt: + return SInt32Rules_Gt_case + case *SInt32Rules_Gte: + return SInt32Rules_Gte_case + default: + return SInt32Rules_GreaterThan_not_set_case + } +} + +type SInt32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must equal 42 + // sint32 value = 1 [(buf.validate.field).sint32.const = 42]; + // } + // + // ``` + Const *int32 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be less than 10 + // sint32 value = 1 [(buf.validate.field).sint32.lt = 10]; + // } + // + // ``` + Lt *int32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be less than or equal to 10 + // sint32 value = 1 [(buf.validate.field).sint32.lte = 10]; + // } + // + // ``` + Lte *int32 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be greater than 5 [sint32.gt] + // sint32 value = 1 [(buf.validate.field).sint32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sint32.gt_lt] + // sint32 other_value = 2 [(buf.validate.field).sint32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sint32.gt_lt_exclusive] + // sint32 another_value = 3 [(buf.validate.field).sint32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be greater than or equal to 5 [sint32.gte] + // sint32 value = 1 [(buf.validate.field).sint32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sint32.gte_lt] + // sint32 other_value = 2 [(buf.validate.field).sint32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sint32.gte_lt_exclusive] + // sint32 another_value = 3 [(buf.validate.field).sint32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int32 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySInt32 { + // // value must be in list [1, 2, 3] + // sint32 value = 1 [(buf.validate.field).sint32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must not be in list [1, 2, 3] + // sint32 value = 1 [(buf.validate.field).sint32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySInt32 { + // sint32 value = 1 [ + // (buf.validate.field).sint32.example = 1, + // (buf.validate.field).sint32.example = -10 + // ]; + // } + // + // ``` + Example []int32 +} + +func (b0 SInt32Rules_builder) Build() *SInt32Rules { + m0 := &SInt32Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &SInt32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &SInt32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &SInt32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &SInt32Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_SInt32Rules_LessThan protoreflect.FieldNumber + +func (x case_SInt32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[12].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_SInt32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_SInt32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[12].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isSInt32Rules_LessThan interface { + isSInt32Rules_LessThan() +} + +type SInt32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be less than 10 + // sint32 value = 1 [(buf.validate.field).sint32.lt = 10]; + // } + // + // ``` + Lt int32 `protobuf:"zigzag32,2,opt,name=lt,oneof"` +} + +type SInt32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be less than or equal to 10 + // sint32 value = 1 [(buf.validate.field).sint32.lte = 10]; + // } + // + // ``` + Lte int32 `protobuf:"zigzag32,3,opt,name=lte,oneof"` +} + +func (*SInt32Rules_Lt) isSInt32Rules_LessThan() {} + +func (*SInt32Rules_Lte) isSInt32Rules_LessThan() {} + +type isSInt32Rules_GreaterThan interface { + isSInt32Rules_GreaterThan() +} + +type SInt32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be greater than 5 [sint32.gt] + // sint32 value = 1 [(buf.validate.field).sint32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sint32.gt_lt] + // sint32 other_value = 2 [(buf.validate.field).sint32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sint32.gt_lt_exclusive] + // sint32 another_value = 3 [(buf.validate.field).sint32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int32 `protobuf:"zigzag32,4,opt,name=gt,oneof"` +} + +type SInt32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be greater than or equal to 5 [sint32.gte] + // sint32 value = 1 [(buf.validate.field).sint32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sint32.gte_lt] + // sint32 other_value = 2 [(buf.validate.field).sint32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sint32.gte_lt_exclusive] + // sint32 another_value = 3 [(buf.validate.field).sint32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int32 `protobuf:"zigzag32,5,opt,name=gte,oneof"` +} + +func (*SInt32Rules_Gt) isSInt32Rules_GreaterThan() {} + +func (*SInt32Rules_Gte) isSInt32Rules_GreaterThan() {} + +// SInt64Rules describes the rules applied to `sint64` values. +type SInt64Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must equal 42 + // sint64 value = 1 [(buf.validate.field).sint64.const = 42]; + // } + // + // ``` + Const *int64 `protobuf:"zigzag64,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *SInt64Rules_Lt + // *SInt64Rules_Lte + LessThan isSInt64Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *SInt64Rules_Gt + // *SInt64Rules_Gte + GreaterThan isSInt64Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be in list [1, 2, 3] + // sint64 value = 1 [(buf.validate.field).sint64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 `protobuf:"zigzag64,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must not be in list [1, 2, 3] + // sint64 value = 1 [(buf.validate.field).sint64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 `protobuf:"zigzag64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySInt64 { + // sint64 value = 1 [ + // (buf.validate.field).sint64.example = 1, + // (buf.validate.field).sint64.example = -10 + // ]; + // } + // + // ``` + Example []int64 `protobuf:"zigzag64,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SInt64Rules) Reset() { + *x = SInt64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SInt64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SInt64Rules) ProtoMessage() {} + +func (x *SInt64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SInt64Rules) GetConst() int64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *SInt64Rules) GetLessThan() isSInt64Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *SInt64Rules) GetLt() int64 { + if x != nil { + if x, ok := x.LessThan.(*SInt64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *SInt64Rules) GetLte() int64 { + if x != nil { + if x, ok := x.LessThan.(*SInt64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *SInt64Rules) GetGreaterThan() isSInt64Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *SInt64Rules) GetGt() int64 { + if x != nil { + if x, ok := x.GreaterThan.(*SInt64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *SInt64Rules) GetGte() int64 { + if x != nil { + if x, ok := x.GreaterThan.(*SInt64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *SInt64Rules) GetIn() []int64 { + if x != nil { + return x.In + } + return nil +} + +func (x *SInt64Rules) GetNotIn() []int64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *SInt64Rules) GetExample() []int64 { + if x != nil { + return x.Example + } + return nil +} + +func (x *SInt64Rules) SetConst(v int64) { + x.Const = &v +} + +func (x *SInt64Rules) SetLt(v int64) { + x.LessThan = &SInt64Rules_Lt{v} +} + +func (x *SInt64Rules) SetLte(v int64) { + x.LessThan = &SInt64Rules_Lte{v} +} + +func (x *SInt64Rules) SetGt(v int64) { + x.GreaterThan = &SInt64Rules_Gt{v} +} + +func (x *SInt64Rules) SetGte(v int64) { + x.GreaterThan = &SInt64Rules_Gte{v} +} + +func (x *SInt64Rules) SetIn(v []int64) { + x.In = v +} + +func (x *SInt64Rules) SetNotIn(v []int64) { + x.NotIn = v +} + +func (x *SInt64Rules) SetExample(v []int64) { + x.Example = v +} + +func (x *SInt64Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *SInt64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *SInt64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*SInt64Rules_Lt) + return ok +} + +func (x *SInt64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*SInt64Rules_Lte) + return ok +} + +func (x *SInt64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *SInt64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*SInt64Rules_Gt) + return ok +} + +func (x *SInt64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*SInt64Rules_Gte) + return ok +} + +func (x *SInt64Rules) ClearConst() { + x.Const = nil +} + +func (x *SInt64Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *SInt64Rules) ClearLt() { + if _, ok := x.LessThan.(*SInt64Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *SInt64Rules) ClearLte() { + if _, ok := x.LessThan.(*SInt64Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *SInt64Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *SInt64Rules) ClearGt() { + if _, ok := x.GreaterThan.(*SInt64Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *SInt64Rules) ClearGte() { + if _, ok := x.GreaterThan.(*SInt64Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const SInt64Rules_LessThan_not_set_case case_SInt64Rules_LessThan = 0 +const SInt64Rules_Lt_case case_SInt64Rules_LessThan = 2 +const SInt64Rules_Lte_case case_SInt64Rules_LessThan = 3 + +func (x *SInt64Rules) WhichLessThan() case_SInt64Rules_LessThan { + if x == nil { + return SInt64Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *SInt64Rules_Lt: + return SInt64Rules_Lt_case + case *SInt64Rules_Lte: + return SInt64Rules_Lte_case + default: + return SInt64Rules_LessThan_not_set_case + } +} + +const SInt64Rules_GreaterThan_not_set_case case_SInt64Rules_GreaterThan = 0 +const SInt64Rules_Gt_case case_SInt64Rules_GreaterThan = 4 +const SInt64Rules_Gte_case case_SInt64Rules_GreaterThan = 5 + +func (x *SInt64Rules) WhichGreaterThan() case_SInt64Rules_GreaterThan { + if x == nil { + return SInt64Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *SInt64Rules_Gt: + return SInt64Rules_Gt_case + case *SInt64Rules_Gte: + return SInt64Rules_Gte_case + default: + return SInt64Rules_GreaterThan_not_set_case + } +} + +type SInt64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must equal 42 + // sint64 value = 1 [(buf.validate.field).sint64.const = 42]; + // } + // + // ``` + Const *int64 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be less than 10 + // sint64 value = 1 [(buf.validate.field).sint64.lt = 10]; + // } + // + // ``` + Lt *int64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be less than or equal to 10 + // sint64 value = 1 [(buf.validate.field).sint64.lte = 10]; + // } + // + // ``` + Lte *int64 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be greater than 5 [sint64.gt] + // sint64 value = 1 [(buf.validate.field).sint64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sint64.gt_lt] + // sint64 other_value = 2 [(buf.validate.field).sint64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sint64.gt_lt_exclusive] + // sint64 another_value = 3 [(buf.validate.field).sint64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be greater than or equal to 5 [sint64.gte] + // sint64 value = 1 [(buf.validate.field).sint64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sint64.gte_lt] + // sint64 other_value = 2 [(buf.validate.field).sint64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sint64.gte_lt_exclusive] + // sint64 another_value = 3 [(buf.validate.field).sint64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int64 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be in list [1, 2, 3] + // sint64 value = 1 [(buf.validate.field).sint64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must not be in list [1, 2, 3] + // sint64 value = 1 [(buf.validate.field).sint64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySInt64 { + // sint64 value = 1 [ + // (buf.validate.field).sint64.example = 1, + // (buf.validate.field).sint64.example = -10 + // ]; + // } + // + // ``` + Example []int64 +} + +func (b0 SInt64Rules_builder) Build() *SInt64Rules { + m0 := &SInt64Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &SInt64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &SInt64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &SInt64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &SInt64Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_SInt64Rules_LessThan protoreflect.FieldNumber + +func (x case_SInt64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[13].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_SInt64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_SInt64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[13].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isSInt64Rules_LessThan interface { + isSInt64Rules_LessThan() +} + +type SInt64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be less than 10 + // sint64 value = 1 [(buf.validate.field).sint64.lt = 10]; + // } + // + // ``` + Lt int64 `protobuf:"zigzag64,2,opt,name=lt,oneof"` +} + +type SInt64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be less than or equal to 10 + // sint64 value = 1 [(buf.validate.field).sint64.lte = 10]; + // } + // + // ``` + Lte int64 `protobuf:"zigzag64,3,opt,name=lte,oneof"` +} + +func (*SInt64Rules_Lt) isSInt64Rules_LessThan() {} + +func (*SInt64Rules_Lte) isSInt64Rules_LessThan() {} + +type isSInt64Rules_GreaterThan interface { + isSInt64Rules_GreaterThan() +} + +type SInt64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be greater than 5 [sint64.gt] + // sint64 value = 1 [(buf.validate.field).sint64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sint64.gt_lt] + // sint64 other_value = 2 [(buf.validate.field).sint64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sint64.gt_lt_exclusive] + // sint64 another_value = 3 [(buf.validate.field).sint64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int64 `protobuf:"zigzag64,4,opt,name=gt,oneof"` +} + +type SInt64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be greater than or equal to 5 [sint64.gte] + // sint64 value = 1 [(buf.validate.field).sint64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sint64.gte_lt] + // sint64 other_value = 2 [(buf.validate.field).sint64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sint64.gte_lt_exclusive] + // sint64 another_value = 3 [(buf.validate.field).sint64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int64 `protobuf:"zigzag64,5,opt,name=gte,oneof"` +} + +func (*SInt64Rules_Gt) isSInt64Rules_GreaterThan() {} + +func (*SInt64Rules_Gte) isSInt64Rules_GreaterThan() {} + +// Fixed32Rules describes the rules applied to `fixed32` values. +type Fixed32Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must equal 42 + // fixed32 value = 1 [(buf.validate.field).fixed32.const = 42]; + // } + // + // ``` + Const *uint32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *Fixed32Rules_Lt + // *Fixed32Rules_Lte + LessThan isFixed32Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *Fixed32Rules_Gt + // *Fixed32Rules_Gte + GreaterThan isFixed32Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be in list [1, 2, 3] + // fixed32 value = 1 [(buf.validate.field).fixed32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must not be in list [1, 2, 3] + // fixed32 value = 1 [(buf.validate.field).fixed32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFixed32 { + // fixed32 value = 1 [ + // (buf.validate.field).fixed32.example = 1, + // (buf.validate.field).fixed32.example = 2 + // ]; + // } + // + // ``` + Example []uint32 `protobuf:"fixed32,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Fixed32Rules) Reset() { + *x = Fixed32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Fixed32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fixed32Rules) ProtoMessage() {} + +func (x *Fixed32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Fixed32Rules) GetConst() uint32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *Fixed32Rules) GetLessThan() isFixed32Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *Fixed32Rules) GetLt() uint32 { + if x != nil { + if x, ok := x.LessThan.(*Fixed32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *Fixed32Rules) GetLte() uint32 { + if x != nil { + if x, ok := x.LessThan.(*Fixed32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *Fixed32Rules) GetGreaterThan() isFixed32Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *Fixed32Rules) GetGt() uint32 { + if x != nil { + if x, ok := x.GreaterThan.(*Fixed32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *Fixed32Rules) GetGte() uint32 { + if x != nil { + if x, ok := x.GreaterThan.(*Fixed32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *Fixed32Rules) GetIn() []uint32 { + if x != nil { + return x.In + } + return nil +} + +func (x *Fixed32Rules) GetNotIn() []uint32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *Fixed32Rules) GetExample() []uint32 { + if x != nil { + return x.Example + } + return nil +} + +func (x *Fixed32Rules) SetConst(v uint32) { + x.Const = &v +} + +func (x *Fixed32Rules) SetLt(v uint32) { + x.LessThan = &Fixed32Rules_Lt{v} +} + +func (x *Fixed32Rules) SetLte(v uint32) { + x.LessThan = &Fixed32Rules_Lte{v} +} + +func (x *Fixed32Rules) SetGt(v uint32) { + x.GreaterThan = &Fixed32Rules_Gt{v} +} + +func (x *Fixed32Rules) SetGte(v uint32) { + x.GreaterThan = &Fixed32Rules_Gte{v} +} + +func (x *Fixed32Rules) SetIn(v []uint32) { + x.In = v +} + +func (x *Fixed32Rules) SetNotIn(v []uint32) { + x.NotIn = v +} + +func (x *Fixed32Rules) SetExample(v []uint32) { + x.Example = v +} + +func (x *Fixed32Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *Fixed32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *Fixed32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*Fixed32Rules_Lt) + return ok +} + +func (x *Fixed32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*Fixed32Rules_Lte) + return ok +} + +func (x *Fixed32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *Fixed32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*Fixed32Rules_Gt) + return ok +} + +func (x *Fixed32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*Fixed32Rules_Gte) + return ok +} + +func (x *Fixed32Rules) ClearConst() { + x.Const = nil +} + +func (x *Fixed32Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *Fixed32Rules) ClearLt() { + if _, ok := x.LessThan.(*Fixed32Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *Fixed32Rules) ClearLte() { + if _, ok := x.LessThan.(*Fixed32Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *Fixed32Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *Fixed32Rules) ClearGt() { + if _, ok := x.GreaterThan.(*Fixed32Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *Fixed32Rules) ClearGte() { + if _, ok := x.GreaterThan.(*Fixed32Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const Fixed32Rules_LessThan_not_set_case case_Fixed32Rules_LessThan = 0 +const Fixed32Rules_Lt_case case_Fixed32Rules_LessThan = 2 +const Fixed32Rules_Lte_case case_Fixed32Rules_LessThan = 3 + +func (x *Fixed32Rules) WhichLessThan() case_Fixed32Rules_LessThan { + if x == nil { + return Fixed32Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *Fixed32Rules_Lt: + return Fixed32Rules_Lt_case + case *Fixed32Rules_Lte: + return Fixed32Rules_Lte_case + default: + return Fixed32Rules_LessThan_not_set_case + } +} + +const Fixed32Rules_GreaterThan_not_set_case case_Fixed32Rules_GreaterThan = 0 +const Fixed32Rules_Gt_case case_Fixed32Rules_GreaterThan = 4 +const Fixed32Rules_Gte_case case_Fixed32Rules_GreaterThan = 5 + +func (x *Fixed32Rules) WhichGreaterThan() case_Fixed32Rules_GreaterThan { + if x == nil { + return Fixed32Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *Fixed32Rules_Gt: + return Fixed32Rules_Gt_case + case *Fixed32Rules_Gte: + return Fixed32Rules_Gte_case + default: + return Fixed32Rules_GreaterThan_not_set_case + } +} + +type Fixed32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must equal 42 + // fixed32 value = 1 [(buf.validate.field).fixed32.const = 42]; + // } + // + // ``` + Const *uint32 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be less than 10 + // fixed32 value = 1 [(buf.validate.field).fixed32.lt = 10]; + // } + // + // ``` + Lt *uint32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be less than or equal to 10 + // fixed32 value = 1 [(buf.validate.field).fixed32.lte = 10]; + // } + // + // ``` + Lte *uint32 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be greater than 5 [fixed32.gt] + // fixed32 value = 1 [(buf.validate.field).fixed32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [fixed32.gt_lt] + // fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [fixed32.gt_lt_exclusive] + // fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *uint32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be greater than or equal to 5 [fixed32.gte] + // fixed32 value = 1 [(buf.validate.field).fixed32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [fixed32.gte_lt] + // fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [fixed32.gte_lt_exclusive] + // fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *uint32 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be in list [1, 2, 3] + // fixed32 value = 1 [(buf.validate.field).fixed32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must not be in list [1, 2, 3] + // fixed32 value = 1 [(buf.validate.field).fixed32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFixed32 { + // fixed32 value = 1 [ + // (buf.validate.field).fixed32.example = 1, + // (buf.validate.field).fixed32.example = 2 + // ]; + // } + // + // ``` + Example []uint32 +} + +func (b0 Fixed32Rules_builder) Build() *Fixed32Rules { + m0 := &Fixed32Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &Fixed32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &Fixed32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &Fixed32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &Fixed32Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_Fixed32Rules_LessThan protoreflect.FieldNumber + +func (x case_Fixed32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[14].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_Fixed32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_Fixed32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[14].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFixed32Rules_LessThan interface { + isFixed32Rules_LessThan() +} + +type Fixed32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be less than 10 + // fixed32 value = 1 [(buf.validate.field).fixed32.lt = 10]; + // } + // + // ``` + Lt uint32 `protobuf:"fixed32,2,opt,name=lt,oneof"` +} + +type Fixed32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be less than or equal to 10 + // fixed32 value = 1 [(buf.validate.field).fixed32.lte = 10]; + // } + // + // ``` + Lte uint32 `protobuf:"fixed32,3,opt,name=lte,oneof"` +} + +func (*Fixed32Rules_Lt) isFixed32Rules_LessThan() {} + +func (*Fixed32Rules_Lte) isFixed32Rules_LessThan() {} + +type isFixed32Rules_GreaterThan interface { + isFixed32Rules_GreaterThan() +} + +type Fixed32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be greater than 5 [fixed32.gt] + // fixed32 value = 1 [(buf.validate.field).fixed32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [fixed32.gt_lt] + // fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [fixed32.gt_lt_exclusive] + // fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt uint32 `protobuf:"fixed32,4,opt,name=gt,oneof"` +} + +type Fixed32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be greater than or equal to 5 [fixed32.gte] + // fixed32 value = 1 [(buf.validate.field).fixed32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [fixed32.gte_lt] + // fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [fixed32.gte_lt_exclusive] + // fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte uint32 `protobuf:"fixed32,5,opt,name=gte,oneof"` +} + +func (*Fixed32Rules_Gt) isFixed32Rules_GreaterThan() {} + +func (*Fixed32Rules_Gte) isFixed32Rules_GreaterThan() {} + +// Fixed64Rules describes the rules applied to `fixed64` values. +type Fixed64Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must equal 42 + // fixed64 value = 1 [(buf.validate.field).fixed64.const = 42]; + // } + // + // ``` + Const *uint64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *Fixed64Rules_Lt + // *Fixed64Rules_Lte + LessThan isFixed64Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *Fixed64Rules_Gt + // *Fixed64Rules_Gte + GreaterThan isFixed64Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be in list [1, 2, 3] + // fixed64 value = 1 [(buf.validate.field).fixed64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must not be in list [1, 2, 3] + // fixed64 value = 1 [(buf.validate.field).fixed64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFixed64 { + // fixed64 value = 1 [ + // (buf.validate.field).fixed64.example = 1, + // (buf.validate.field).fixed64.example = 2 + // ]; + // } + // + // ``` + Example []uint64 `protobuf:"fixed64,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Fixed64Rules) Reset() { + *x = Fixed64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Fixed64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fixed64Rules) ProtoMessage() {} + +func (x *Fixed64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Fixed64Rules) GetConst() uint64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *Fixed64Rules) GetLessThan() isFixed64Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *Fixed64Rules) GetLt() uint64 { + if x != nil { + if x, ok := x.LessThan.(*Fixed64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *Fixed64Rules) GetLte() uint64 { + if x != nil { + if x, ok := x.LessThan.(*Fixed64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *Fixed64Rules) GetGreaterThan() isFixed64Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *Fixed64Rules) GetGt() uint64 { + if x != nil { + if x, ok := x.GreaterThan.(*Fixed64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *Fixed64Rules) GetGte() uint64 { + if x != nil { + if x, ok := x.GreaterThan.(*Fixed64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *Fixed64Rules) GetIn() []uint64 { + if x != nil { + return x.In + } + return nil +} + +func (x *Fixed64Rules) GetNotIn() []uint64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *Fixed64Rules) GetExample() []uint64 { + if x != nil { + return x.Example + } + return nil +} + +func (x *Fixed64Rules) SetConst(v uint64) { + x.Const = &v +} + +func (x *Fixed64Rules) SetLt(v uint64) { + x.LessThan = &Fixed64Rules_Lt{v} +} + +func (x *Fixed64Rules) SetLte(v uint64) { + x.LessThan = &Fixed64Rules_Lte{v} +} + +func (x *Fixed64Rules) SetGt(v uint64) { + x.GreaterThan = &Fixed64Rules_Gt{v} +} + +func (x *Fixed64Rules) SetGte(v uint64) { + x.GreaterThan = &Fixed64Rules_Gte{v} +} + +func (x *Fixed64Rules) SetIn(v []uint64) { + x.In = v +} + +func (x *Fixed64Rules) SetNotIn(v []uint64) { + x.NotIn = v +} + +func (x *Fixed64Rules) SetExample(v []uint64) { + x.Example = v +} + +func (x *Fixed64Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *Fixed64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *Fixed64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*Fixed64Rules_Lt) + return ok +} + +func (x *Fixed64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*Fixed64Rules_Lte) + return ok +} + +func (x *Fixed64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *Fixed64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*Fixed64Rules_Gt) + return ok +} + +func (x *Fixed64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*Fixed64Rules_Gte) + return ok +} + +func (x *Fixed64Rules) ClearConst() { + x.Const = nil +} + +func (x *Fixed64Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *Fixed64Rules) ClearLt() { + if _, ok := x.LessThan.(*Fixed64Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *Fixed64Rules) ClearLte() { + if _, ok := x.LessThan.(*Fixed64Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *Fixed64Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *Fixed64Rules) ClearGt() { + if _, ok := x.GreaterThan.(*Fixed64Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *Fixed64Rules) ClearGte() { + if _, ok := x.GreaterThan.(*Fixed64Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const Fixed64Rules_LessThan_not_set_case case_Fixed64Rules_LessThan = 0 +const Fixed64Rules_Lt_case case_Fixed64Rules_LessThan = 2 +const Fixed64Rules_Lte_case case_Fixed64Rules_LessThan = 3 + +func (x *Fixed64Rules) WhichLessThan() case_Fixed64Rules_LessThan { + if x == nil { + return Fixed64Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *Fixed64Rules_Lt: + return Fixed64Rules_Lt_case + case *Fixed64Rules_Lte: + return Fixed64Rules_Lte_case + default: + return Fixed64Rules_LessThan_not_set_case + } +} + +const Fixed64Rules_GreaterThan_not_set_case case_Fixed64Rules_GreaterThan = 0 +const Fixed64Rules_Gt_case case_Fixed64Rules_GreaterThan = 4 +const Fixed64Rules_Gte_case case_Fixed64Rules_GreaterThan = 5 + +func (x *Fixed64Rules) WhichGreaterThan() case_Fixed64Rules_GreaterThan { + if x == nil { + return Fixed64Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *Fixed64Rules_Gt: + return Fixed64Rules_Gt_case + case *Fixed64Rules_Gte: + return Fixed64Rules_Gte_case + default: + return Fixed64Rules_GreaterThan_not_set_case + } +} + +type Fixed64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must equal 42 + // fixed64 value = 1 [(buf.validate.field).fixed64.const = 42]; + // } + // + // ``` + Const *uint64 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be less than 10 + // fixed64 value = 1 [(buf.validate.field).fixed64.lt = 10]; + // } + // + // ``` + Lt *uint64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be less than or equal to 10 + // fixed64 value = 1 [(buf.validate.field).fixed64.lte = 10]; + // } + // + // ``` + Lte *uint64 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be greater than 5 [fixed64.gt] + // fixed64 value = 1 [(buf.validate.field).fixed64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [fixed64.gt_lt] + // fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [fixed64.gt_lt_exclusive] + // fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *uint64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be greater than or equal to 5 [fixed64.gte] + // fixed64 value = 1 [(buf.validate.field).fixed64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [fixed64.gte_lt] + // fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [fixed64.gte_lt_exclusive] + // fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *uint64 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be in list [1, 2, 3] + // fixed64 value = 1 [(buf.validate.field).fixed64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must not be in list [1, 2, 3] + // fixed64 value = 1 [(buf.validate.field).fixed64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFixed64 { + // fixed64 value = 1 [ + // (buf.validate.field).fixed64.example = 1, + // (buf.validate.field).fixed64.example = 2 + // ]; + // } + // + // ``` + Example []uint64 +} + +func (b0 Fixed64Rules_builder) Build() *Fixed64Rules { + m0 := &Fixed64Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &Fixed64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &Fixed64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &Fixed64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &Fixed64Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_Fixed64Rules_LessThan protoreflect.FieldNumber + +func (x case_Fixed64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[15].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_Fixed64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_Fixed64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[15].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFixed64Rules_LessThan interface { + isFixed64Rules_LessThan() +} + +type Fixed64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be less than 10 + // fixed64 value = 1 [(buf.validate.field).fixed64.lt = 10]; + // } + // + // ``` + Lt uint64 `protobuf:"fixed64,2,opt,name=lt,oneof"` +} + +type Fixed64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be less than or equal to 10 + // fixed64 value = 1 [(buf.validate.field).fixed64.lte = 10]; + // } + // + // ``` + Lte uint64 `protobuf:"fixed64,3,opt,name=lte,oneof"` +} + +func (*Fixed64Rules_Lt) isFixed64Rules_LessThan() {} + +func (*Fixed64Rules_Lte) isFixed64Rules_LessThan() {} + +type isFixed64Rules_GreaterThan interface { + isFixed64Rules_GreaterThan() +} + +type Fixed64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be greater than 5 [fixed64.gt] + // fixed64 value = 1 [(buf.validate.field).fixed64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [fixed64.gt_lt] + // fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [fixed64.gt_lt_exclusive] + // fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt uint64 `protobuf:"fixed64,4,opt,name=gt,oneof"` +} + +type Fixed64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be greater than or equal to 5 [fixed64.gte] + // fixed64 value = 1 [(buf.validate.field).fixed64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [fixed64.gte_lt] + // fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [fixed64.gte_lt_exclusive] + // fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte uint64 `protobuf:"fixed64,5,opt,name=gte,oneof"` +} + +func (*Fixed64Rules_Gt) isFixed64Rules_GreaterThan() {} + +func (*Fixed64Rules_Gte) isFixed64Rules_GreaterThan() {} + +// SFixed32Rules describes the rules applied to `fixed32` values. +type SFixed32Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must equal 42 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.const = 42]; + // } + // + // ``` + Const *int32 `protobuf:"fixed32,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *SFixed32Rules_Lt + // *SFixed32Rules_Lte + LessThan isSFixed32Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *SFixed32Rules_Gt + // *SFixed32Rules_Gte + GreaterThan isSFixed32Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be in list [1, 2, 3] + // sfixed32 value = 1 [(buf.validate.field).sfixed32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 `protobuf:"fixed32,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must not be in list [1, 2, 3] + // sfixed32 value = 1 [(buf.validate.field).sfixed32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySFixed32 { + // sfixed32 value = 1 [ + // (buf.validate.field).sfixed32.example = 1, + // (buf.validate.field).sfixed32.example = 2 + // ]; + // } + // + // ``` + Example []int32 `protobuf:"fixed32,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SFixed32Rules) Reset() { + *x = SFixed32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SFixed32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SFixed32Rules) ProtoMessage() {} + +func (x *SFixed32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SFixed32Rules) GetConst() int32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *SFixed32Rules) GetLessThan() isSFixed32Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *SFixed32Rules) GetLt() int32 { + if x != nil { + if x, ok := x.LessThan.(*SFixed32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *SFixed32Rules) GetLte() int32 { + if x != nil { + if x, ok := x.LessThan.(*SFixed32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *SFixed32Rules) GetGreaterThan() isSFixed32Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *SFixed32Rules) GetGt() int32 { + if x != nil { + if x, ok := x.GreaterThan.(*SFixed32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *SFixed32Rules) GetGte() int32 { + if x != nil { + if x, ok := x.GreaterThan.(*SFixed32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *SFixed32Rules) GetIn() []int32 { + if x != nil { + return x.In + } + return nil +} + +func (x *SFixed32Rules) GetNotIn() []int32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *SFixed32Rules) GetExample() []int32 { + if x != nil { + return x.Example + } + return nil +} + +func (x *SFixed32Rules) SetConst(v int32) { + x.Const = &v +} + +func (x *SFixed32Rules) SetLt(v int32) { + x.LessThan = &SFixed32Rules_Lt{v} +} + +func (x *SFixed32Rules) SetLte(v int32) { + x.LessThan = &SFixed32Rules_Lte{v} +} + +func (x *SFixed32Rules) SetGt(v int32) { + x.GreaterThan = &SFixed32Rules_Gt{v} +} + +func (x *SFixed32Rules) SetGte(v int32) { + x.GreaterThan = &SFixed32Rules_Gte{v} +} + +func (x *SFixed32Rules) SetIn(v []int32) { + x.In = v +} + +func (x *SFixed32Rules) SetNotIn(v []int32) { + x.NotIn = v +} + +func (x *SFixed32Rules) SetExample(v []int32) { + x.Example = v +} + +func (x *SFixed32Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *SFixed32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *SFixed32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*SFixed32Rules_Lt) + return ok +} + +func (x *SFixed32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*SFixed32Rules_Lte) + return ok +} + +func (x *SFixed32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *SFixed32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*SFixed32Rules_Gt) + return ok +} + +func (x *SFixed32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*SFixed32Rules_Gte) + return ok +} + +func (x *SFixed32Rules) ClearConst() { + x.Const = nil +} + +func (x *SFixed32Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *SFixed32Rules) ClearLt() { + if _, ok := x.LessThan.(*SFixed32Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *SFixed32Rules) ClearLte() { + if _, ok := x.LessThan.(*SFixed32Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *SFixed32Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *SFixed32Rules) ClearGt() { + if _, ok := x.GreaterThan.(*SFixed32Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *SFixed32Rules) ClearGte() { + if _, ok := x.GreaterThan.(*SFixed32Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const SFixed32Rules_LessThan_not_set_case case_SFixed32Rules_LessThan = 0 +const SFixed32Rules_Lt_case case_SFixed32Rules_LessThan = 2 +const SFixed32Rules_Lte_case case_SFixed32Rules_LessThan = 3 + +func (x *SFixed32Rules) WhichLessThan() case_SFixed32Rules_LessThan { + if x == nil { + return SFixed32Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *SFixed32Rules_Lt: + return SFixed32Rules_Lt_case + case *SFixed32Rules_Lte: + return SFixed32Rules_Lte_case + default: + return SFixed32Rules_LessThan_not_set_case + } +} + +const SFixed32Rules_GreaterThan_not_set_case case_SFixed32Rules_GreaterThan = 0 +const SFixed32Rules_Gt_case case_SFixed32Rules_GreaterThan = 4 +const SFixed32Rules_Gte_case case_SFixed32Rules_GreaterThan = 5 + +func (x *SFixed32Rules) WhichGreaterThan() case_SFixed32Rules_GreaterThan { + if x == nil { + return SFixed32Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *SFixed32Rules_Gt: + return SFixed32Rules_Gt_case + case *SFixed32Rules_Gte: + return SFixed32Rules_Gte_case + default: + return SFixed32Rules_GreaterThan_not_set_case + } +} + +type SFixed32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must equal 42 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.const = 42]; + // } + // + // ``` + Const *int32 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be less than 10 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.lt = 10]; + // } + // + // ``` + Lt *int32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be less than or equal to 10 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.lte = 10]; + // } + // + // ``` + Lte *int32 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be greater than 5 [sfixed32.gt] + // sfixed32 value = 1 [(buf.validate.field).sfixed32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sfixed32.gt_lt] + // sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sfixed32.gt_lt_exclusive] + // sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be greater than or equal to 5 [sfixed32.gte] + // sfixed32 value = 1 [(buf.validate.field).sfixed32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sfixed32.gte_lt] + // sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sfixed32.gte_lt_exclusive] + // sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int32 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be in list [1, 2, 3] + // sfixed32 value = 1 [(buf.validate.field).sfixed32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must not be in list [1, 2, 3] + // sfixed32 value = 1 [(buf.validate.field).sfixed32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySFixed32 { + // sfixed32 value = 1 [ + // (buf.validate.field).sfixed32.example = 1, + // (buf.validate.field).sfixed32.example = 2 + // ]; + // } + // + // ``` + Example []int32 +} + +func (b0 SFixed32Rules_builder) Build() *SFixed32Rules { + m0 := &SFixed32Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &SFixed32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &SFixed32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &SFixed32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &SFixed32Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_SFixed32Rules_LessThan protoreflect.FieldNumber + +func (x case_SFixed32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[16].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_SFixed32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_SFixed32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[16].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isSFixed32Rules_LessThan interface { + isSFixed32Rules_LessThan() +} + +type SFixed32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be less than 10 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.lt = 10]; + // } + // + // ``` + Lt int32 `protobuf:"fixed32,2,opt,name=lt,oneof"` +} + +type SFixed32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be less than or equal to 10 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.lte = 10]; + // } + // + // ``` + Lte int32 `protobuf:"fixed32,3,opt,name=lte,oneof"` +} + +func (*SFixed32Rules_Lt) isSFixed32Rules_LessThan() {} + +func (*SFixed32Rules_Lte) isSFixed32Rules_LessThan() {} + +type isSFixed32Rules_GreaterThan interface { + isSFixed32Rules_GreaterThan() +} + +type SFixed32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be greater than 5 [sfixed32.gt] + // sfixed32 value = 1 [(buf.validate.field).sfixed32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sfixed32.gt_lt] + // sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sfixed32.gt_lt_exclusive] + // sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int32 `protobuf:"fixed32,4,opt,name=gt,oneof"` +} + +type SFixed32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be greater than or equal to 5 [sfixed32.gte] + // sfixed32 value = 1 [(buf.validate.field).sfixed32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sfixed32.gte_lt] + // sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sfixed32.gte_lt_exclusive] + // sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int32 `protobuf:"fixed32,5,opt,name=gte,oneof"` +} + +func (*SFixed32Rules_Gt) isSFixed32Rules_GreaterThan() {} + +func (*SFixed32Rules_Gte) isSFixed32Rules_GreaterThan() {} + +// SFixed64Rules describes the rules applied to `fixed64` values. +type SFixed64Rules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must equal 42 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.const = 42]; + // } + // + // ``` + Const *int64 `protobuf:"fixed64,1,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *SFixed64Rules_Lt + // *SFixed64Rules_Lte + LessThan isSFixed64Rules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *SFixed64Rules_Gt + // *SFixed64Rules_Gte + GreaterThan isSFixed64Rules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be in list [1, 2, 3] + // sfixed64 value = 1 [(buf.validate.field).sfixed64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 `protobuf:"fixed64,6,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must not be in list [1, 2, 3] + // sfixed64 value = 1 [(buf.validate.field).sfixed64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySFixed64 { + // sfixed64 value = 1 [ + // (buf.validate.field).sfixed64.example = 1, + // (buf.validate.field).sfixed64.example = 2 + // ]; + // } + // + // ``` + Example []int64 `protobuf:"fixed64,8,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SFixed64Rules) Reset() { + *x = SFixed64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SFixed64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SFixed64Rules) ProtoMessage() {} + +func (x *SFixed64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SFixed64Rules) GetConst() int64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *SFixed64Rules) GetLessThan() isSFixed64Rules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *SFixed64Rules) GetLt() int64 { + if x != nil { + if x, ok := x.LessThan.(*SFixed64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *SFixed64Rules) GetLte() int64 { + if x != nil { + if x, ok := x.LessThan.(*SFixed64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *SFixed64Rules) GetGreaterThan() isSFixed64Rules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *SFixed64Rules) GetGt() int64 { + if x != nil { + if x, ok := x.GreaterThan.(*SFixed64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *SFixed64Rules) GetGte() int64 { + if x != nil { + if x, ok := x.GreaterThan.(*SFixed64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *SFixed64Rules) GetIn() []int64 { + if x != nil { + return x.In + } + return nil +} + +func (x *SFixed64Rules) GetNotIn() []int64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *SFixed64Rules) GetExample() []int64 { + if x != nil { + return x.Example + } + return nil +} + +func (x *SFixed64Rules) SetConst(v int64) { + x.Const = &v +} + +func (x *SFixed64Rules) SetLt(v int64) { + x.LessThan = &SFixed64Rules_Lt{v} +} + +func (x *SFixed64Rules) SetLte(v int64) { + x.LessThan = &SFixed64Rules_Lte{v} +} + +func (x *SFixed64Rules) SetGt(v int64) { + x.GreaterThan = &SFixed64Rules_Gt{v} +} + +func (x *SFixed64Rules) SetGte(v int64) { + x.GreaterThan = &SFixed64Rules_Gte{v} +} + +func (x *SFixed64Rules) SetIn(v []int64) { + x.In = v +} + +func (x *SFixed64Rules) SetNotIn(v []int64) { + x.NotIn = v +} + +func (x *SFixed64Rules) SetExample(v []int64) { + x.Example = v +} + +func (x *SFixed64Rules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *SFixed64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *SFixed64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*SFixed64Rules_Lt) + return ok +} + +func (x *SFixed64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*SFixed64Rules_Lte) + return ok +} + +func (x *SFixed64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *SFixed64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*SFixed64Rules_Gt) + return ok +} + +func (x *SFixed64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*SFixed64Rules_Gte) + return ok +} + +func (x *SFixed64Rules) ClearConst() { + x.Const = nil +} + +func (x *SFixed64Rules) ClearLessThan() { + x.LessThan = nil +} + +func (x *SFixed64Rules) ClearLt() { + if _, ok := x.LessThan.(*SFixed64Rules_Lt); ok { + x.LessThan = nil + } +} + +func (x *SFixed64Rules) ClearLte() { + if _, ok := x.LessThan.(*SFixed64Rules_Lte); ok { + x.LessThan = nil + } +} + +func (x *SFixed64Rules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *SFixed64Rules) ClearGt() { + if _, ok := x.GreaterThan.(*SFixed64Rules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *SFixed64Rules) ClearGte() { + if _, ok := x.GreaterThan.(*SFixed64Rules_Gte); ok { + x.GreaterThan = nil + } +} + +const SFixed64Rules_LessThan_not_set_case case_SFixed64Rules_LessThan = 0 +const SFixed64Rules_Lt_case case_SFixed64Rules_LessThan = 2 +const SFixed64Rules_Lte_case case_SFixed64Rules_LessThan = 3 + +func (x *SFixed64Rules) WhichLessThan() case_SFixed64Rules_LessThan { + if x == nil { + return SFixed64Rules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *SFixed64Rules_Lt: + return SFixed64Rules_Lt_case + case *SFixed64Rules_Lte: + return SFixed64Rules_Lte_case + default: + return SFixed64Rules_LessThan_not_set_case + } +} + +const SFixed64Rules_GreaterThan_not_set_case case_SFixed64Rules_GreaterThan = 0 +const SFixed64Rules_Gt_case case_SFixed64Rules_GreaterThan = 4 +const SFixed64Rules_Gte_case case_SFixed64Rules_GreaterThan = 5 + +func (x *SFixed64Rules) WhichGreaterThan() case_SFixed64Rules_GreaterThan { + if x == nil { + return SFixed64Rules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *SFixed64Rules_Gt: + return SFixed64Rules_Gt_case + case *SFixed64Rules_Gte: + return SFixed64Rules_Gte_case + default: + return SFixed64Rules_GreaterThan_not_set_case + } +} + +type SFixed64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must equal 42 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.const = 42]; + // } + // + // ``` + Const *int64 + // Fields of oneof LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be less than 10 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.lt = 10]; + // } + // + // ``` + Lt *int64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be less than or equal to 10 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.lte = 10]; + // } + // + // ``` + Lte *int64 + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be greater than 5 [sfixed64.gt] + // sfixed64 value = 1 [(buf.validate.field).sfixed64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sfixed64.gt_lt] + // sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sfixed64.gt_lt_exclusive] + // sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be greater than or equal to 5 [sfixed64.gte] + // sfixed64 value = 1 [(buf.validate.field).sfixed64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sfixed64.gte_lt] + // sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sfixed64.gte_lt_exclusive] + // sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int64 + // -- end of GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be in list [1, 2, 3] + // sfixed64 value = 1 [(buf.validate.field).sfixed64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must not be in list [1, 2, 3] + // sfixed64 value = 1 [(buf.validate.field).sfixed64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySFixed64 { + // sfixed64 value = 1 [ + // (buf.validate.field).sfixed64.example = 1, + // (buf.validate.field).sfixed64.example = 2 + // ]; + // } + // + // ``` + Example []int64 +} + +func (b0 SFixed64Rules_builder) Build() *SFixed64Rules { + m0 := &SFixed64Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &SFixed64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.LessThan = &SFixed64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &SFixed64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &SFixed64Rules_Gte{*b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_SFixed64Rules_LessThan protoreflect.FieldNumber + +func (x case_SFixed64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[17].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_SFixed64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_SFixed64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[17].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isSFixed64Rules_LessThan interface { + isSFixed64Rules_LessThan() +} + +type SFixed64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be less than 10 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.lt = 10]; + // } + // + // ``` + Lt int64 `protobuf:"fixed64,2,opt,name=lt,oneof"` +} + +type SFixed64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be less than or equal to 10 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.lte = 10]; + // } + // + // ``` + Lte int64 `protobuf:"fixed64,3,opt,name=lte,oneof"` +} + +func (*SFixed64Rules_Lt) isSFixed64Rules_LessThan() {} + +func (*SFixed64Rules_Lte) isSFixed64Rules_LessThan() {} + +type isSFixed64Rules_GreaterThan interface { + isSFixed64Rules_GreaterThan() +} + +type SFixed64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be greater than 5 [sfixed64.gt] + // sfixed64 value = 1 [(buf.validate.field).sfixed64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sfixed64.gt_lt] + // sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sfixed64.gt_lt_exclusive] + // sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int64 `protobuf:"fixed64,4,opt,name=gt,oneof"` +} + +type SFixed64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be greater than or equal to 5 [sfixed64.gte] + // sfixed64 value = 1 [(buf.validate.field).sfixed64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sfixed64.gte_lt] + // sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sfixed64.gte_lt_exclusive] + // sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int64 `protobuf:"fixed64,5,opt,name=gte,oneof"` +} + +func (*SFixed64Rules_Gt) isSFixed64Rules_GreaterThan() {} + +func (*SFixed64Rules_Gte) isSFixed64Rules_GreaterThan() {} + +// BoolRules describes the rules applied to `bool` values. These rules +// may also be applied to the `google.protobuf.BoolValue` Well-Known-Type. +type BoolRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified boolean value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBool { + // // value must equal true + // bool value = 1 [(buf.validate.field).bool.const = true]; + // } + // + // ``` + Const *bool `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyBool { + // bool value = 1 [ + // (buf.validate.field).bool.example = 1, + // (buf.validate.field).bool.example = 2 + // ]; + // } + // + // ``` + Example []bool `protobuf:"varint,2,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BoolRules) Reset() { + *x = BoolRules{} + mi := &file_buf_validate_validate_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BoolRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolRules) ProtoMessage() {} + +func (x *BoolRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BoolRules) GetConst() bool { + if x != nil && x.Const != nil { + return *x.Const + } + return false +} + +func (x *BoolRules) GetExample() []bool { + if x != nil { + return x.Example + } + return nil +} + +func (x *BoolRules) SetConst(v bool) { + x.Const = &v +} + +func (x *BoolRules) SetExample(v []bool) { + x.Example = v +} + +func (x *BoolRules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *BoolRules) ClearConst() { + x.Const = nil +} + +type BoolRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified boolean value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBool { + // // value must equal true + // bool value = 1 [(buf.validate.field).bool.const = true]; + // } + // + // ``` + Const *bool + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyBool { + // bool value = 1 [ + // (buf.validate.field).bool.example = 1, + // (buf.validate.field).bool.example = 2 + // ]; + // } + // + // ``` + Example []bool +} + +func (b0 BoolRules_builder) Build() *BoolRules { + m0 := &BoolRules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + x.Example = b.Example + return m0 +} + +// StringRules describes the rules applied to `string` values These +// rules may also be applied to the `google.protobuf.StringValue` Well-Known-Type. +type StringRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyString { + // // value must equal `hello` + // string value = 1 [(buf.validate.field).string.const = "hello"]; + // } + // + // ``` + Const *string `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"` + // `len` dictates that the field value must have the specified + // number of characters (Unicode code points), which may differ from the number + // of bytes in the string. If the field value does not meet the specified + // length, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be 5 characters + // string value = 1 [(buf.validate.field).string.len = 5]; + // } + // + // ``` + Len *uint64 `protobuf:"varint,19,opt,name=len" json:"len,omitempty"` + // `min_len` specifies that the field value must have at least the specified + // number of characters (Unicode code points), which may differ from the number + // of bytes in the string. If the field value contains fewer characters, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at least 3 characters + // string value = 1 [(buf.validate.field).string.min_len = 3]; + // } + // + // ``` + MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"` + // `max_len` specifies that the field value must have no more than the specified + // number of characters (Unicode code points), which may differ from the + // number of bytes in the string. If the field value contains more characters, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at most 10 characters + // string value = 1 [(buf.validate.field).string.max_len = 10]; + // } + // + // ``` + MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"` + // `len_bytes` dictates that the field value must have the specified number of + // bytes. If the field value does not match the specified length in bytes, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be 6 bytes + // string value = 1 [(buf.validate.field).string.len_bytes = 6]; + // } + // + // ``` + LenBytes *uint64 `protobuf:"varint,20,opt,name=len_bytes,json=lenBytes" json:"len_bytes,omitempty"` + // `min_bytes` specifies that the field value must have at least the specified + // number of bytes. If the field value contains fewer bytes, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at least 4 bytes + // string value = 1 [(buf.validate.field).string.min_bytes = 4]; + // } + // + // ``` + MinBytes *uint64 `protobuf:"varint,4,opt,name=min_bytes,json=minBytes" json:"min_bytes,omitempty"` + // `max_bytes` specifies that the field value must have no more than the + // specified number of bytes. If the field value contains more bytes, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at most 8 bytes + // string value = 1 [(buf.validate.field).string.max_bytes = 8]; + // } + // + // ``` + MaxBytes *uint64 `protobuf:"varint,5,opt,name=max_bytes,json=maxBytes" json:"max_bytes,omitempty"` + // `pattern` specifies that the field value must match the specified + // regular expression (RE2 syntax), with the expression provided without any + // delimiters. If the field value doesn't match the regular expression, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not match regex pattern `^[a-zA-Z]//$` + // string value = 1 [(buf.validate.field).string.pattern = "^[a-zA-Z]//$"]; + // } + // + // ``` + Pattern *string `protobuf:"bytes,6,opt,name=pattern" json:"pattern,omitempty"` + // `prefix` specifies that the field value must have the + // specified substring at the beginning of the string. If the field value + // doesn't start with the specified prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value does not have prefix `pre` + // string value = 1 [(buf.validate.field).string.prefix = "pre"]; + // } + // + // ``` + Prefix *string `protobuf:"bytes,7,opt,name=prefix" json:"prefix,omitempty"` + // `suffix` specifies that the field value must have the + // specified substring at the end of the string. If the field value doesn't + // end with the specified suffix, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not have suffix `post` + // string value = 1 [(buf.validate.field).string.suffix = "post"]; + // } + // + // ``` + Suffix *string `protobuf:"bytes,8,opt,name=suffix" json:"suffix,omitempty"` + // `contains` specifies that the field value must have the + // specified substring anywhere in the string. If the field value doesn't + // contain the specified substring, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not contain substring `inside`. + // string value = 1 [(buf.validate.field).string.contains = "inside"]; + // } + // + // ``` + Contains *string `protobuf:"bytes,9,opt,name=contains" json:"contains,omitempty"` + // `not_contains` specifies that the field value must not have the + // specified substring anywhere in the string. If the field value contains + // the specified substring, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value contains substring `inside`. + // string value = 1 [(buf.validate.field).string.not_contains = "inside"]; + // } + // + // ``` + NotContains *string `protobuf:"bytes,23,opt,name=not_contains,json=notContains" json:"not_contains,omitempty"` + // `in` specifies that the field value must be equal to one of the specified + // values. If the field value isn't one of the specified values, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value must be in list ["apple", "banana"] + // string value = 1 [(buf.validate.field).string.in = "apple", (buf.validate.field).string.in = "banana"]; + // } + // + // ``` + In []string `protobuf:"bytes,10,rep,name=in" json:"in,omitempty"` + // `not_in` specifies that the field value cannot be equal to any + // of the specified values. If the field value is one of the specified values, + // an error message will be generated. + // ```proto + // + // message MyString { + // // value must not be in list ["orange", "grape"] + // string value = 1 [(buf.validate.field).string.not_in = "orange", (buf.validate.field).string.not_in = "grape"]; + // } + // + // ``` + NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `WellKnown` rules provide advanced rules against common string + // patterns. + // + // Types that are valid to be assigned to WellKnown: + // + // *StringRules_Email + // *StringRules_Hostname + // *StringRules_Ip + // *StringRules_Ipv4 + // *StringRules_Ipv6 + // *StringRules_Uri + // *StringRules_UriRef + // *StringRules_Address + // *StringRules_Uuid + // *StringRules_Tuuid + // *StringRules_IpWithPrefixlen + // *StringRules_Ipv4WithPrefixlen + // *StringRules_Ipv6WithPrefixlen + // *StringRules_IpPrefix + // *StringRules_Ipv4Prefix + // *StringRules_Ipv6Prefix + // *StringRules_HostAndPort + // *StringRules_WellKnownRegex + WellKnown isStringRules_WellKnown `protobuf_oneof:"well_known"` + // This applies to regexes `HTTP_HEADER_NAME` and `HTTP_HEADER_VALUE` to + // enable strict header validation. By default, this is true, and HTTP header + // validations are [RFC-compliant](https://datatracker.ietf.org/doc/html/rfc7230#section-3). Setting to false will enable looser + // validations that only disallow `\r\n\0` characters, which can be used to + // bypass header matching rules. + // + // ```proto + // + // message MyString { + // // The field `value` must have be a valid HTTP headers, but not enforced with strict rules. + // string value = 1 [(buf.validate.field).string.strict = false]; + // } + // + // ``` + Strict *bool `protobuf:"varint,25,opt,name=strict" json:"strict,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyString { + // string value = 1 [ + // (buf.validate.field).string.example = "hello", + // (buf.validate.field).string.example = "world" + // ]; + // } + // + // ``` + Example []string `protobuf:"bytes,34,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringRules) Reset() { + *x = StringRules{} + mi := &file_buf_validate_validate_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringRules) ProtoMessage() {} + +func (x *StringRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *StringRules) GetConst() string { + if x != nil && x.Const != nil { + return *x.Const + } + return "" +} + +func (x *StringRules) GetLen() uint64 { + if x != nil && x.Len != nil { + return *x.Len + } + return 0 +} + +func (x *StringRules) GetMinLen() uint64 { + if x != nil && x.MinLen != nil { + return *x.MinLen + } + return 0 +} + +func (x *StringRules) GetMaxLen() uint64 { + if x != nil && x.MaxLen != nil { + return *x.MaxLen + } + return 0 +} + +func (x *StringRules) GetLenBytes() uint64 { + if x != nil && x.LenBytes != nil { + return *x.LenBytes + } + return 0 +} + +func (x *StringRules) GetMinBytes() uint64 { + if x != nil && x.MinBytes != nil { + return *x.MinBytes + } + return 0 +} + +func (x *StringRules) GetMaxBytes() uint64 { + if x != nil && x.MaxBytes != nil { + return *x.MaxBytes + } + return 0 +} + +func (x *StringRules) GetPattern() string { + if x != nil && x.Pattern != nil { + return *x.Pattern + } + return "" +} + +func (x *StringRules) GetPrefix() string { + if x != nil && x.Prefix != nil { + return *x.Prefix + } + return "" +} + +func (x *StringRules) GetSuffix() string { + if x != nil && x.Suffix != nil { + return *x.Suffix + } + return "" +} + +func (x *StringRules) GetContains() string { + if x != nil && x.Contains != nil { + return *x.Contains + } + return "" +} + +func (x *StringRules) GetNotContains() string { + if x != nil && x.NotContains != nil { + return *x.NotContains + } + return "" +} + +func (x *StringRules) GetIn() []string { + if x != nil { + return x.In + } + return nil +} + +func (x *StringRules) GetNotIn() []string { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *StringRules) GetWellKnown() isStringRules_WellKnown { + if x != nil { + return x.WellKnown + } + return nil +} + +func (x *StringRules) GetEmail() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Email); ok { + return x.Email + } + } + return false +} + +func (x *StringRules) GetHostname() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Hostname); ok { + return x.Hostname + } + } + return false +} + +func (x *StringRules) GetIp() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Ip); ok { + return x.Ip + } + } + return false +} + +func (x *StringRules) GetIpv4() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Ipv4); ok { + return x.Ipv4 + } + } + return false +} + +func (x *StringRules) GetIpv6() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Ipv6); ok { + return x.Ipv6 + } + } + return false +} + +func (x *StringRules) GetUri() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Uri); ok { + return x.Uri + } + } + return false +} + +func (x *StringRules) GetUriRef() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_UriRef); ok { + return x.UriRef + } + } + return false +} + +func (x *StringRules) GetAddress() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Address); ok { + return x.Address + } + } + return false +} + +func (x *StringRules) GetUuid() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Uuid); ok { + return x.Uuid + } + } + return false +} + +func (x *StringRules) GetTuuid() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Tuuid); ok { + return x.Tuuid + } + } + return false +} + +func (x *StringRules) GetIpWithPrefixlen() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_IpWithPrefixlen); ok { + return x.IpWithPrefixlen + } + } + return false +} + +func (x *StringRules) GetIpv4WithPrefixlen() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Ipv4WithPrefixlen); ok { + return x.Ipv4WithPrefixlen + } + } + return false +} + +func (x *StringRules) GetIpv6WithPrefixlen() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Ipv6WithPrefixlen); ok { + return x.Ipv6WithPrefixlen + } + } + return false +} + +func (x *StringRules) GetIpPrefix() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_IpPrefix); ok { + return x.IpPrefix + } + } + return false +} + +func (x *StringRules) GetIpv4Prefix() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Ipv4Prefix); ok { + return x.Ipv4Prefix + } + } + return false +} + +func (x *StringRules) GetIpv6Prefix() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_Ipv6Prefix); ok { + return x.Ipv6Prefix + } + } + return false +} + +func (x *StringRules) GetHostAndPort() bool { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_HostAndPort); ok { + return x.HostAndPort + } + } + return false +} + +func (x *StringRules) GetWellKnownRegex() KnownRegex { + if x != nil { + if x, ok := x.WellKnown.(*StringRules_WellKnownRegex); ok { + return x.WellKnownRegex + } + } + return KnownRegex_KNOWN_REGEX_UNSPECIFIED +} + +func (x *StringRules) GetStrict() bool { + if x != nil && x.Strict != nil { + return *x.Strict + } + return false +} + +func (x *StringRules) GetExample() []string { + if x != nil { + return x.Example + } + return nil +} + +func (x *StringRules) SetConst(v string) { + x.Const = &v +} + +func (x *StringRules) SetLen(v uint64) { + x.Len = &v +} + +func (x *StringRules) SetMinLen(v uint64) { + x.MinLen = &v +} + +func (x *StringRules) SetMaxLen(v uint64) { + x.MaxLen = &v +} + +func (x *StringRules) SetLenBytes(v uint64) { + x.LenBytes = &v +} + +func (x *StringRules) SetMinBytes(v uint64) { + x.MinBytes = &v +} + +func (x *StringRules) SetMaxBytes(v uint64) { + x.MaxBytes = &v +} + +func (x *StringRules) SetPattern(v string) { + x.Pattern = &v +} + +func (x *StringRules) SetPrefix(v string) { + x.Prefix = &v +} + +func (x *StringRules) SetSuffix(v string) { + x.Suffix = &v +} + +func (x *StringRules) SetContains(v string) { + x.Contains = &v +} + +func (x *StringRules) SetNotContains(v string) { + x.NotContains = &v +} + +func (x *StringRules) SetIn(v []string) { + x.In = v +} + +func (x *StringRules) SetNotIn(v []string) { + x.NotIn = v +} + +func (x *StringRules) SetEmail(v bool) { + x.WellKnown = &StringRules_Email{v} +} + +func (x *StringRules) SetHostname(v bool) { + x.WellKnown = &StringRules_Hostname{v} +} + +func (x *StringRules) SetIp(v bool) { + x.WellKnown = &StringRules_Ip{v} +} + +func (x *StringRules) SetIpv4(v bool) { + x.WellKnown = &StringRules_Ipv4{v} +} + +func (x *StringRules) SetIpv6(v bool) { + x.WellKnown = &StringRules_Ipv6{v} +} + +func (x *StringRules) SetUri(v bool) { + x.WellKnown = &StringRules_Uri{v} +} + +func (x *StringRules) SetUriRef(v bool) { + x.WellKnown = &StringRules_UriRef{v} +} + +func (x *StringRules) SetAddress(v bool) { + x.WellKnown = &StringRules_Address{v} +} + +func (x *StringRules) SetUuid(v bool) { + x.WellKnown = &StringRules_Uuid{v} +} + +func (x *StringRules) SetTuuid(v bool) { + x.WellKnown = &StringRules_Tuuid{v} +} + +func (x *StringRules) SetIpWithPrefixlen(v bool) { + x.WellKnown = &StringRules_IpWithPrefixlen{v} +} + +func (x *StringRules) SetIpv4WithPrefixlen(v bool) { + x.WellKnown = &StringRules_Ipv4WithPrefixlen{v} +} + +func (x *StringRules) SetIpv6WithPrefixlen(v bool) { + x.WellKnown = &StringRules_Ipv6WithPrefixlen{v} +} + +func (x *StringRules) SetIpPrefix(v bool) { + x.WellKnown = &StringRules_IpPrefix{v} +} + +func (x *StringRules) SetIpv4Prefix(v bool) { + x.WellKnown = &StringRules_Ipv4Prefix{v} +} + +func (x *StringRules) SetIpv6Prefix(v bool) { + x.WellKnown = &StringRules_Ipv6Prefix{v} +} + +func (x *StringRules) SetHostAndPort(v bool) { + x.WellKnown = &StringRules_HostAndPort{v} +} + +func (x *StringRules) SetWellKnownRegex(v KnownRegex) { + x.WellKnown = &StringRules_WellKnownRegex{v} +} + +func (x *StringRules) SetStrict(v bool) { + x.Strict = &v +} + +func (x *StringRules) SetExample(v []string) { + x.Example = v +} + +func (x *StringRules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *StringRules) HasLen() bool { + if x == nil { + return false + } + return x.Len != nil +} + +func (x *StringRules) HasMinLen() bool { + if x == nil { + return false + } + return x.MinLen != nil +} + +func (x *StringRules) HasMaxLen() bool { + if x == nil { + return false + } + return x.MaxLen != nil +} + +func (x *StringRules) HasLenBytes() bool { + if x == nil { + return false + } + return x.LenBytes != nil +} + +func (x *StringRules) HasMinBytes() bool { + if x == nil { + return false + } + return x.MinBytes != nil +} + +func (x *StringRules) HasMaxBytes() bool { + if x == nil { + return false + } + return x.MaxBytes != nil +} + +func (x *StringRules) HasPattern() bool { + if x == nil { + return false + } + return x.Pattern != nil +} + +func (x *StringRules) HasPrefix() bool { + if x == nil { + return false + } + return x.Prefix != nil +} + +func (x *StringRules) HasSuffix() bool { + if x == nil { + return false + } + return x.Suffix != nil +} + +func (x *StringRules) HasContains() bool { + if x == nil { + return false + } + return x.Contains != nil +} + +func (x *StringRules) HasNotContains() bool { + if x == nil { + return false + } + return x.NotContains != nil +} + +func (x *StringRules) HasWellKnown() bool { + if x == nil { + return false + } + return x.WellKnown != nil +} + +func (x *StringRules) HasEmail() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Email) + return ok +} + +func (x *StringRules) HasHostname() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Hostname) + return ok +} + +func (x *StringRules) HasIp() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Ip) + return ok +} + +func (x *StringRules) HasIpv4() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Ipv4) + return ok +} + +func (x *StringRules) HasIpv6() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Ipv6) + return ok +} + +func (x *StringRules) HasUri() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Uri) + return ok +} + +func (x *StringRules) HasUriRef() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_UriRef) + return ok +} + +func (x *StringRules) HasAddress() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Address) + return ok +} + +func (x *StringRules) HasUuid() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Uuid) + return ok +} + +func (x *StringRules) HasTuuid() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Tuuid) + return ok +} + +func (x *StringRules) HasIpWithPrefixlen() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_IpWithPrefixlen) + return ok +} + +func (x *StringRules) HasIpv4WithPrefixlen() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Ipv4WithPrefixlen) + return ok +} + +func (x *StringRules) HasIpv6WithPrefixlen() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Ipv6WithPrefixlen) + return ok +} + +func (x *StringRules) HasIpPrefix() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_IpPrefix) + return ok +} + +func (x *StringRules) HasIpv4Prefix() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Ipv4Prefix) + return ok +} + +func (x *StringRules) HasIpv6Prefix() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_Ipv6Prefix) + return ok +} + +func (x *StringRules) HasHostAndPort() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_HostAndPort) + return ok +} + +func (x *StringRules) HasWellKnownRegex() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*StringRules_WellKnownRegex) + return ok +} + +func (x *StringRules) HasStrict() bool { + if x == nil { + return false + } + return x.Strict != nil +} + +func (x *StringRules) ClearConst() { + x.Const = nil +} + +func (x *StringRules) ClearLen() { + x.Len = nil +} + +func (x *StringRules) ClearMinLen() { + x.MinLen = nil +} + +func (x *StringRules) ClearMaxLen() { + x.MaxLen = nil +} + +func (x *StringRules) ClearLenBytes() { + x.LenBytes = nil +} + +func (x *StringRules) ClearMinBytes() { + x.MinBytes = nil +} + +func (x *StringRules) ClearMaxBytes() { + x.MaxBytes = nil +} + +func (x *StringRules) ClearPattern() { + x.Pattern = nil +} + +func (x *StringRules) ClearPrefix() { + x.Prefix = nil +} + +func (x *StringRules) ClearSuffix() { + x.Suffix = nil +} + +func (x *StringRules) ClearContains() { + x.Contains = nil +} + +func (x *StringRules) ClearNotContains() { + x.NotContains = nil +} + +func (x *StringRules) ClearWellKnown() { + x.WellKnown = nil +} + +func (x *StringRules) ClearEmail() { + if _, ok := x.WellKnown.(*StringRules_Email); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearHostname() { + if _, ok := x.WellKnown.(*StringRules_Hostname); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIp() { + if _, ok := x.WellKnown.(*StringRules_Ip); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIpv4() { + if _, ok := x.WellKnown.(*StringRules_Ipv4); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIpv6() { + if _, ok := x.WellKnown.(*StringRules_Ipv6); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearUri() { + if _, ok := x.WellKnown.(*StringRules_Uri); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearUriRef() { + if _, ok := x.WellKnown.(*StringRules_UriRef); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearAddress() { + if _, ok := x.WellKnown.(*StringRules_Address); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearUuid() { + if _, ok := x.WellKnown.(*StringRules_Uuid); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearTuuid() { + if _, ok := x.WellKnown.(*StringRules_Tuuid); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIpWithPrefixlen() { + if _, ok := x.WellKnown.(*StringRules_IpWithPrefixlen); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIpv4WithPrefixlen() { + if _, ok := x.WellKnown.(*StringRules_Ipv4WithPrefixlen); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIpv6WithPrefixlen() { + if _, ok := x.WellKnown.(*StringRules_Ipv6WithPrefixlen); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIpPrefix() { + if _, ok := x.WellKnown.(*StringRules_IpPrefix); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIpv4Prefix() { + if _, ok := x.WellKnown.(*StringRules_Ipv4Prefix); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearIpv6Prefix() { + if _, ok := x.WellKnown.(*StringRules_Ipv6Prefix); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearHostAndPort() { + if _, ok := x.WellKnown.(*StringRules_HostAndPort); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearWellKnownRegex() { + if _, ok := x.WellKnown.(*StringRules_WellKnownRegex); ok { + x.WellKnown = nil + } +} + +func (x *StringRules) ClearStrict() { + x.Strict = nil +} + +const StringRules_WellKnown_not_set_case case_StringRules_WellKnown = 0 +const StringRules_Email_case case_StringRules_WellKnown = 12 +const StringRules_Hostname_case case_StringRules_WellKnown = 13 +const StringRules_Ip_case case_StringRules_WellKnown = 14 +const StringRules_Ipv4_case case_StringRules_WellKnown = 15 +const StringRules_Ipv6_case case_StringRules_WellKnown = 16 +const StringRules_Uri_case case_StringRules_WellKnown = 17 +const StringRules_UriRef_case case_StringRules_WellKnown = 18 +const StringRules_Address_case case_StringRules_WellKnown = 21 +const StringRules_Uuid_case case_StringRules_WellKnown = 22 +const StringRules_Tuuid_case case_StringRules_WellKnown = 33 +const StringRules_IpWithPrefixlen_case case_StringRules_WellKnown = 26 +const StringRules_Ipv4WithPrefixlen_case case_StringRules_WellKnown = 27 +const StringRules_Ipv6WithPrefixlen_case case_StringRules_WellKnown = 28 +const StringRules_IpPrefix_case case_StringRules_WellKnown = 29 +const StringRules_Ipv4Prefix_case case_StringRules_WellKnown = 30 +const StringRules_Ipv6Prefix_case case_StringRules_WellKnown = 31 +const StringRules_HostAndPort_case case_StringRules_WellKnown = 32 +const StringRules_WellKnownRegex_case case_StringRules_WellKnown = 24 + +func (x *StringRules) WhichWellKnown() case_StringRules_WellKnown { + if x == nil { + return StringRules_WellKnown_not_set_case + } + switch x.WellKnown.(type) { + case *StringRules_Email: + return StringRules_Email_case + case *StringRules_Hostname: + return StringRules_Hostname_case + case *StringRules_Ip: + return StringRules_Ip_case + case *StringRules_Ipv4: + return StringRules_Ipv4_case + case *StringRules_Ipv6: + return StringRules_Ipv6_case + case *StringRules_Uri: + return StringRules_Uri_case + case *StringRules_UriRef: + return StringRules_UriRef_case + case *StringRules_Address: + return StringRules_Address_case + case *StringRules_Uuid: + return StringRules_Uuid_case + case *StringRules_Tuuid: + return StringRules_Tuuid_case + case *StringRules_IpWithPrefixlen: + return StringRules_IpWithPrefixlen_case + case *StringRules_Ipv4WithPrefixlen: + return StringRules_Ipv4WithPrefixlen_case + case *StringRules_Ipv6WithPrefixlen: + return StringRules_Ipv6WithPrefixlen_case + case *StringRules_IpPrefix: + return StringRules_IpPrefix_case + case *StringRules_Ipv4Prefix: + return StringRules_Ipv4Prefix_case + case *StringRules_Ipv6Prefix: + return StringRules_Ipv6Prefix_case + case *StringRules_HostAndPort: + return StringRules_HostAndPort_case + case *StringRules_WellKnownRegex: + return StringRules_WellKnownRegex_case + default: + return StringRules_WellKnown_not_set_case + } +} + +type StringRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyString { + // // value must equal `hello` + // string value = 1 [(buf.validate.field).string.const = "hello"]; + // } + // + // ``` + Const *string + // `len` dictates that the field value must have the specified + // number of characters (Unicode code points), which may differ from the number + // of bytes in the string. If the field value does not meet the specified + // length, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be 5 characters + // string value = 1 [(buf.validate.field).string.len = 5]; + // } + // + // ``` + Len *uint64 + // `min_len` specifies that the field value must have at least the specified + // number of characters (Unicode code points), which may differ from the number + // of bytes in the string. If the field value contains fewer characters, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at least 3 characters + // string value = 1 [(buf.validate.field).string.min_len = 3]; + // } + // + // ``` + MinLen *uint64 + // `max_len` specifies that the field value must have no more than the specified + // number of characters (Unicode code points), which may differ from the + // number of bytes in the string. If the field value contains more characters, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at most 10 characters + // string value = 1 [(buf.validate.field).string.max_len = 10]; + // } + // + // ``` + MaxLen *uint64 + // `len_bytes` dictates that the field value must have the specified number of + // bytes. If the field value does not match the specified length in bytes, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be 6 bytes + // string value = 1 [(buf.validate.field).string.len_bytes = 6]; + // } + // + // ``` + LenBytes *uint64 + // `min_bytes` specifies that the field value must have at least the specified + // number of bytes. If the field value contains fewer bytes, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at least 4 bytes + // string value = 1 [(buf.validate.field).string.min_bytes = 4]; + // } + // + // ``` + MinBytes *uint64 + // `max_bytes` specifies that the field value must have no more than the + // specified number of bytes. If the field value contains more bytes, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at most 8 bytes + // string value = 1 [(buf.validate.field).string.max_bytes = 8]; + // } + // + // ``` + MaxBytes *uint64 + // `pattern` specifies that the field value must match the specified + // regular expression (RE2 syntax), with the expression provided without any + // delimiters. If the field value doesn't match the regular expression, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not match regex pattern `^[a-zA-Z]//$` + // string value = 1 [(buf.validate.field).string.pattern = "^[a-zA-Z]//$"]; + // } + // + // ``` + Pattern *string + // `prefix` specifies that the field value must have the + // specified substring at the beginning of the string. If the field value + // doesn't start with the specified prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value does not have prefix `pre` + // string value = 1 [(buf.validate.field).string.prefix = "pre"]; + // } + // + // ``` + Prefix *string + // `suffix` specifies that the field value must have the + // specified substring at the end of the string. If the field value doesn't + // end with the specified suffix, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not have suffix `post` + // string value = 1 [(buf.validate.field).string.suffix = "post"]; + // } + // + // ``` + Suffix *string + // `contains` specifies that the field value must have the + // specified substring anywhere in the string. If the field value doesn't + // contain the specified substring, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not contain substring `inside`. + // string value = 1 [(buf.validate.field).string.contains = "inside"]; + // } + // + // ``` + Contains *string + // `not_contains` specifies that the field value must not have the + // specified substring anywhere in the string. If the field value contains + // the specified substring, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value contains substring `inside`. + // string value = 1 [(buf.validate.field).string.not_contains = "inside"]; + // } + // + // ``` + NotContains *string + // `in` specifies that the field value must be equal to one of the specified + // values. If the field value isn't one of the specified values, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value must be in list ["apple", "banana"] + // string value = 1 [(buf.validate.field).string.in = "apple", (buf.validate.field).string.in = "banana"]; + // } + // + // ``` + In []string + // `not_in` specifies that the field value cannot be equal to any + // of the specified values. If the field value is one of the specified values, + // an error message will be generated. + // ```proto + // + // message MyString { + // // value must not be in list ["orange", "grape"] + // string value = 1 [(buf.validate.field).string.not_in = "orange", (buf.validate.field).string.not_in = "grape"]; + // } + // + // ``` + NotIn []string + // `WellKnown` rules provide advanced rules against common string + // patterns. + + // Fields of oneof WellKnown: + // `email` specifies that the field value must be a valid email address, for + // example "foo@example.com". + // + // Conforms to the definition for a valid email address from the [HTML standard](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address). + // Note that this standard willfully deviates from [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322), + // which allows many unexpected forms of email addresses and will easily match + // a typographical error. + // + // If the field value isn't a valid email address, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid email address + // string value = 1 [(buf.validate.field).string.email = true]; + // } + // + // ``` + Email *bool + // `hostname` specifies that the field value must be a valid hostname, for + // example "foo.example.com". + // + // A valid hostname follows the rules below: + // - The name consists of one or more labels, separated by a dot ("."). + // - Each label can be 1 to 63 alphanumeric characters. + // - A label can contain hyphens ("-"), but must not start or end with a hyphen. + // - The right-most label must not be digits only. + // - The name can have a trailing dot—for example, "foo.example.com.". + // - The name can be 253 characters at most, excluding the optional trailing dot. + // + // If the field value isn't a valid hostname, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid hostname + // string value = 1 [(buf.validate.field).string.hostname = true]; + // } + // + // ``` + Hostname *bool + // `ip` specifies that the field value must be a valid IP (v4 or v6) address. + // + // IPv4 addresses are expected in the dotted decimal format—for example, "192.168.5.21". + // IPv6 addresses are expected in their text representation—for example, "::1", + // or "2001:0DB8:ABCD:0012::0". + // + // Both formats are well-defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). + // Zone identifiers for IPv6 addresses (for example, "fe80::a%en1") are supported. + // + // If the field value isn't a valid IP address, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP address + // string value = 1 [(buf.validate.field).string.ip = true]; + // } + // + // ``` + Ip *bool + // `ipv4` specifies that the field value must be a valid IPv4 address—for + // example "192.168.5.21". If the field value isn't a valid IPv4 address, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 address + // string value = 1 [(buf.validate.field).string.ipv4 = true]; + // } + // + // ``` + Ipv4 *bool + // `ipv6` specifies that the field value must be a valid IPv6 address—for + // example "::1", or "d7a:115c:a1e0:ab12:4843:cd96:626b:430b". If the field + // value is not a valid IPv6 address, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 address + // string value = 1 [(buf.validate.field).string.ipv6 = true]; + // } + // + // ``` + Ipv6 *bool + // `uri` specifies that the field value must be a valid URI, for example + // "https://example.com/foo/bar?baz=quux#frag". + // + // URI is defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). + // Zone Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)). + // + // If the field value isn't a valid URI, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid URI + // string value = 1 [(buf.validate.field).string.uri = true]; + // } + // + // ``` + Uri *bool + // `uri_ref` specifies that the field value must be a valid URI Reference—either + // a URI such as "https://example.com/foo/bar?baz=quux#frag", or a Relative + // Reference such as "./foo/bar?query". + // + // URI, URI Reference, and Relative Reference are defined in the internet + // standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). Zone + // Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)). + // + // If the field value isn't a valid URI Reference, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid URI Reference + // string value = 1 [(buf.validate.field).string.uri_ref = true]; + // } + // + // ``` + UriRef *bool + // `address` specifies that the field value must be either a valid hostname + // (for example, "example.com"), or a valid IP (v4 or v6) address (for example, + // "192.168.0.1", or "::1"). If the field value isn't a valid hostname or IP, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid hostname, or ip address + // string value = 1 [(buf.validate.field).string.address = true]; + // } + // + // ``` + Address *bool + // `uuid` specifies that the field value must be a valid UUID as defined by + // [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2). If the + // field value isn't a valid UUID, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid UUID + // string value = 1 [(buf.validate.field).string.uuid = true]; + // } + // + // ``` + Uuid *bool + // `tuuid` (trimmed UUID) specifies that the field value must be a valid UUID as + // defined by [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2) with all dashes + // omitted. If the field value isn't a valid UUID without dashes, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid trimmed UUID + // string value = 1 [(buf.validate.field).string.tuuid = true]; + // } + // + // ``` + Tuuid *bool + // `ip_with_prefixlen` specifies that the field value must be a valid IP + // (v4 or v6) address with prefix length—for example, "192.168.5.21/16" or + // "2001:0DB8:ABCD:0012::F1/64". If the field value isn't a valid IP with + // prefix length, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP with prefix length + // string value = 1 [(buf.validate.field).string.ip_with_prefixlen = true]; + // } + // + // ``` + IpWithPrefixlen *bool + // `ipv4_with_prefixlen` specifies that the field value must be a valid + // IPv4 address with prefix length—for example, "192.168.5.21/16". If the + // field value isn't a valid IPv4 address with prefix length, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 address with prefix length + // string value = 1 [(buf.validate.field).string.ipv4_with_prefixlen = true]; + // } + // + // ``` + Ipv4WithPrefixlen *bool + // `ipv6_with_prefixlen` specifies that the field value must be a valid + // IPv6 address with prefix length—for example, "2001:0DB8:ABCD:0012::F1/64". + // If the field value is not a valid IPv6 address with prefix length, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 address prefix length + // string value = 1 [(buf.validate.field).string.ipv6_with_prefixlen = true]; + // } + // + // ``` + Ipv6WithPrefixlen *bool + // `ip_prefix` specifies that the field value must be a valid IP (v4 or v6) + // prefix—for example, "192.168.0.0/16" or "2001:0DB8:ABCD:0012::0/64". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "2001:0DB8:ABCD:0012::0/64" designates the left-most 64 bits for the + // prefix, and the remaining 64 bits must be zero. + // + // If the field value isn't a valid IP prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP prefix + // string value = 1 [(buf.validate.field).string.ip_prefix = true]; + // } + // + // ``` + IpPrefix *bool + // `ipv4_prefix` specifies that the field value must be a valid IPv4 + // prefix, for example "192.168.0.0/16". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "192.168.0.0/16" designates the left-most 16 bits for the prefix, + // and the remaining 16 bits must be zero. + // + // If the field value isn't a valid IPv4 prefix, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 prefix + // string value = 1 [(buf.validate.field).string.ipv4_prefix = true]; + // } + // + // ``` + Ipv4Prefix *bool + // `ipv6_prefix` specifies that the field value must be a valid IPv6 prefix—for + // example, "2001:0DB8:ABCD:0012::0/64". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "2001:0DB8:ABCD:0012::0/64" designates the left-most 64 bits for the + // prefix, and the remaining 64 bits must be zero. + // + // If the field value is not a valid IPv6 prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 prefix + // string value = 1 [(buf.validate.field).string.ipv6_prefix = true]; + // } + // + // ``` + Ipv6Prefix *bool + // `host_and_port` specifies that the field value must be valid host/port + // pair—for example, "example.com:8080". + // + // The host can be one of: + // - An IPv4 address in dotted decimal format—for example, "192.168.5.21". + // - An IPv6 address enclosed in square brackets—for example, "[2001:0DB8:ABCD:0012::F1]". + // - A hostname—for example, "example.com". + // + // The port is separated by a colon. It must be non-empty, with a decimal number + // in the range of 0-65535, inclusive. + HostAndPort *bool + // `well_known_regex` specifies a common well-known pattern + // defined as a regex. If the field value doesn't match the well-known + // regex, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid HTTP header value + // string value = 1 [(buf.validate.field).string.well_known_regex = KNOWN_REGEX_HTTP_HEADER_VALUE]; + // } + // + // ``` + // + // #### KnownRegex + // + // `well_known_regex` contains some well-known patterns. + // + // | Name | Number | Description | + // |-------------------------------|--------|-------------------------------------------| + // | KNOWN_REGEX_UNSPECIFIED | 0 | | + // | KNOWN_REGEX_HTTP_HEADER_NAME | 1 | HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2) | + // | KNOWN_REGEX_HTTP_HEADER_VALUE | 2 | HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4) | + WellKnownRegex *KnownRegex + // -- end of WellKnown + // This applies to regexes `HTTP_HEADER_NAME` and `HTTP_HEADER_VALUE` to + // enable strict header validation. By default, this is true, and HTTP header + // validations are [RFC-compliant](https://datatracker.ietf.org/doc/html/rfc7230#section-3). Setting to false will enable looser + // validations that only disallow `\r\n\0` characters, which can be used to + // bypass header matching rules. + // + // ```proto + // + // message MyString { + // // The field `value` must have be a valid HTTP headers, but not enforced with strict rules. + // string value = 1 [(buf.validate.field).string.strict = false]; + // } + // + // ``` + Strict *bool + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyString { + // string value = 1 [ + // (buf.validate.field).string.example = "hello", + // (buf.validate.field).string.example = "world" + // ]; + // } + // + // ``` + Example []string +} + +func (b0 StringRules_builder) Build() *StringRules { + m0 := &StringRules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + x.Len = b.Len + x.MinLen = b.MinLen + x.MaxLen = b.MaxLen + x.LenBytes = b.LenBytes + x.MinBytes = b.MinBytes + x.MaxBytes = b.MaxBytes + x.Pattern = b.Pattern + x.Prefix = b.Prefix + x.Suffix = b.Suffix + x.Contains = b.Contains + x.NotContains = b.NotContains + x.In = b.In + x.NotIn = b.NotIn + if b.Email != nil { + x.WellKnown = &StringRules_Email{*b.Email} + } + if b.Hostname != nil { + x.WellKnown = &StringRules_Hostname{*b.Hostname} + } + if b.Ip != nil { + x.WellKnown = &StringRules_Ip{*b.Ip} + } + if b.Ipv4 != nil { + x.WellKnown = &StringRules_Ipv4{*b.Ipv4} + } + if b.Ipv6 != nil { + x.WellKnown = &StringRules_Ipv6{*b.Ipv6} + } + if b.Uri != nil { + x.WellKnown = &StringRules_Uri{*b.Uri} + } + if b.UriRef != nil { + x.WellKnown = &StringRules_UriRef{*b.UriRef} + } + if b.Address != nil { + x.WellKnown = &StringRules_Address{*b.Address} + } + if b.Uuid != nil { + x.WellKnown = &StringRules_Uuid{*b.Uuid} + } + if b.Tuuid != nil { + x.WellKnown = &StringRules_Tuuid{*b.Tuuid} + } + if b.IpWithPrefixlen != nil { + x.WellKnown = &StringRules_IpWithPrefixlen{*b.IpWithPrefixlen} + } + if b.Ipv4WithPrefixlen != nil { + x.WellKnown = &StringRules_Ipv4WithPrefixlen{*b.Ipv4WithPrefixlen} + } + if b.Ipv6WithPrefixlen != nil { + x.WellKnown = &StringRules_Ipv6WithPrefixlen{*b.Ipv6WithPrefixlen} + } + if b.IpPrefix != nil { + x.WellKnown = &StringRules_IpPrefix{*b.IpPrefix} + } + if b.Ipv4Prefix != nil { + x.WellKnown = &StringRules_Ipv4Prefix{*b.Ipv4Prefix} + } + if b.Ipv6Prefix != nil { + x.WellKnown = &StringRules_Ipv6Prefix{*b.Ipv6Prefix} + } + if b.HostAndPort != nil { + x.WellKnown = &StringRules_HostAndPort{*b.HostAndPort} + } + if b.WellKnownRegex != nil { + x.WellKnown = &StringRules_WellKnownRegex{*b.WellKnownRegex} + } + x.Strict = b.Strict + x.Example = b.Example + return m0 +} + +type case_StringRules_WellKnown protoreflect.FieldNumber + +func (x case_StringRules_WellKnown) String() string { + md := file_buf_validate_validate_proto_msgTypes[19].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isStringRules_WellKnown interface { + isStringRules_WellKnown() +} + +type StringRules_Email struct { + // `email` specifies that the field value must be a valid email address, for + // example "foo@example.com". + // + // Conforms to the definition for a valid email address from the [HTML standard](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address). + // Note that this standard willfully deviates from [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322), + // which allows many unexpected forms of email addresses and will easily match + // a typographical error. + // + // If the field value isn't a valid email address, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid email address + // string value = 1 [(buf.validate.field).string.email = true]; + // } + // + // ``` + Email bool `protobuf:"varint,12,opt,name=email,oneof"` +} + +type StringRules_Hostname struct { + // `hostname` specifies that the field value must be a valid hostname, for + // example "foo.example.com". + // + // A valid hostname follows the rules below: + // - The name consists of one or more labels, separated by a dot ("."). + // - Each label can be 1 to 63 alphanumeric characters. + // - A label can contain hyphens ("-"), but must not start or end with a hyphen. + // - The right-most label must not be digits only. + // - The name can have a trailing dot—for example, "foo.example.com.". + // - The name can be 253 characters at most, excluding the optional trailing dot. + // + // If the field value isn't a valid hostname, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid hostname + // string value = 1 [(buf.validate.field).string.hostname = true]; + // } + // + // ``` + Hostname bool `protobuf:"varint,13,opt,name=hostname,oneof"` +} + +type StringRules_Ip struct { + // `ip` specifies that the field value must be a valid IP (v4 or v6) address. + // + // IPv4 addresses are expected in the dotted decimal format—for example, "192.168.5.21". + // IPv6 addresses are expected in their text representation—for example, "::1", + // or "2001:0DB8:ABCD:0012::0". + // + // Both formats are well-defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). + // Zone identifiers for IPv6 addresses (for example, "fe80::a%en1") are supported. + // + // If the field value isn't a valid IP address, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP address + // string value = 1 [(buf.validate.field).string.ip = true]; + // } + // + // ``` + Ip bool `protobuf:"varint,14,opt,name=ip,oneof"` +} + +type StringRules_Ipv4 struct { + // `ipv4` specifies that the field value must be a valid IPv4 address—for + // example "192.168.5.21". If the field value isn't a valid IPv4 address, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 address + // string value = 1 [(buf.validate.field).string.ipv4 = true]; + // } + // + // ``` + Ipv4 bool `protobuf:"varint,15,opt,name=ipv4,oneof"` +} + +type StringRules_Ipv6 struct { + // `ipv6` specifies that the field value must be a valid IPv6 address—for + // example "::1", or "d7a:115c:a1e0:ab12:4843:cd96:626b:430b". If the field + // value is not a valid IPv6 address, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 address + // string value = 1 [(buf.validate.field).string.ipv6 = true]; + // } + // + // ``` + Ipv6 bool `protobuf:"varint,16,opt,name=ipv6,oneof"` +} + +type StringRules_Uri struct { + // `uri` specifies that the field value must be a valid URI, for example + // "https://example.com/foo/bar?baz=quux#frag". + // + // URI is defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). + // Zone Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)). + // + // If the field value isn't a valid URI, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid URI + // string value = 1 [(buf.validate.field).string.uri = true]; + // } + // + // ``` + Uri bool `protobuf:"varint,17,opt,name=uri,oneof"` +} + +type StringRules_UriRef struct { + // `uri_ref` specifies that the field value must be a valid URI Reference—either + // a URI such as "https://example.com/foo/bar?baz=quux#frag", or a Relative + // Reference such as "./foo/bar?query". + // + // URI, URI Reference, and Relative Reference are defined in the internet + // standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). Zone + // Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)). + // + // If the field value isn't a valid URI Reference, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid URI Reference + // string value = 1 [(buf.validate.field).string.uri_ref = true]; + // } + // + // ``` + UriRef bool `protobuf:"varint,18,opt,name=uri_ref,json=uriRef,oneof"` +} + +type StringRules_Address struct { + // `address` specifies that the field value must be either a valid hostname + // (for example, "example.com"), or a valid IP (v4 or v6) address (for example, + // "192.168.0.1", or "::1"). If the field value isn't a valid hostname or IP, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid hostname, or ip address + // string value = 1 [(buf.validate.field).string.address = true]; + // } + // + // ``` + Address bool `protobuf:"varint,21,opt,name=address,oneof"` +} + +type StringRules_Uuid struct { + // `uuid` specifies that the field value must be a valid UUID as defined by + // [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2). If the + // field value isn't a valid UUID, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid UUID + // string value = 1 [(buf.validate.field).string.uuid = true]; + // } + // + // ``` + Uuid bool `protobuf:"varint,22,opt,name=uuid,oneof"` +} + +type StringRules_Tuuid struct { + // `tuuid` (trimmed UUID) specifies that the field value must be a valid UUID as + // defined by [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2) with all dashes + // omitted. If the field value isn't a valid UUID without dashes, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid trimmed UUID + // string value = 1 [(buf.validate.field).string.tuuid = true]; + // } + // + // ``` + Tuuid bool `protobuf:"varint,33,opt,name=tuuid,oneof"` +} + +type StringRules_IpWithPrefixlen struct { + // `ip_with_prefixlen` specifies that the field value must be a valid IP + // (v4 or v6) address with prefix length—for example, "192.168.5.21/16" or + // "2001:0DB8:ABCD:0012::F1/64". If the field value isn't a valid IP with + // prefix length, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP with prefix length + // string value = 1 [(buf.validate.field).string.ip_with_prefixlen = true]; + // } + // + // ``` + IpWithPrefixlen bool `protobuf:"varint,26,opt,name=ip_with_prefixlen,json=ipWithPrefixlen,oneof"` +} + +type StringRules_Ipv4WithPrefixlen struct { + // `ipv4_with_prefixlen` specifies that the field value must be a valid + // IPv4 address with prefix length—for example, "192.168.5.21/16". If the + // field value isn't a valid IPv4 address with prefix length, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 address with prefix length + // string value = 1 [(buf.validate.field).string.ipv4_with_prefixlen = true]; + // } + // + // ``` + Ipv4WithPrefixlen bool `protobuf:"varint,27,opt,name=ipv4_with_prefixlen,json=ipv4WithPrefixlen,oneof"` +} + +type StringRules_Ipv6WithPrefixlen struct { + // `ipv6_with_prefixlen` specifies that the field value must be a valid + // IPv6 address with prefix length—for example, "2001:0DB8:ABCD:0012::F1/64". + // If the field value is not a valid IPv6 address with prefix length, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 address prefix length + // string value = 1 [(buf.validate.field).string.ipv6_with_prefixlen = true]; + // } + // + // ``` + Ipv6WithPrefixlen bool `protobuf:"varint,28,opt,name=ipv6_with_prefixlen,json=ipv6WithPrefixlen,oneof"` +} + +type StringRules_IpPrefix struct { + // `ip_prefix` specifies that the field value must be a valid IP (v4 or v6) + // prefix—for example, "192.168.0.0/16" or "2001:0DB8:ABCD:0012::0/64". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "2001:0DB8:ABCD:0012::0/64" designates the left-most 64 bits for the + // prefix, and the remaining 64 bits must be zero. + // + // If the field value isn't a valid IP prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP prefix + // string value = 1 [(buf.validate.field).string.ip_prefix = true]; + // } + // + // ``` + IpPrefix bool `protobuf:"varint,29,opt,name=ip_prefix,json=ipPrefix,oneof"` +} + +type StringRules_Ipv4Prefix struct { + // `ipv4_prefix` specifies that the field value must be a valid IPv4 + // prefix, for example "192.168.0.0/16". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "192.168.0.0/16" designates the left-most 16 bits for the prefix, + // and the remaining 16 bits must be zero. + // + // If the field value isn't a valid IPv4 prefix, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 prefix + // string value = 1 [(buf.validate.field).string.ipv4_prefix = true]; + // } + // + // ``` + Ipv4Prefix bool `protobuf:"varint,30,opt,name=ipv4_prefix,json=ipv4Prefix,oneof"` +} + +type StringRules_Ipv6Prefix struct { + // `ipv6_prefix` specifies that the field value must be a valid IPv6 prefix—for + // example, "2001:0DB8:ABCD:0012::0/64". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "2001:0DB8:ABCD:0012::0/64" designates the left-most 64 bits for the + // prefix, and the remaining 64 bits must be zero. + // + // If the field value is not a valid IPv6 prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 prefix + // string value = 1 [(buf.validate.field).string.ipv6_prefix = true]; + // } + // + // ``` + Ipv6Prefix bool `protobuf:"varint,31,opt,name=ipv6_prefix,json=ipv6Prefix,oneof"` +} + +type StringRules_HostAndPort struct { + // `host_and_port` specifies that the field value must be valid host/port + // pair—for example, "example.com:8080". + // + // The host can be one of: + // - An IPv4 address in dotted decimal format—for example, "192.168.5.21". + // - An IPv6 address enclosed in square brackets—for example, "[2001:0DB8:ABCD:0012::F1]". + // - A hostname—for example, "example.com". + // + // The port is separated by a colon. It must be non-empty, with a decimal number + // in the range of 0-65535, inclusive. + HostAndPort bool `protobuf:"varint,32,opt,name=host_and_port,json=hostAndPort,oneof"` +} + +type StringRules_WellKnownRegex struct { + // `well_known_regex` specifies a common well-known pattern + // defined as a regex. If the field value doesn't match the well-known + // regex, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid HTTP header value + // string value = 1 [(buf.validate.field).string.well_known_regex = KNOWN_REGEX_HTTP_HEADER_VALUE]; + // } + // + // ``` + // + // #### KnownRegex + // + // `well_known_regex` contains some well-known patterns. + // + // | Name | Number | Description | + // |-------------------------------|--------|-------------------------------------------| + // | KNOWN_REGEX_UNSPECIFIED | 0 | | + // | KNOWN_REGEX_HTTP_HEADER_NAME | 1 | HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2) | + // | KNOWN_REGEX_HTTP_HEADER_VALUE | 2 | HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4) | + WellKnownRegex KnownRegex `protobuf:"varint,24,opt,name=well_known_regex,json=wellKnownRegex,enum=buf.validate.KnownRegex,oneof"` +} + +func (*StringRules_Email) isStringRules_WellKnown() {} + +func (*StringRules_Hostname) isStringRules_WellKnown() {} + +func (*StringRules_Ip) isStringRules_WellKnown() {} + +func (*StringRules_Ipv4) isStringRules_WellKnown() {} + +func (*StringRules_Ipv6) isStringRules_WellKnown() {} + +func (*StringRules_Uri) isStringRules_WellKnown() {} + +func (*StringRules_UriRef) isStringRules_WellKnown() {} + +func (*StringRules_Address) isStringRules_WellKnown() {} + +func (*StringRules_Uuid) isStringRules_WellKnown() {} + +func (*StringRules_Tuuid) isStringRules_WellKnown() {} + +func (*StringRules_IpWithPrefixlen) isStringRules_WellKnown() {} + +func (*StringRules_Ipv4WithPrefixlen) isStringRules_WellKnown() {} + +func (*StringRules_Ipv6WithPrefixlen) isStringRules_WellKnown() {} + +func (*StringRules_IpPrefix) isStringRules_WellKnown() {} + +func (*StringRules_Ipv4Prefix) isStringRules_WellKnown() {} + +func (*StringRules_Ipv6Prefix) isStringRules_WellKnown() {} + +func (*StringRules_HostAndPort) isStringRules_WellKnown() {} + +func (*StringRules_WellKnownRegex) isStringRules_WellKnown() {} + +// BytesRules describe the rules applied to `bytes` values. These rules +// may also be applied to the `google.protobuf.BytesValue` Well-Known-Type. +type BytesRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified bytes + // value. If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be "\x01\x02\x03\x04" + // bytes value = 1 [(buf.validate.field).bytes.const = "\x01\x02\x03\x04"]; + // } + // + // ``` + Const []byte `protobuf:"bytes,1,opt,name=const" json:"const,omitempty"` + // `len` requires the field value to have the specified length in bytes. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value length must be 4 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.len = 4]; + // } + // + // ``` + Len *uint64 `protobuf:"varint,13,opt,name=len" json:"len,omitempty"` + // `min_len` requires the field value to have at least the specified minimum + // length in bytes. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value length must be at least 2 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.min_len = 2]; + // } + // + // ``` + MinLen *uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen" json:"min_len,omitempty"` + // `max_len` requires the field value to have at most the specified maximum + // length in bytes. + // If the field value exceeds the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be at most 6 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.max_len = 6]; + // } + // + // ``` + MaxLen *uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen" json:"max_len,omitempty"` + // `pattern` requires the field value to match the specified regular + // expression ([RE2 syntax](https://github.com/google/re2/wiki/Syntax)). + // The value of the field must be valid UTF-8 or validation will fail with a + // runtime error. + // If the field value doesn't match the pattern, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must match regex pattern "^[a-zA-Z0-9]+$". + // optional bytes value = 1 [(buf.validate.field).bytes.pattern = "^[a-zA-Z0-9]+$"]; + // } + // + // ``` + Pattern *string `protobuf:"bytes,4,opt,name=pattern" json:"pattern,omitempty"` + // `prefix` requires the field value to have the specified bytes at the + // beginning of the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value does not have prefix \x01\x02 + // optional bytes value = 1 [(buf.validate.field).bytes.prefix = "\x01\x02"]; + // } + // + // ``` + Prefix []byte `protobuf:"bytes,5,opt,name=prefix" json:"prefix,omitempty"` + // `suffix` requires the field value to have the specified bytes at the end + // of the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value does not have suffix \x03\x04 + // optional bytes value = 1 [(buf.validate.field).bytes.suffix = "\x03\x04"]; + // } + // + // ``` + Suffix []byte `protobuf:"bytes,6,opt,name=suffix" json:"suffix,omitempty"` + // `contains` requires the field value to have the specified bytes anywhere in + // the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```protobuf + // + // message MyBytes { + // // value does not contain \x02\x03 + // optional bytes value = 1 [(buf.validate.field).bytes.contains = "\x02\x03"]; + // } + // + // ``` + Contains []byte `protobuf:"bytes,7,opt,name=contains" json:"contains,omitempty"` + // `in` requires the field value to be equal to one of the specified + // values. If the field value doesn't match any of the specified values, an + // error message is generated. + // + // ```protobuf + // + // message MyBytes { + // // value must in ["\x01\x02", "\x02\x03", "\x03\x04"] + // optional bytes value = 1 [(buf.validate.field).bytes.in = {"\x01\x02", "\x02\x03", "\x03\x04"}]; + // } + // + // ``` + In [][]byte `protobuf:"bytes,8,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to be not equal to any of the specified + // values. + // If the field value matches any of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyBytes { + // // value must not in ["\x01\x02", "\x02\x03", "\x03\x04"] + // optional bytes value = 1 [(buf.validate.field).bytes.not_in = {"\x01\x02", "\x02\x03", "\x03\x04"}]; + // } + // + // ``` + NotIn [][]byte `protobuf:"bytes,9,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // WellKnown rules provide advanced rules against common byte + // patterns + // + // Types that are valid to be assigned to WellKnown: + // + // *BytesRules_Ip + // *BytesRules_Ipv4 + // *BytesRules_Ipv6 + WellKnown isBytesRules_WellKnown `protobuf_oneof:"well_known"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyBytes { + // bytes value = 1 [ + // (buf.validate.field).bytes.example = "\x01\x02", + // (buf.validate.field).bytes.example = "\x02\x03" + // ]; + // } + // + // ``` + Example [][]byte `protobuf:"bytes,14,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BytesRules) Reset() { + *x = BytesRules{} + mi := &file_buf_validate_validate_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BytesRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesRules) ProtoMessage() {} + +func (x *BytesRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BytesRules) GetConst() []byte { + if x != nil { + return x.Const + } + return nil +} + +func (x *BytesRules) GetLen() uint64 { + if x != nil && x.Len != nil { + return *x.Len + } + return 0 +} + +func (x *BytesRules) GetMinLen() uint64 { + if x != nil && x.MinLen != nil { + return *x.MinLen + } + return 0 +} + +func (x *BytesRules) GetMaxLen() uint64 { + if x != nil && x.MaxLen != nil { + return *x.MaxLen + } + return 0 +} + +func (x *BytesRules) GetPattern() string { + if x != nil && x.Pattern != nil { + return *x.Pattern + } + return "" +} + +func (x *BytesRules) GetPrefix() []byte { + if x != nil { + return x.Prefix + } + return nil +} + +func (x *BytesRules) GetSuffix() []byte { + if x != nil { + return x.Suffix + } + return nil +} + +func (x *BytesRules) GetContains() []byte { + if x != nil { + return x.Contains + } + return nil +} + +func (x *BytesRules) GetIn() [][]byte { + if x != nil { + return x.In + } + return nil +} + +func (x *BytesRules) GetNotIn() [][]byte { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *BytesRules) GetWellKnown() isBytesRules_WellKnown { + if x != nil { + return x.WellKnown + } + return nil +} + +func (x *BytesRules) GetIp() bool { + if x != nil { + if x, ok := x.WellKnown.(*BytesRules_Ip); ok { + return x.Ip + } + } + return false +} + +func (x *BytesRules) GetIpv4() bool { + if x != nil { + if x, ok := x.WellKnown.(*BytesRules_Ipv4); ok { + return x.Ipv4 + } + } + return false +} + +func (x *BytesRules) GetIpv6() bool { + if x != nil { + if x, ok := x.WellKnown.(*BytesRules_Ipv6); ok { + return x.Ipv6 + } + } + return false +} + +func (x *BytesRules) GetExample() [][]byte { + if x != nil { + return x.Example + } + return nil +} + +func (x *BytesRules) SetConst(v []byte) { + if v == nil { + v = []byte{} + } + x.Const = v +} + +func (x *BytesRules) SetLen(v uint64) { + x.Len = &v +} + +func (x *BytesRules) SetMinLen(v uint64) { + x.MinLen = &v +} + +func (x *BytesRules) SetMaxLen(v uint64) { + x.MaxLen = &v +} + +func (x *BytesRules) SetPattern(v string) { + x.Pattern = &v +} + +func (x *BytesRules) SetPrefix(v []byte) { + if v == nil { + v = []byte{} + } + x.Prefix = v +} + +func (x *BytesRules) SetSuffix(v []byte) { + if v == nil { + v = []byte{} + } + x.Suffix = v +} + +func (x *BytesRules) SetContains(v []byte) { + if v == nil { + v = []byte{} + } + x.Contains = v +} + +func (x *BytesRules) SetIn(v [][]byte) { + x.In = v +} + +func (x *BytesRules) SetNotIn(v [][]byte) { + x.NotIn = v +} + +func (x *BytesRules) SetIp(v bool) { + x.WellKnown = &BytesRules_Ip{v} +} + +func (x *BytesRules) SetIpv4(v bool) { + x.WellKnown = &BytesRules_Ipv4{v} +} + +func (x *BytesRules) SetIpv6(v bool) { + x.WellKnown = &BytesRules_Ipv6{v} +} + +func (x *BytesRules) SetExample(v [][]byte) { + x.Example = v +} + +func (x *BytesRules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *BytesRules) HasLen() bool { + if x == nil { + return false + } + return x.Len != nil +} + +func (x *BytesRules) HasMinLen() bool { + if x == nil { + return false + } + return x.MinLen != nil +} + +func (x *BytesRules) HasMaxLen() bool { + if x == nil { + return false + } + return x.MaxLen != nil +} + +func (x *BytesRules) HasPattern() bool { + if x == nil { + return false + } + return x.Pattern != nil +} + +func (x *BytesRules) HasPrefix() bool { + if x == nil { + return false + } + return x.Prefix != nil +} + +func (x *BytesRules) HasSuffix() bool { + if x == nil { + return false + } + return x.Suffix != nil +} + +func (x *BytesRules) HasContains() bool { + if x == nil { + return false + } + return x.Contains != nil +} + +func (x *BytesRules) HasWellKnown() bool { + if x == nil { + return false + } + return x.WellKnown != nil +} + +func (x *BytesRules) HasIp() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*BytesRules_Ip) + return ok +} + +func (x *BytesRules) HasIpv4() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*BytesRules_Ipv4) + return ok +} + +func (x *BytesRules) HasIpv6() bool { + if x == nil { + return false + } + _, ok := x.WellKnown.(*BytesRules_Ipv6) + return ok +} + +func (x *BytesRules) ClearConst() { + x.Const = nil +} + +func (x *BytesRules) ClearLen() { + x.Len = nil +} + +func (x *BytesRules) ClearMinLen() { + x.MinLen = nil +} + +func (x *BytesRules) ClearMaxLen() { + x.MaxLen = nil +} + +func (x *BytesRules) ClearPattern() { + x.Pattern = nil +} + +func (x *BytesRules) ClearPrefix() { + x.Prefix = nil +} + +func (x *BytesRules) ClearSuffix() { + x.Suffix = nil +} + +func (x *BytesRules) ClearContains() { + x.Contains = nil +} + +func (x *BytesRules) ClearWellKnown() { + x.WellKnown = nil +} + +func (x *BytesRules) ClearIp() { + if _, ok := x.WellKnown.(*BytesRules_Ip); ok { + x.WellKnown = nil + } +} + +func (x *BytesRules) ClearIpv4() { + if _, ok := x.WellKnown.(*BytesRules_Ipv4); ok { + x.WellKnown = nil + } +} + +func (x *BytesRules) ClearIpv6() { + if _, ok := x.WellKnown.(*BytesRules_Ipv6); ok { + x.WellKnown = nil + } +} + +const BytesRules_WellKnown_not_set_case case_BytesRules_WellKnown = 0 +const BytesRules_Ip_case case_BytesRules_WellKnown = 10 +const BytesRules_Ipv4_case case_BytesRules_WellKnown = 11 +const BytesRules_Ipv6_case case_BytesRules_WellKnown = 12 + +func (x *BytesRules) WhichWellKnown() case_BytesRules_WellKnown { + if x == nil { + return BytesRules_WellKnown_not_set_case + } + switch x.WellKnown.(type) { + case *BytesRules_Ip: + return BytesRules_Ip_case + case *BytesRules_Ipv4: + return BytesRules_Ipv4_case + case *BytesRules_Ipv6: + return BytesRules_Ipv6_case + default: + return BytesRules_WellKnown_not_set_case + } +} + +type BytesRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified bytes + // value. If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be "\x01\x02\x03\x04" + // bytes value = 1 [(buf.validate.field).bytes.const = "\x01\x02\x03\x04"]; + // } + // + // ``` + Const []byte + // `len` requires the field value to have the specified length in bytes. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value length must be 4 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.len = 4]; + // } + // + // ``` + Len *uint64 + // `min_len` requires the field value to have at least the specified minimum + // length in bytes. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value length must be at least 2 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.min_len = 2]; + // } + // + // ``` + MinLen *uint64 + // `max_len` requires the field value to have at most the specified maximum + // length in bytes. + // If the field value exceeds the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be at most 6 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.max_len = 6]; + // } + // + // ``` + MaxLen *uint64 + // `pattern` requires the field value to match the specified regular + // expression ([RE2 syntax](https://github.com/google/re2/wiki/Syntax)). + // The value of the field must be valid UTF-8 or validation will fail with a + // runtime error. + // If the field value doesn't match the pattern, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must match regex pattern "^[a-zA-Z0-9]+$". + // optional bytes value = 1 [(buf.validate.field).bytes.pattern = "^[a-zA-Z0-9]+$"]; + // } + // + // ``` + Pattern *string + // `prefix` requires the field value to have the specified bytes at the + // beginning of the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value does not have prefix \x01\x02 + // optional bytes value = 1 [(buf.validate.field).bytes.prefix = "\x01\x02"]; + // } + // + // ``` + Prefix []byte + // `suffix` requires the field value to have the specified bytes at the end + // of the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value does not have suffix \x03\x04 + // optional bytes value = 1 [(buf.validate.field).bytes.suffix = "\x03\x04"]; + // } + // + // ``` + Suffix []byte + // `contains` requires the field value to have the specified bytes anywhere in + // the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```protobuf + // + // message MyBytes { + // // value does not contain \x02\x03 + // optional bytes value = 1 [(buf.validate.field).bytes.contains = "\x02\x03"]; + // } + // + // ``` + Contains []byte + // `in` requires the field value to be equal to one of the specified + // values. If the field value doesn't match any of the specified values, an + // error message is generated. + // + // ```protobuf + // + // message MyBytes { + // // value must in ["\x01\x02", "\x02\x03", "\x03\x04"] + // optional bytes value = 1 [(buf.validate.field).bytes.in = {"\x01\x02", "\x02\x03", "\x03\x04"}]; + // } + // + // ``` + In [][]byte + // `not_in` requires the field value to be not equal to any of the specified + // values. + // If the field value matches any of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyBytes { + // // value must not in ["\x01\x02", "\x02\x03", "\x03\x04"] + // optional bytes value = 1 [(buf.validate.field).bytes.not_in = {"\x01\x02", "\x02\x03", "\x03\x04"}]; + // } + // + // ``` + NotIn [][]byte + // WellKnown rules provide advanced rules against common byte + // patterns + + // Fields of oneof WellKnown: + // `ip` ensures that the field `value` is a valid IP address (v4 or v6) in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be a valid IP address + // optional bytes value = 1 [(buf.validate.field).bytes.ip = true]; + // } + // + // ``` + Ip *bool + // `ipv4` ensures that the field `value` is a valid IPv4 address in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be a valid IPv4 address + // optional bytes value = 1 [(buf.validate.field).bytes.ipv4 = true]; + // } + // + // ``` + Ipv4 *bool + // `ipv6` ensures that the field `value` is a valid IPv6 address in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // ```proto + // + // message MyBytes { + // // value must be a valid IPv6 address + // optional bytes value = 1 [(buf.validate.field).bytes.ipv6 = true]; + // } + // + // ``` + Ipv6 *bool + // -- end of WellKnown + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyBytes { + // bytes value = 1 [ + // (buf.validate.field).bytes.example = "\x01\x02", + // (buf.validate.field).bytes.example = "\x02\x03" + // ]; + // } + // + // ``` + Example [][]byte +} + +func (b0 BytesRules_builder) Build() *BytesRules { + m0 := &BytesRules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + x.Len = b.Len + x.MinLen = b.MinLen + x.MaxLen = b.MaxLen + x.Pattern = b.Pattern + x.Prefix = b.Prefix + x.Suffix = b.Suffix + x.Contains = b.Contains + x.In = b.In + x.NotIn = b.NotIn + if b.Ip != nil { + x.WellKnown = &BytesRules_Ip{*b.Ip} + } + if b.Ipv4 != nil { + x.WellKnown = &BytesRules_Ipv4{*b.Ipv4} + } + if b.Ipv6 != nil { + x.WellKnown = &BytesRules_Ipv6{*b.Ipv6} + } + x.Example = b.Example + return m0 +} + +type case_BytesRules_WellKnown protoreflect.FieldNumber + +func (x case_BytesRules_WellKnown) String() string { + md := file_buf_validate_validate_proto_msgTypes[20].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isBytesRules_WellKnown interface { + isBytesRules_WellKnown() +} + +type BytesRules_Ip struct { + // `ip` ensures that the field `value` is a valid IP address (v4 or v6) in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be a valid IP address + // optional bytes value = 1 [(buf.validate.field).bytes.ip = true]; + // } + // + // ``` + Ip bool `protobuf:"varint,10,opt,name=ip,oneof"` +} + +type BytesRules_Ipv4 struct { + // `ipv4` ensures that the field `value` is a valid IPv4 address in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be a valid IPv4 address + // optional bytes value = 1 [(buf.validate.field).bytes.ipv4 = true]; + // } + // + // ``` + Ipv4 bool `protobuf:"varint,11,opt,name=ipv4,oneof"` +} + +type BytesRules_Ipv6 struct { + // `ipv6` ensures that the field `value` is a valid IPv6 address in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // ```proto + // + // message MyBytes { + // // value must be a valid IPv6 address + // optional bytes value = 1 [(buf.validate.field).bytes.ipv6 = true]; + // } + // + // ``` + Ipv6 bool `protobuf:"varint,12,opt,name=ipv6,oneof"` +} + +func (*BytesRules_Ip) isBytesRules_WellKnown() {} + +func (*BytesRules_Ipv4) isBytesRules_WellKnown() {} + +func (*BytesRules_Ipv6) isBytesRules_WellKnown() {} + +// EnumRules describe the rules applied to `enum` values. +type EnumRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` requires the field value to exactly match the specified enum value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be exactly MY_ENUM_VALUE1. + // MyEnum value = 1 [(buf.validate.field).enum.const = 1]; + // } + // + // ``` + Const *int32 `protobuf:"varint,1,opt,name=const" json:"const,omitempty"` + // `defined_only` requires the field value to be one of the defined values for + // this enum, failing on any undefined value. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be a defined value of MyEnum. + // MyEnum value = 1 [(buf.validate.field).enum.defined_only = true]; + // } + // + // ``` + DefinedOnly *bool `protobuf:"varint,2,opt,name=defined_only,json=definedOnly" json:"defined_only,omitempty"` + // `in` requires the field value to be equal to one of the + // specified enum values. If the field value doesn't match any of the + // specified values, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be equal to one of the specified values. + // MyEnum value = 1 [(buf.validate.field).enum = { in: [1, 2]}]; + // } + // + // ``` + In []int32 `protobuf:"varint,3,rep,name=in" json:"in,omitempty"` + // `not_in` requires the field value to be not equal to any of the + // specified enum values. If the field value matches one of the specified + // values, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must not be equal to any of the specified values. + // MyEnum value = 1 [(buf.validate.field).enum = { not_in: [1, 2]}]; + // } + // + // ``` + NotIn []int32 `protobuf:"varint,4,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // (buf.validate.field).enum.example = 1, + // (buf.validate.field).enum.example = 2 + // } + // + // ``` + Example []int32 `protobuf:"varint,5,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnumRules) Reset() { + *x = EnumRules{} + mi := &file_buf_validate_validate_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnumRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumRules) ProtoMessage() {} + +func (x *EnumRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *EnumRules) GetConst() int32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *EnumRules) GetDefinedOnly() bool { + if x != nil && x.DefinedOnly != nil { + return *x.DefinedOnly + } + return false +} + +func (x *EnumRules) GetIn() []int32 { + if x != nil { + return x.In + } + return nil +} + +func (x *EnumRules) GetNotIn() []int32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *EnumRules) GetExample() []int32 { + if x != nil { + return x.Example + } + return nil +} + +func (x *EnumRules) SetConst(v int32) { + x.Const = &v +} + +func (x *EnumRules) SetDefinedOnly(v bool) { + x.DefinedOnly = &v +} + +func (x *EnumRules) SetIn(v []int32) { + x.In = v +} + +func (x *EnumRules) SetNotIn(v []int32) { + x.NotIn = v +} + +func (x *EnumRules) SetExample(v []int32) { + x.Example = v +} + +func (x *EnumRules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *EnumRules) HasDefinedOnly() bool { + if x == nil { + return false + } + return x.DefinedOnly != nil +} + +func (x *EnumRules) ClearConst() { + x.Const = nil +} + +func (x *EnumRules) ClearDefinedOnly() { + x.DefinedOnly = nil +} + +type EnumRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified enum value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be exactly MY_ENUM_VALUE1. + // MyEnum value = 1 [(buf.validate.field).enum.const = 1]; + // } + // + // ``` + Const *int32 + // `defined_only` requires the field value to be one of the defined values for + // this enum, failing on any undefined value. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be a defined value of MyEnum. + // MyEnum value = 1 [(buf.validate.field).enum.defined_only = true]; + // } + // + // ``` + DefinedOnly *bool + // `in` requires the field value to be equal to one of the + // specified enum values. If the field value doesn't match any of the + // specified values, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be equal to one of the specified values. + // MyEnum value = 1 [(buf.validate.field).enum = { in: [1, 2]}]; + // } + // + // ``` + In []int32 + // `not_in` requires the field value to be not equal to any of the + // specified enum values. If the field value matches one of the specified + // values, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must not be equal to any of the specified values. + // MyEnum value = 1 [(buf.validate.field).enum = { not_in: [1, 2]}]; + // } + // + // ``` + NotIn []int32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // (buf.validate.field).enum.example = 1, + // (buf.validate.field).enum.example = 2 + // } + // + // ``` + Example []int32 +} + +func (b0 EnumRules_builder) Build() *EnumRules { + m0 := &EnumRules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + x.DefinedOnly = b.DefinedOnly + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +// RepeatedRules describe the rules applied to `repeated` values. +type RepeatedRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `min_items` requires that this field must contain at least the specified + // minimum number of items. + // + // Note that `min_items = 1` is equivalent to setting a field as `required`. + // + // ```proto + // + // message MyRepeated { + // // value must contain at least 2 items + // repeated string value = 1 [(buf.validate.field).repeated.min_items = 2]; + // } + // + // ``` + MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems" json:"min_items,omitempty"` + // `max_items` denotes that this field must not exceed a + // certain number of items as the upper limit. If the field contains more + // items than specified, an error message will be generated, requiring the + // field to maintain no more than the specified number of items. + // + // ```proto + // + // message MyRepeated { + // // value must contain no more than 3 item(s) + // repeated string value = 1 [(buf.validate.field).repeated.max_items = 3]; + // } + // + // ``` + MaxItems *uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems" json:"max_items,omitempty"` + // `unique` indicates that all elements in this field must + // be unique. This rule is strictly applicable to scalar and enum + // types, with message types not being supported. + // + // ```proto + // + // message MyRepeated { + // // repeated value must contain unique items + // repeated string value = 1 [(buf.validate.field).repeated.unique = true]; + // } + // + // ``` + Unique *bool `protobuf:"varint,3,opt,name=unique" json:"unique,omitempty"` + // `items` details the rules to be applied to each item + // in the field. Even for repeated message fields, validation is executed + // against each item unless skip is explicitly specified. + // + // Note that repeated items are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyRepeated { + // // The items in the field `value` must follow the specified rules. + // repeated string value = 1 [(buf.validate.field).repeated.items = { + // string: { + // min_len: 3 + // max_len: 10 + // } + // }]; + // } + // + // ``` + Items *FieldRules `protobuf:"bytes,4,opt,name=items" json:"items,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepeatedRules) Reset() { + *x = RepeatedRules{} + mi := &file_buf_validate_validate_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepeatedRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepeatedRules) ProtoMessage() {} + +func (x *RepeatedRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RepeatedRules) GetMinItems() uint64 { + if x != nil && x.MinItems != nil { + return *x.MinItems + } + return 0 +} + +func (x *RepeatedRules) GetMaxItems() uint64 { + if x != nil && x.MaxItems != nil { + return *x.MaxItems + } + return 0 +} + +func (x *RepeatedRules) GetUnique() bool { + if x != nil && x.Unique != nil { + return *x.Unique + } + return false +} + +func (x *RepeatedRules) GetItems() *FieldRules { + if x != nil { + return x.Items + } + return nil +} + +func (x *RepeatedRules) SetMinItems(v uint64) { + x.MinItems = &v +} + +func (x *RepeatedRules) SetMaxItems(v uint64) { + x.MaxItems = &v +} + +func (x *RepeatedRules) SetUnique(v bool) { + x.Unique = &v +} + +func (x *RepeatedRules) SetItems(v *FieldRules) { + x.Items = v +} + +func (x *RepeatedRules) HasMinItems() bool { + if x == nil { + return false + } + return x.MinItems != nil +} + +func (x *RepeatedRules) HasMaxItems() bool { + if x == nil { + return false + } + return x.MaxItems != nil +} + +func (x *RepeatedRules) HasUnique() bool { + if x == nil { + return false + } + return x.Unique != nil +} + +func (x *RepeatedRules) HasItems() bool { + if x == nil { + return false + } + return x.Items != nil +} + +func (x *RepeatedRules) ClearMinItems() { + x.MinItems = nil +} + +func (x *RepeatedRules) ClearMaxItems() { + x.MaxItems = nil +} + +func (x *RepeatedRules) ClearUnique() { + x.Unique = nil +} + +func (x *RepeatedRules) ClearItems() { + x.Items = nil +} + +type RepeatedRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `min_items` requires that this field must contain at least the specified + // minimum number of items. + // + // Note that `min_items = 1` is equivalent to setting a field as `required`. + // + // ```proto + // + // message MyRepeated { + // // value must contain at least 2 items + // repeated string value = 1 [(buf.validate.field).repeated.min_items = 2]; + // } + // + // ``` + MinItems *uint64 + // `max_items` denotes that this field must not exceed a + // certain number of items as the upper limit. If the field contains more + // items than specified, an error message will be generated, requiring the + // field to maintain no more than the specified number of items. + // + // ```proto + // + // message MyRepeated { + // // value must contain no more than 3 item(s) + // repeated string value = 1 [(buf.validate.field).repeated.max_items = 3]; + // } + // + // ``` + MaxItems *uint64 + // `unique` indicates that all elements in this field must + // be unique. This rule is strictly applicable to scalar and enum + // types, with message types not being supported. + // + // ```proto + // + // message MyRepeated { + // // repeated value must contain unique items + // repeated string value = 1 [(buf.validate.field).repeated.unique = true]; + // } + // + // ``` + Unique *bool + // `items` details the rules to be applied to each item + // in the field. Even for repeated message fields, validation is executed + // against each item unless skip is explicitly specified. + // + // Note that repeated items are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyRepeated { + // // The items in the field `value` must follow the specified rules. + // repeated string value = 1 [(buf.validate.field).repeated.items = { + // string: { + // min_len: 3 + // max_len: 10 + // } + // }]; + // } + // + // ``` + Items *FieldRules +} + +func (b0 RepeatedRules_builder) Build() *RepeatedRules { + m0 := &RepeatedRules{} + b, x := &b0, m0 + _, _ = b, x + x.MinItems = b.MinItems + x.MaxItems = b.MaxItems + x.Unique = b.Unique + x.Items = b.Items + return m0 +} + +// MapRules describe the rules applied to `map` values. +type MapRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // Specifies the minimum number of key-value pairs allowed. If the field has + // fewer key-value pairs than specified, an error message is generated. + // + // ```proto + // + // message MyMap { + // // The field `value` must have at least 2 key-value pairs. + // map<string, string> value = 1 [(buf.validate.field).map.min_pairs = 2]; + // } + // + // ``` + MinPairs *uint64 `protobuf:"varint,1,opt,name=min_pairs,json=minPairs" json:"min_pairs,omitempty"` + // Specifies the maximum number of key-value pairs allowed. If the field has + // more key-value pairs than specified, an error message is generated. + // + // ```proto + // + // message MyMap { + // // The field `value` must have at most 3 key-value pairs. + // map<string, string> value = 1 [(buf.validate.field).map.max_pairs = 3]; + // } + // + // ``` + MaxPairs *uint64 `protobuf:"varint,2,opt,name=max_pairs,json=maxPairs" json:"max_pairs,omitempty"` + // Specifies the rules to be applied to each key in the field. + // + // Note that map keys are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyMap { + // // The keys in the field `value` must follow the specified rules. + // map<string, string> value = 1 [(buf.validate.field).map.keys = { + // string: { + // min_len: 3 + // max_len: 10 + // } + // }]; + // } + // + // ``` + Keys *FieldRules `protobuf:"bytes,4,opt,name=keys" json:"keys,omitempty"` + // Specifies the rules to be applied to the value of each key in the + // field. Message values will still have their validations evaluated unless + // skip is specified here. + // + // Note that map values are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyMap { + // // The values in the field `value` must follow the specified rules. + // map<string, string> value = 1 [(buf.validate.field).map.values = { + // string: { + // min_len: 5 + // max_len: 20 + // } + // }]; + // } + // + // ``` + Values *FieldRules `protobuf:"bytes,5,opt,name=values" json:"values,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MapRules) Reset() { + *x = MapRules{} + mi := &file_buf_validate_validate_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MapRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapRules) ProtoMessage() {} + +func (x *MapRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *MapRules) GetMinPairs() uint64 { + if x != nil && x.MinPairs != nil { + return *x.MinPairs + } + return 0 +} + +func (x *MapRules) GetMaxPairs() uint64 { + if x != nil && x.MaxPairs != nil { + return *x.MaxPairs + } + return 0 +} + +func (x *MapRules) GetKeys() *FieldRules { + if x != nil { + return x.Keys + } + return nil +} + +func (x *MapRules) GetValues() *FieldRules { + if x != nil { + return x.Values + } + return nil +} + +func (x *MapRules) SetMinPairs(v uint64) { + x.MinPairs = &v +} + +func (x *MapRules) SetMaxPairs(v uint64) { + x.MaxPairs = &v +} + +func (x *MapRules) SetKeys(v *FieldRules) { + x.Keys = v +} + +func (x *MapRules) SetValues(v *FieldRules) { + x.Values = v +} + +func (x *MapRules) HasMinPairs() bool { + if x == nil { + return false + } + return x.MinPairs != nil +} + +func (x *MapRules) HasMaxPairs() bool { + if x == nil { + return false + } + return x.MaxPairs != nil +} + +func (x *MapRules) HasKeys() bool { + if x == nil { + return false + } + return x.Keys != nil +} + +func (x *MapRules) HasValues() bool { + if x == nil { + return false + } + return x.Values != nil +} + +func (x *MapRules) ClearMinPairs() { + x.MinPairs = nil +} + +func (x *MapRules) ClearMaxPairs() { + x.MaxPairs = nil +} + +func (x *MapRules) ClearKeys() { + x.Keys = nil +} + +func (x *MapRules) ClearValues() { + x.Values = nil +} + +type MapRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Specifies the minimum number of key-value pairs allowed. If the field has + // fewer key-value pairs than specified, an error message is generated. + // + // ```proto + // + // message MyMap { + // // The field `value` must have at least 2 key-value pairs. + // map<string, string> value = 1 [(buf.validate.field).map.min_pairs = 2]; + // } + // + // ``` + MinPairs *uint64 + // Specifies the maximum number of key-value pairs allowed. If the field has + // more key-value pairs than specified, an error message is generated. + // + // ```proto + // + // message MyMap { + // // The field `value` must have at most 3 key-value pairs. + // map<string, string> value = 1 [(buf.validate.field).map.max_pairs = 3]; + // } + // + // ``` + MaxPairs *uint64 + // Specifies the rules to be applied to each key in the field. + // + // Note that map keys are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyMap { + // // The keys in the field `value` must follow the specified rules. + // map<string, string> value = 1 [(buf.validate.field).map.keys = { + // string: { + // min_len: 3 + // max_len: 10 + // } + // }]; + // } + // + // ``` + Keys *FieldRules + // Specifies the rules to be applied to the value of each key in the + // field. Message values will still have their validations evaluated unless + // skip is specified here. + // + // Note that map values are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyMap { + // // The values in the field `value` must follow the specified rules. + // map<string, string> value = 1 [(buf.validate.field).map.values = { + // string: { + // min_len: 5 + // max_len: 20 + // } + // }]; + // } + // + // ``` + Values *FieldRules +} + +func (b0 MapRules_builder) Build() *MapRules { + m0 := &MapRules{} + b, x := &b0, m0 + _, _ = b, x + x.MinPairs = b.MinPairs + x.MaxPairs = b.MaxPairs + x.Keys = b.Keys + x.Values = b.Values + return m0 +} + +// AnyRules describe rules applied exclusively to the `google.protobuf.Any` well-known type. +type AnyRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `in` requires the field's `type_url` to be equal to one of the + // specified values. If it doesn't match any of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyAny { + // // The `value` field must have a `type_url` equal to one of the specified values. + // google.protobuf.Any value = 1 [(buf.validate.field).any = { + // in: ["type.googleapis.com/MyType1", "type.googleapis.com/MyType2"] + // }]; + // } + // + // ``` + In []string `protobuf:"bytes,2,rep,name=in" json:"in,omitempty"` + // requires the field's type_url to be not equal to any of the specified values. If it matches any of the specified values, an error message is generated. + // + // ```proto + // + // message MyAny { + // // The `value` field must not have a `type_url` equal to any of the specified values. + // google.protobuf.Any value = 1 [(buf.validate.field).any = { + // not_in: ["type.googleapis.com/ForbiddenType1", "type.googleapis.com/ForbiddenType2"] + // }]; + // } + // + // ``` + NotIn []string `protobuf:"bytes,3,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AnyRules) Reset() { + *x = AnyRules{} + mi := &file_buf_validate_validate_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AnyRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnyRules) ProtoMessage() {} + +func (x *AnyRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *AnyRules) GetIn() []string { + if x != nil { + return x.In + } + return nil +} + +func (x *AnyRules) GetNotIn() []string { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *AnyRules) SetIn(v []string) { + x.In = v +} + +func (x *AnyRules) SetNotIn(v []string) { + x.NotIn = v +} + +type AnyRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `in` requires the field's `type_url` to be equal to one of the + // specified values. If it doesn't match any of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyAny { + // // The `value` field must have a `type_url` equal to one of the specified values. + // google.protobuf.Any value = 1 [(buf.validate.field).any = { + // in: ["type.googleapis.com/MyType1", "type.googleapis.com/MyType2"] + // }]; + // } + // + // ``` + In []string + // requires the field's type_url to be not equal to any of the specified values. If it matches any of the specified values, an error message is generated. + // + // ```proto + // + // message MyAny { + // // The `value` field must not have a `type_url` equal to any of the specified values. + // google.protobuf.Any value = 1 [(buf.validate.field).any = { + // not_in: ["type.googleapis.com/ForbiddenType1", "type.googleapis.com/ForbiddenType2"] + // }]; + // } + // + // ``` + NotIn []string +} + +func (b0 AnyRules_builder) Build() *AnyRules { + m0 := &AnyRules{} + b, x := &b0, m0 + _, _ = b, x + x.In = b.In + x.NotIn = b.NotIn + return m0 +} + +// DurationRules describe the rules applied exclusively to the `google.protobuf.Duration` well-known type. +type DurationRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` dictates that the field must match the specified value of the `google.protobuf.Duration` type exactly. + // If the field's value deviates from the specified value, an error message + // will be generated. + // + // ```proto + // + // message MyDuration { + // // value must equal 5s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.const = "5s"]; + // } + // + // ``` + Const *durationpb.Duration `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *DurationRules_Lt + // *DurationRules_Lte + LessThan isDurationRules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *DurationRules_Gt + // *DurationRules_Gte + GreaterThan isDurationRules_GreaterThan `protobuf_oneof:"greater_than"` + // `in` asserts that the field must be equal to one of the specified values of the `google.protobuf.Duration` type. + // If the field's value doesn't correspond to any of the specified values, + // an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be in list [1s, 2s, 3s] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.in = ["1s", "2s", "3s"]]; + // } + // + // ``` + In []*durationpb.Duration `protobuf:"bytes,7,rep,name=in" json:"in,omitempty"` + // `not_in` denotes that the field must not be equal to + // any of the specified values of the `google.protobuf.Duration` type. + // If the field's value matches any of these values, an error message will be + // generated. + // + // ```proto + // + // message MyDuration { + // // value must not be in list [1s, 2s, 3s] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.not_in = ["1s", "2s", "3s"]]; + // } + // + // ``` + NotIn []*durationpb.Duration `protobuf:"bytes,8,rep,name=not_in,json=notIn" json:"not_in,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyDuration { + // google.protobuf.Duration value = 1 [ + // (buf.validate.field).duration.example = { seconds: 1 }, + // (buf.validate.field).duration.example = { seconds: 2 }, + // ]; + // } + // + // ``` + Example []*durationpb.Duration `protobuf:"bytes,9,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DurationRules) Reset() { + *x = DurationRules{} + mi := &file_buf_validate_validate_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DurationRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DurationRules) ProtoMessage() {} + +func (x *DurationRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DurationRules) GetConst() *durationpb.Duration { + if x != nil { + return x.Const + } + return nil +} + +func (x *DurationRules) GetLessThan() isDurationRules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *DurationRules) GetLt() *durationpb.Duration { + if x != nil { + if x, ok := x.LessThan.(*DurationRules_Lt); ok { + return x.Lt + } + } + return nil +} + +func (x *DurationRules) GetLte() *durationpb.Duration { + if x != nil { + if x, ok := x.LessThan.(*DurationRules_Lte); ok { + return x.Lte + } + } + return nil +} + +func (x *DurationRules) GetGreaterThan() isDurationRules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *DurationRules) GetGt() *durationpb.Duration { + if x != nil { + if x, ok := x.GreaterThan.(*DurationRules_Gt); ok { + return x.Gt + } + } + return nil +} + +func (x *DurationRules) GetGte() *durationpb.Duration { + if x != nil { + if x, ok := x.GreaterThan.(*DurationRules_Gte); ok { + return x.Gte + } + } + return nil +} + +func (x *DurationRules) GetIn() []*durationpb.Duration { + if x != nil { + return x.In + } + return nil +} + +func (x *DurationRules) GetNotIn() []*durationpb.Duration { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *DurationRules) GetExample() []*durationpb.Duration { + if x != nil { + return x.Example + } + return nil +} + +func (x *DurationRules) SetConst(v *durationpb.Duration) { + x.Const = v +} + +func (x *DurationRules) SetLt(v *durationpb.Duration) { + if v == nil { + x.LessThan = nil + return + } + x.LessThan = &DurationRules_Lt{v} +} + +func (x *DurationRules) SetLte(v *durationpb.Duration) { + if v == nil { + x.LessThan = nil + return + } + x.LessThan = &DurationRules_Lte{v} +} + +func (x *DurationRules) SetGt(v *durationpb.Duration) { + if v == nil { + x.GreaterThan = nil + return + } + x.GreaterThan = &DurationRules_Gt{v} +} + +func (x *DurationRules) SetGte(v *durationpb.Duration) { + if v == nil { + x.GreaterThan = nil + return + } + x.GreaterThan = &DurationRules_Gte{v} +} + +func (x *DurationRules) SetIn(v []*durationpb.Duration) { + x.In = v +} + +func (x *DurationRules) SetNotIn(v []*durationpb.Duration) { + x.NotIn = v +} + +func (x *DurationRules) SetExample(v []*durationpb.Duration) { + x.Example = v +} + +func (x *DurationRules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *DurationRules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *DurationRules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*DurationRules_Lt) + return ok +} + +func (x *DurationRules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*DurationRules_Lte) + return ok +} + +func (x *DurationRules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *DurationRules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*DurationRules_Gt) + return ok +} + +func (x *DurationRules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*DurationRules_Gte) + return ok +} + +func (x *DurationRules) ClearConst() { + x.Const = nil +} + +func (x *DurationRules) ClearLessThan() { + x.LessThan = nil +} + +func (x *DurationRules) ClearLt() { + if _, ok := x.LessThan.(*DurationRules_Lt); ok { + x.LessThan = nil + } +} + +func (x *DurationRules) ClearLte() { + if _, ok := x.LessThan.(*DurationRules_Lte); ok { + x.LessThan = nil + } +} + +func (x *DurationRules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *DurationRules) ClearGt() { + if _, ok := x.GreaterThan.(*DurationRules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *DurationRules) ClearGte() { + if _, ok := x.GreaterThan.(*DurationRules_Gte); ok { + x.GreaterThan = nil + } +} + +const DurationRules_LessThan_not_set_case case_DurationRules_LessThan = 0 +const DurationRules_Lt_case case_DurationRules_LessThan = 3 +const DurationRules_Lte_case case_DurationRules_LessThan = 4 + +func (x *DurationRules) WhichLessThan() case_DurationRules_LessThan { + if x == nil { + return DurationRules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *DurationRules_Lt: + return DurationRules_Lt_case + case *DurationRules_Lte: + return DurationRules_Lte_case + default: + return DurationRules_LessThan_not_set_case + } +} + +const DurationRules_GreaterThan_not_set_case case_DurationRules_GreaterThan = 0 +const DurationRules_Gt_case case_DurationRules_GreaterThan = 5 +const DurationRules_Gte_case case_DurationRules_GreaterThan = 6 + +func (x *DurationRules) WhichGreaterThan() case_DurationRules_GreaterThan { + if x == nil { + return DurationRules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *DurationRules_Gt: + return DurationRules_Gt_case + case *DurationRules_Gte: + return DurationRules_Gte_case + default: + return DurationRules_GreaterThan_not_set_case + } +} + +type DurationRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` dictates that the field must match the specified value of the `google.protobuf.Duration` type exactly. + // If the field's value deviates from the specified value, an error message + // will be generated. + // + // ```proto + // + // message MyDuration { + // // value must equal 5s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.const = "5s"]; + // } + // + // ``` + Const *durationpb.Duration + // Fields of oneof LessThan: + // `lt` stipulates that the field must be less than the specified value of the `google.protobuf.Duration` type, + // exclusive. If the field's value is greater than or equal to the specified + // value, an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be less than 5s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = "5s"]; + // } + // + // ``` + Lt *durationpb.Duration + // `lte` indicates that the field must be less than or equal to the specified + // value of the `google.protobuf.Duration` type, inclusive. If the field's value is greater than the specified value, + // an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be less than or equal to 10s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lte = "10s"]; + // } + // + // ``` + Lte *durationpb.Duration + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the duration field value to be greater than the specified + // value (exclusive). If the value of `gt` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be greater than 5s [duration.gt] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.gt = { seconds: 5 }]; + // + // // duration must be greater than 5s and less than 10s [duration.gt_lt] + // google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gt: { seconds: 5 }, lt: { seconds: 10 } }]; + // + // // duration must be greater than 10s or less than 5s [duration.gt_lt_exclusive] + // google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gt: { seconds: 10 }, lt: { seconds: 5 } }]; + // } + // + // ``` + Gt *durationpb.Duration + // `gte` requires the duration field value to be greater than or equal to the + // specified value (exclusive). If the value of `gte` is larger than a + // specified `lt` or `lte`, the range is reversed, and the field value must + // be outside the specified range. If the field value doesn't meet the + // required conditions, an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be greater than or equal to 5s [duration.gte] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.gte = { seconds: 5 }]; + // + // // duration must be greater than or equal to 5s and less than 10s [duration.gte_lt] + // google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gte: { seconds: 5 }, lt: { seconds: 10 } }]; + // + // // duration must be greater than or equal to 10s or less than 5s [duration.gte_lt_exclusive] + // google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gte: { seconds: 10 }, lt: { seconds: 5 } }]; + // } + // + // ``` + Gte *durationpb.Duration + // -- end of GreaterThan + // `in` asserts that the field must be equal to one of the specified values of the `google.protobuf.Duration` type. + // If the field's value doesn't correspond to any of the specified values, + // an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be in list [1s, 2s, 3s] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.in = ["1s", "2s", "3s"]]; + // } + // + // ``` + In []*durationpb.Duration + // `not_in` denotes that the field must not be equal to + // any of the specified values of the `google.protobuf.Duration` type. + // If the field's value matches any of these values, an error message will be + // generated. + // + // ```proto + // + // message MyDuration { + // // value must not be in list [1s, 2s, 3s] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.not_in = ["1s", "2s", "3s"]]; + // } + // + // ``` + NotIn []*durationpb.Duration + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyDuration { + // google.protobuf.Duration value = 1 [ + // (buf.validate.field).duration.example = { seconds: 1 }, + // (buf.validate.field).duration.example = { seconds: 2 }, + // ]; + // } + // + // ``` + Example []*durationpb.Duration +} + +func (b0 DurationRules_builder) Build() *DurationRules { + m0 := &DurationRules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &DurationRules_Lt{b.Lt} + } + if b.Lte != nil { + x.LessThan = &DurationRules_Lte{b.Lte} + } + if b.Gt != nil { + x.GreaterThan = &DurationRules_Gt{b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &DurationRules_Gte{b.Gte} + } + x.In = b.In + x.NotIn = b.NotIn + x.Example = b.Example + return m0 +} + +type case_DurationRules_LessThan protoreflect.FieldNumber + +func (x case_DurationRules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[25].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_DurationRules_GreaterThan protoreflect.FieldNumber + +func (x case_DurationRules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[25].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isDurationRules_LessThan interface { + isDurationRules_LessThan() +} + +type DurationRules_Lt struct { + // `lt` stipulates that the field must be less than the specified value of the `google.protobuf.Duration` type, + // exclusive. If the field's value is greater than or equal to the specified + // value, an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be less than 5s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = "5s"]; + // } + // + // ``` + Lt *durationpb.Duration `protobuf:"bytes,3,opt,name=lt,oneof"` +} + +type DurationRules_Lte struct { + // `lte` indicates that the field must be less than or equal to the specified + // value of the `google.protobuf.Duration` type, inclusive. If the field's value is greater than the specified value, + // an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be less than or equal to 10s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lte = "10s"]; + // } + // + // ``` + Lte *durationpb.Duration `protobuf:"bytes,4,opt,name=lte,oneof"` +} + +func (*DurationRules_Lt) isDurationRules_LessThan() {} + +func (*DurationRules_Lte) isDurationRules_LessThan() {} + +type isDurationRules_GreaterThan interface { + isDurationRules_GreaterThan() +} + +type DurationRules_Gt struct { + // `gt` requires the duration field value to be greater than the specified + // value (exclusive). If the value of `gt` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be greater than 5s [duration.gt] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.gt = { seconds: 5 }]; + // + // // duration must be greater than 5s and less than 10s [duration.gt_lt] + // google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gt: { seconds: 5 }, lt: { seconds: 10 } }]; + // + // // duration must be greater than 10s or less than 5s [duration.gt_lt_exclusive] + // google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gt: { seconds: 10 }, lt: { seconds: 5 } }]; + // } + // + // ``` + Gt *durationpb.Duration `protobuf:"bytes,5,opt,name=gt,oneof"` +} + +type DurationRules_Gte struct { + // `gte` requires the duration field value to be greater than or equal to the + // specified value (exclusive). If the value of `gte` is larger than a + // specified `lt` or `lte`, the range is reversed, and the field value must + // be outside the specified range. If the field value doesn't meet the + // required conditions, an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be greater than or equal to 5s [duration.gte] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.gte = { seconds: 5 }]; + // + // // duration must be greater than or equal to 5s and less than 10s [duration.gte_lt] + // google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gte: { seconds: 5 }, lt: { seconds: 10 } }]; + // + // // duration must be greater than or equal to 10s or less than 5s [duration.gte_lt_exclusive] + // google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gte: { seconds: 10 }, lt: { seconds: 5 } }]; + // } + // + // ``` + Gte *durationpb.Duration `protobuf:"bytes,6,opt,name=gte,oneof"` +} + +func (*DurationRules_Gt) isDurationRules_GreaterThan() {} + +func (*DurationRules_Gte) isDurationRules_GreaterThan() {} + +// TimestampRules describe the rules applied exclusively to the `google.protobuf.Timestamp` well-known type. +type TimestampRules struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `const` dictates that this field, of the `google.protobuf.Timestamp` type, must exactly match the specified value. If the field value doesn't correspond to the specified timestamp, an error message will be generated. + // + // ```proto + // + // message MyTimestamp { + // // value must equal 2023-05-03T10:00:00Z + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.const = {seconds: 1727998800}]; + // } + // + // ``` + Const *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=const" json:"const,omitempty"` + // Types that are valid to be assigned to LessThan: + // + // *TimestampRules_Lt + // *TimestampRules_Lte + // *TimestampRules_LtNow + LessThan isTimestampRules_LessThan `protobuf_oneof:"less_than"` + // Types that are valid to be assigned to GreaterThan: + // + // *TimestampRules_Gt + // *TimestampRules_Gte + // *TimestampRules_GtNow + GreaterThan isTimestampRules_GreaterThan `protobuf_oneof:"greater_than"` + // `within` specifies that this field, of the `google.protobuf.Timestamp` type, must be within the specified duration of the current time. If the field value isn't within the duration, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // value must be within 1 hour of now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.within = {seconds: 3600}]; + // } + // + // ``` + Within *durationpb.Duration `protobuf:"bytes,9,opt,name=within" json:"within,omitempty"` + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyTimestamp { + // google.protobuf.Timestamp value = 1 [ + // (buf.validate.field).timestamp.example = { seconds: 1672444800 }, + // (buf.validate.field).timestamp.example = { seconds: 1672531200 }, + // ]; + // } + // + // ``` + Example []*timestamppb.Timestamp `protobuf:"bytes,10,rep,name=example" json:"example,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimestampRules) Reset() { + *x = TimestampRules{} + mi := &file_buf_validate_validate_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimestampRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimestampRules) ProtoMessage() {} + +func (x *TimestampRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TimestampRules) GetConst() *timestamppb.Timestamp { + if x != nil { + return x.Const + } + return nil +} + +func (x *TimestampRules) GetLessThan() isTimestampRules_LessThan { + if x != nil { + return x.LessThan + } + return nil +} + +func (x *TimestampRules) GetLt() *timestamppb.Timestamp { + if x != nil { + if x, ok := x.LessThan.(*TimestampRules_Lt); ok { + return x.Lt + } + } + return nil +} + +func (x *TimestampRules) GetLte() *timestamppb.Timestamp { + if x != nil { + if x, ok := x.LessThan.(*TimestampRules_Lte); ok { + return x.Lte + } + } + return nil +} + +func (x *TimestampRules) GetLtNow() bool { + if x != nil { + if x, ok := x.LessThan.(*TimestampRules_LtNow); ok { + return x.LtNow + } + } + return false +} + +func (x *TimestampRules) GetGreaterThan() isTimestampRules_GreaterThan { + if x != nil { + return x.GreaterThan + } + return nil +} + +func (x *TimestampRules) GetGt() *timestamppb.Timestamp { + if x != nil { + if x, ok := x.GreaterThan.(*TimestampRules_Gt); ok { + return x.Gt + } + } + return nil +} + +func (x *TimestampRules) GetGte() *timestamppb.Timestamp { + if x != nil { + if x, ok := x.GreaterThan.(*TimestampRules_Gte); ok { + return x.Gte + } + } + return nil +} + +func (x *TimestampRules) GetGtNow() bool { + if x != nil { + if x, ok := x.GreaterThan.(*TimestampRules_GtNow); ok { + return x.GtNow + } + } + return false +} + +func (x *TimestampRules) GetWithin() *durationpb.Duration { + if x != nil { + return x.Within + } + return nil +} + +func (x *TimestampRules) GetExample() []*timestamppb.Timestamp { + if x != nil { + return x.Example + } + return nil +} + +func (x *TimestampRules) SetConst(v *timestamppb.Timestamp) { + x.Const = v +} + +func (x *TimestampRules) SetLt(v *timestamppb.Timestamp) { + if v == nil { + x.LessThan = nil + return + } + x.LessThan = &TimestampRules_Lt{v} +} + +func (x *TimestampRules) SetLte(v *timestamppb.Timestamp) { + if v == nil { + x.LessThan = nil + return + } + x.LessThan = &TimestampRules_Lte{v} +} + +func (x *TimestampRules) SetLtNow(v bool) { + x.LessThan = &TimestampRules_LtNow{v} +} + +func (x *TimestampRules) SetGt(v *timestamppb.Timestamp) { + if v == nil { + x.GreaterThan = nil + return + } + x.GreaterThan = &TimestampRules_Gt{v} +} + +func (x *TimestampRules) SetGte(v *timestamppb.Timestamp) { + if v == nil { + x.GreaterThan = nil + return + } + x.GreaterThan = &TimestampRules_Gte{v} +} + +func (x *TimestampRules) SetGtNow(v bool) { + x.GreaterThan = &TimestampRules_GtNow{v} +} + +func (x *TimestampRules) SetWithin(v *durationpb.Duration) { + x.Within = v +} + +func (x *TimestampRules) SetExample(v []*timestamppb.Timestamp) { + x.Example = v +} + +func (x *TimestampRules) HasConst() bool { + if x == nil { + return false + } + return x.Const != nil +} + +func (x *TimestampRules) HasLessThan() bool { + if x == nil { + return false + } + return x.LessThan != nil +} + +func (x *TimestampRules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*TimestampRules_Lt) + return ok +} + +func (x *TimestampRules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*TimestampRules_Lte) + return ok +} + +func (x *TimestampRules) HasLtNow() bool { + if x == nil { + return false + } + _, ok := x.LessThan.(*TimestampRules_LtNow) + return ok +} + +func (x *TimestampRules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.GreaterThan != nil +} + +func (x *TimestampRules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*TimestampRules_Gt) + return ok +} + +func (x *TimestampRules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*TimestampRules_Gte) + return ok +} + +func (x *TimestampRules) HasGtNow() bool { + if x == nil { + return false + } + _, ok := x.GreaterThan.(*TimestampRules_GtNow) + return ok +} + +func (x *TimestampRules) HasWithin() bool { + if x == nil { + return false + } + return x.Within != nil +} + +func (x *TimestampRules) ClearConst() { + x.Const = nil +} + +func (x *TimestampRules) ClearLessThan() { + x.LessThan = nil +} + +func (x *TimestampRules) ClearLt() { + if _, ok := x.LessThan.(*TimestampRules_Lt); ok { + x.LessThan = nil + } +} + +func (x *TimestampRules) ClearLte() { + if _, ok := x.LessThan.(*TimestampRules_Lte); ok { + x.LessThan = nil + } +} + +func (x *TimestampRules) ClearLtNow() { + if _, ok := x.LessThan.(*TimestampRules_LtNow); ok { + x.LessThan = nil + } +} + +func (x *TimestampRules) ClearGreaterThan() { + x.GreaterThan = nil +} + +func (x *TimestampRules) ClearGt() { + if _, ok := x.GreaterThan.(*TimestampRules_Gt); ok { + x.GreaterThan = nil + } +} + +func (x *TimestampRules) ClearGte() { + if _, ok := x.GreaterThan.(*TimestampRules_Gte); ok { + x.GreaterThan = nil + } +} + +func (x *TimestampRules) ClearGtNow() { + if _, ok := x.GreaterThan.(*TimestampRules_GtNow); ok { + x.GreaterThan = nil + } +} + +func (x *TimestampRules) ClearWithin() { + x.Within = nil +} + +const TimestampRules_LessThan_not_set_case case_TimestampRules_LessThan = 0 +const TimestampRules_Lt_case case_TimestampRules_LessThan = 3 +const TimestampRules_Lte_case case_TimestampRules_LessThan = 4 +const TimestampRules_LtNow_case case_TimestampRules_LessThan = 7 + +func (x *TimestampRules) WhichLessThan() case_TimestampRules_LessThan { + if x == nil { + return TimestampRules_LessThan_not_set_case + } + switch x.LessThan.(type) { + case *TimestampRules_Lt: + return TimestampRules_Lt_case + case *TimestampRules_Lte: + return TimestampRules_Lte_case + case *TimestampRules_LtNow: + return TimestampRules_LtNow_case + default: + return TimestampRules_LessThan_not_set_case + } +} + +const TimestampRules_GreaterThan_not_set_case case_TimestampRules_GreaterThan = 0 +const TimestampRules_Gt_case case_TimestampRules_GreaterThan = 5 +const TimestampRules_Gte_case case_TimestampRules_GreaterThan = 6 +const TimestampRules_GtNow_case case_TimestampRules_GreaterThan = 8 + +func (x *TimestampRules) WhichGreaterThan() case_TimestampRules_GreaterThan { + if x == nil { + return TimestampRules_GreaterThan_not_set_case + } + switch x.GreaterThan.(type) { + case *TimestampRules_Gt: + return TimestampRules_Gt_case + case *TimestampRules_Gte: + return TimestampRules_Gte_case + case *TimestampRules_GtNow: + return TimestampRules_GtNow_case + default: + return TimestampRules_GreaterThan_not_set_case + } +} + +type TimestampRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` dictates that this field, of the `google.protobuf.Timestamp` type, must exactly match the specified value. If the field value doesn't correspond to the specified timestamp, an error message will be generated. + // + // ```proto + // + // message MyTimestamp { + // // value must equal 2023-05-03T10:00:00Z + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.const = {seconds: 1727998800}]; + // } + // + // ``` + Const *timestamppb.Timestamp + // Fields of oneof LessThan: + // requires the duration field value to be less than the specified value (field < value). If the field value doesn't meet the required conditions, an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be less than 'P3D' [duration.lt] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = { seconds: 259200 }]; + // } + // + // ``` + Lt *timestamppb.Timestamp + // requires the timestamp field value to be less than or equal to the specified value (field <= value). If the field value doesn't meet the required conditions, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be less than or equal to '2023-05-14T00:00:00Z' [timestamp.lte] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.lte = { seconds: 1678867200 }]; + // } + // + // ``` + Lte *timestamppb.Timestamp + // `lt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be less than the current time. `lt_now` can only be used with the `within` rule. + // + // ```proto + // + // message MyTimestamp { + // // value must be less than now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.lt_now = true]; + // } + // + // ``` + LtNow *bool + // -- end of LessThan + // Fields of oneof GreaterThan: + // `gt` requires the timestamp field value to be greater than the specified + // value (exclusive). If the value of `gt` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be greater than '2023-01-01T00:00:00Z' [timestamp.gt] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gt = { seconds: 1672444800 }]; + // + // // timestamp must be greater than '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gt_lt] + // google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gt: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }]; + // + // // timestamp must be greater than '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gt_lt_exclusive] + // google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gt: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }]; + // } + // + // ``` + Gt *timestamppb.Timestamp + // `gte` requires the timestamp field value to be greater than or equal to the + // specified value (exclusive). If the value of `gte` is larger than a + // specified `lt` or `lte`, the range is reversed, and the field value + // must be outside the specified range. If the field value doesn't meet + // the required conditions, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' [timestamp.gte] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gte = { seconds: 1672444800 }]; + // + // // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gte_lt] + // google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gte: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }]; + // + // // timestamp must be greater than or equal to '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gte_lt_exclusive] + // google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gte: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }]; + // } + // + // ``` + Gte *timestamppb.Timestamp + // `gt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be greater than the current time. `gt_now` can only be used with the `within` rule. + // + // ```proto + // + // message MyTimestamp { + // // value must be greater than now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.gt_now = true]; + // } + // + // ``` + GtNow *bool + // -- end of GreaterThan + // `within` specifies that this field, of the `google.protobuf.Timestamp` type, must be within the specified duration of the current time. If the field value isn't within the duration, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // value must be within 1 hour of now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.within = {seconds: 3600}]; + // } + // + // ``` + Within *durationpb.Duration + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyTimestamp { + // google.protobuf.Timestamp value = 1 [ + // (buf.validate.field).timestamp.example = { seconds: 1672444800 }, + // (buf.validate.field).timestamp.example = { seconds: 1672531200 }, + // ]; + // } + // + // ``` + Example []*timestamppb.Timestamp +} + +func (b0 TimestampRules_builder) Build() *TimestampRules { + m0 := &TimestampRules{} + b, x := &b0, m0 + _, _ = b, x + x.Const = b.Const + if b.Lt != nil { + x.LessThan = &TimestampRules_Lt{b.Lt} + } + if b.Lte != nil { + x.LessThan = &TimestampRules_Lte{b.Lte} + } + if b.LtNow != nil { + x.LessThan = &TimestampRules_LtNow{*b.LtNow} + } + if b.Gt != nil { + x.GreaterThan = &TimestampRules_Gt{b.Gt} + } + if b.Gte != nil { + x.GreaterThan = &TimestampRules_Gte{b.Gte} + } + if b.GtNow != nil { + x.GreaterThan = &TimestampRules_GtNow{*b.GtNow} + } + x.Within = b.Within + x.Example = b.Example + return m0 +} + +type case_TimestampRules_LessThan protoreflect.FieldNumber + +func (x case_TimestampRules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[26].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_TimestampRules_GreaterThan protoreflect.FieldNumber + +func (x case_TimestampRules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[26].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isTimestampRules_LessThan interface { + isTimestampRules_LessThan() +} + +type TimestampRules_Lt struct { + // requires the duration field value to be less than the specified value (field < value). If the field value doesn't meet the required conditions, an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be less than 'P3D' [duration.lt] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = { seconds: 259200 }]; + // } + // + // ``` + Lt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lt,oneof"` +} + +type TimestampRules_Lte struct { + // requires the timestamp field value to be less than or equal to the specified value (field <= value). If the field value doesn't meet the required conditions, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be less than or equal to '2023-05-14T00:00:00Z' [timestamp.lte] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.lte = { seconds: 1678867200 }]; + // } + // + // ``` + Lte *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=lte,oneof"` +} + +type TimestampRules_LtNow struct { + // `lt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be less than the current time. `lt_now` can only be used with the `within` rule. + // + // ```proto + // + // message MyTimestamp { + // // value must be less than now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.lt_now = true]; + // } + // + // ``` + LtNow bool `protobuf:"varint,7,opt,name=lt_now,json=ltNow,oneof"` +} + +func (*TimestampRules_Lt) isTimestampRules_LessThan() {} + +func (*TimestampRules_Lte) isTimestampRules_LessThan() {} + +func (*TimestampRules_LtNow) isTimestampRules_LessThan() {} + +type isTimestampRules_GreaterThan interface { + isTimestampRules_GreaterThan() +} + +type TimestampRules_Gt struct { + // `gt` requires the timestamp field value to be greater than the specified + // value (exclusive). If the value of `gt` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be greater than '2023-01-01T00:00:00Z' [timestamp.gt] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gt = { seconds: 1672444800 }]; + // + // // timestamp must be greater than '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gt_lt] + // google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gt: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }]; + // + // // timestamp must be greater than '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gt_lt_exclusive] + // google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gt: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }]; + // } + // + // ``` + Gt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=gt,oneof"` +} + +type TimestampRules_Gte struct { + // `gte` requires the timestamp field value to be greater than or equal to the + // specified value (exclusive). If the value of `gte` is larger than a + // specified `lt` or `lte`, the range is reversed, and the field value + // must be outside the specified range. If the field value doesn't meet + // the required conditions, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' [timestamp.gte] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gte = { seconds: 1672444800 }]; + // + // // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gte_lt] + // google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gte: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }]; + // + // // timestamp must be greater than or equal to '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gte_lt_exclusive] + // google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gte: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }]; + // } + // + // ``` + Gte *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=gte,oneof"` +} + +type TimestampRules_GtNow struct { + // `gt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be greater than the current time. `gt_now` can only be used with the `within` rule. + // + // ```proto + // + // message MyTimestamp { + // // value must be greater than now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.gt_now = true]; + // } + // + // ``` + GtNow bool `protobuf:"varint,8,opt,name=gt_now,json=gtNow,oneof"` +} + +func (*TimestampRules_Gt) isTimestampRules_GreaterThan() {} + +func (*TimestampRules_Gte) isTimestampRules_GreaterThan() {} + +func (*TimestampRules_GtNow) isTimestampRules_GreaterThan() {} + +// `Violations` is a collection of `Violation` messages. This message type is returned by +// Protovalidate when a proto message fails to meet the requirements set by the `Rule` validation rules. +// Each individual violation is represented by a `Violation` message. +type Violations struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `violations` is a repeated field that contains all the `Violation` messages corresponding to the violations detected. + Violations []*Violation `protobuf:"bytes,1,rep,name=violations" json:"violations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Violations) Reset() { + *x = Violations{} + mi := &file_buf_validate_validate_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Violations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Violations) ProtoMessage() {} + +func (x *Violations) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Violations) GetViolations() []*Violation { + if x != nil { + return x.Violations + } + return nil +} + +func (x *Violations) SetViolations(v []*Violation) { + x.Violations = v +} + +type Violations_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `violations` is a repeated field that contains all the `Violation` messages corresponding to the violations detected. + Violations []*Violation +} + +func (b0 Violations_builder) Build() *Violations { + m0 := &Violations{} + b, x := &b0, m0 + _, _ = b, x + x.Violations = b.Violations + return m0 +} + +// `Violation` represents a single instance where a validation rule, expressed +// as a `Rule`, was not met. It provides information about the field that +// caused the violation, the specific rule that wasn't fulfilled, and a +// human-readable error message. +// +// For example, consider the following message: +// +// ```proto +// +// message User { +// int32 age = 1 [(buf.validate.field).cel = { +// id: "user.age", +// expression: "this < 18 ? 'User must be at least 18 years old' : ''", +// }]; +// } +// +// ``` +// +// It could produce the following violation: +// +// ```json +// +// { +// "ruleId": "user.age", +// "message": "User must be at least 18 years old", +// "field": { +// "elements": [ +// { +// "fieldNumber": 1, +// "fieldName": "age", +// "fieldType": "TYPE_INT32" +// } +// ] +// }, +// "rule": { +// "elements": [ +// { +// "fieldNumber": 23, +// "fieldName": "cel", +// "fieldType": "TYPE_MESSAGE", +// "index": "0" +// } +// ] +// } +// } +// +// ``` +type Violation struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `field` is a machine-readable path to the field that failed validation. + // This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation. + // + // For example, consider the following message: + // + // ```proto + // + // message Message { + // bool a = 1 [(buf.validate.field).required = true]; + // } + // + // ``` + // + // It could produce the following violation: + // + // ```textproto + // + // violation { + // field { element { field_number: 1, field_name: "a", field_type: 8 } } + // ... + // } + // + // ``` + Field *FieldPath `protobuf:"bytes,5,opt,name=field" json:"field,omitempty"` + // `rule` is a machine-readable path that points to the specific rule that failed validation. + // This will be a nested field starting from the FieldRules of the field that failed validation. + // For custom rules, this will provide the path of the rule, e.g. `cel[0]`. + // + // For example, consider the following message: + // + // ```proto + // + // message Message { + // bool a = 1 [(buf.validate.field).required = true]; + // bool b = 2 [(buf.validate.field).cel = { + // id: "custom_rule", + // expression: "!this ? 'b must be true': ''" + // }] + // } + // + // ``` + // + // It could produce the following violations: + // + // ```textproto + // + // violation { + // rule { element { field_number: 25, field_name: "required", field_type: 8 } } + // ... + // } + // + // violation { + // rule { element { field_number: 23, field_name: "cel", field_type: 11, index: 0 } } + // ... + // } + // + // ``` + Rule *FieldPath `protobuf:"bytes,6,opt,name=rule" json:"rule,omitempty"` + // `rule_id` is the unique identifier of the `Rule` that was not fulfilled. + // This is the same `id` that was specified in the `Rule` message, allowing easy tracing of which rule was violated. + RuleId *string `protobuf:"bytes,2,opt,name=rule_id,json=ruleId" json:"rule_id,omitempty"` + // `message` is a human-readable error message that describes the nature of the violation. + // This can be the default error message from the violated `Rule`, or it can be a custom message that gives more context about the violation. + Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"` + // `for_key` indicates whether the violation was caused by a map key, rather than a value. + ForKey *bool `protobuf:"varint,4,opt,name=for_key,json=forKey" json:"for_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Violation) Reset() { + *x = Violation{} + mi := &file_buf_validate_validate_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Violation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Violation) ProtoMessage() {} + +func (x *Violation) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Violation) GetField() *FieldPath { + if x != nil { + return x.Field + } + return nil +} + +func (x *Violation) GetRule() *FieldPath { + if x != nil { + return x.Rule + } + return nil +} + +func (x *Violation) GetRuleId() string { + if x != nil && x.RuleId != nil { + return *x.RuleId + } + return "" +} + +func (x *Violation) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *Violation) GetForKey() bool { + if x != nil && x.ForKey != nil { + return *x.ForKey + } + return false +} + +func (x *Violation) SetField(v *FieldPath) { + x.Field = v +} + +func (x *Violation) SetRule(v *FieldPath) { + x.Rule = v +} + +func (x *Violation) SetRuleId(v string) { + x.RuleId = &v +} + +func (x *Violation) SetMessage(v string) { + x.Message = &v +} + +func (x *Violation) SetForKey(v bool) { + x.ForKey = &v +} + +func (x *Violation) HasField() bool { + if x == nil { + return false + } + return x.Field != nil +} + +func (x *Violation) HasRule() bool { + if x == nil { + return false + } + return x.Rule != nil +} + +func (x *Violation) HasRuleId() bool { + if x == nil { + return false + } + return x.RuleId != nil +} + +func (x *Violation) HasMessage() bool { + if x == nil { + return false + } + return x.Message != nil +} + +func (x *Violation) HasForKey() bool { + if x == nil { + return false + } + return x.ForKey != nil +} + +func (x *Violation) ClearField() { + x.Field = nil +} + +func (x *Violation) ClearRule() { + x.Rule = nil +} + +func (x *Violation) ClearRuleId() { + x.RuleId = nil +} + +func (x *Violation) ClearMessage() { + x.Message = nil +} + +func (x *Violation) ClearForKey() { + x.ForKey = nil +} + +type Violation_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `field` is a machine-readable path to the field that failed validation. + // This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation. + // + // For example, consider the following message: + // + // ```proto + // + // message Message { + // bool a = 1 [(buf.validate.field).required = true]; + // } + // + // ``` + // + // It could produce the following violation: + // + // ```textproto + // + // violation { + // field { element { field_number: 1, field_name: "a", field_type: 8 } } + // ... + // } + // + // ``` + Field *FieldPath + // `rule` is a machine-readable path that points to the specific rule that failed validation. + // This will be a nested field starting from the FieldRules of the field that failed validation. + // For custom rules, this will provide the path of the rule, e.g. `cel[0]`. + // + // For example, consider the following message: + // + // ```proto + // + // message Message { + // bool a = 1 [(buf.validate.field).required = true]; + // bool b = 2 [(buf.validate.field).cel = { + // id: "custom_rule", + // expression: "!this ? 'b must be true': ''" + // }] + // } + // + // ``` + // + // It could produce the following violations: + // + // ```textproto + // + // violation { + // rule { element { field_number: 25, field_name: "required", field_type: 8 } } + // ... + // } + // + // violation { + // rule { element { field_number: 23, field_name: "cel", field_type: 11, index: 0 } } + // ... + // } + // + // ``` + Rule *FieldPath + // `rule_id` is the unique identifier of the `Rule` that was not fulfilled. + // This is the same `id` that was specified in the `Rule` message, allowing easy tracing of which rule was violated. + RuleId *string + // `message` is a human-readable error message that describes the nature of the violation. + // This can be the default error message from the violated `Rule`, or it can be a custom message that gives more context about the violation. + Message *string + // `for_key` indicates whether the violation was caused by a map key, rather than a value. + ForKey *bool +} + +func (b0 Violation_builder) Build() *Violation { + m0 := &Violation{} + b, x := &b0, m0 + _, _ = b, x + x.Field = b.Field + x.Rule = b.Rule + x.RuleId = b.RuleId + x.Message = b.Message + x.ForKey = b.ForKey + return m0 +} + +// `FieldPath` provides a path to a nested protobuf field. +// +// This message provides enough information to render a dotted field path even without protobuf descriptors. +// It also provides enough information to resolve a nested field through unknown wire data. +type FieldPath struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `elements` contains each element of the path, starting from the root and recursing downward. + Elements []*FieldPathElement `protobuf:"bytes,1,rep,name=elements" json:"elements,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldPath) Reset() { + *x = FieldPath{} + mi := &file_buf_validate_validate_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldPath) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldPath) ProtoMessage() {} + +func (x *FieldPath) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *FieldPath) GetElements() []*FieldPathElement { + if x != nil { + return x.Elements + } + return nil +} + +func (x *FieldPath) SetElements(v []*FieldPathElement) { + x.Elements = v +} + +type FieldPath_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `elements` contains each element of the path, starting from the root and recursing downward. + Elements []*FieldPathElement +} + +func (b0 FieldPath_builder) Build() *FieldPath { + m0 := &FieldPath{} + b, x := &b0, m0 + _, _ = b, x + x.Elements = b.Elements + return m0 +} + +// `FieldPathElement` provides enough information to nest through a single protobuf field. +// +// If the selected field is a map or repeated field, the `subscript` value selects a specific element from it. +// A path that refers to a value nested under a map key or repeated field index will have a `subscript` value. +// The `field_type` field allows unambiguous resolution of a field even if descriptors are not available. +type FieldPathElement struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // `field_number` is the field number this path element refers to. + FieldNumber *int32 `protobuf:"varint,1,opt,name=field_number,json=fieldNumber" json:"field_number,omitempty"` + // `field_name` contains the field name this path element refers to. + // This can be used to display a human-readable path even if the field number is unknown. + FieldName *string `protobuf:"bytes,2,opt,name=field_name,json=fieldName" json:"field_name,omitempty"` + // `field_type` specifies the type of this field. When using reflection, this value is not needed. + // + // This value is provided to make it possible to traverse unknown fields through wire data. + // When traversing wire data, be mindful of both packed[1] and delimited[2] encoding schemes. + // + // N.B.: Although groups are deprecated, the corresponding delimited encoding scheme is not, and + // can be explicitly used in Protocol Buffers 2023 Edition. + // + // [1]: https://protobuf.dev/programming-guides/encoding/#packed + // [2]: https://protobuf.dev/programming-guides/encoding/#groups + FieldType *descriptorpb.FieldDescriptorProto_Type `protobuf:"varint,3,opt,name=field_type,json=fieldType,enum=google.protobuf.FieldDescriptorProto_Type" json:"field_type,omitempty"` + // `key_type` specifies the map key type of this field. This value is useful when traversing + // unknown fields through wire data: specifically, it allows handling the differences between + // different integer encodings. + KeyType *descriptorpb.FieldDescriptorProto_Type `protobuf:"varint,4,opt,name=key_type,json=keyType,enum=google.protobuf.FieldDescriptorProto_Type" json:"key_type,omitempty"` + // `value_type` specifies map value type of this field. This is useful if you want to display a + // value inside unknown fields through wire data. + ValueType *descriptorpb.FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=value_type,json=valueType,enum=google.protobuf.FieldDescriptorProto_Type" json:"value_type,omitempty"` + // `subscript` contains a repeated index or map key, if this path element nests into a repeated or map field. + // + // Types that are valid to be assigned to Subscript: + // + // *FieldPathElement_Index + // *FieldPathElement_BoolKey + // *FieldPathElement_IntKey + // *FieldPathElement_UintKey + // *FieldPathElement_StringKey + Subscript isFieldPathElement_Subscript `protobuf_oneof:"subscript"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldPathElement) Reset() { + *x = FieldPathElement{} + mi := &file_buf_validate_validate_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldPathElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldPathElement) ProtoMessage() {} + +func (x *FieldPathElement) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *FieldPathElement) GetFieldNumber() int32 { + if x != nil && x.FieldNumber != nil { + return *x.FieldNumber + } + return 0 +} + +func (x *FieldPathElement) GetFieldName() string { + if x != nil && x.FieldName != nil { + return *x.FieldName + } + return "" +} + +func (x *FieldPathElement) GetFieldType() descriptorpb.FieldDescriptorProto_Type { + if x != nil && x.FieldType != nil { + return *x.FieldType + } + return descriptorpb.FieldDescriptorProto_Type(1) +} + +func (x *FieldPathElement) GetKeyType() descriptorpb.FieldDescriptorProto_Type { + if x != nil && x.KeyType != nil { + return *x.KeyType + } + return descriptorpb.FieldDescriptorProto_Type(1) +} + +func (x *FieldPathElement) GetValueType() descriptorpb.FieldDescriptorProto_Type { + if x != nil && x.ValueType != nil { + return *x.ValueType + } + return descriptorpb.FieldDescriptorProto_Type(1) +} + +func (x *FieldPathElement) GetSubscript() isFieldPathElement_Subscript { + if x != nil { + return x.Subscript + } + return nil +} + +func (x *FieldPathElement) GetIndex() uint64 { + if x != nil { + if x, ok := x.Subscript.(*FieldPathElement_Index); ok { + return x.Index + } + } + return 0 +} + +func (x *FieldPathElement) GetBoolKey() bool { + if x != nil { + if x, ok := x.Subscript.(*FieldPathElement_BoolKey); ok { + return x.BoolKey + } + } + return false +} + +func (x *FieldPathElement) GetIntKey() int64 { + if x != nil { + if x, ok := x.Subscript.(*FieldPathElement_IntKey); ok { + return x.IntKey + } + } + return 0 +} + +func (x *FieldPathElement) GetUintKey() uint64 { + if x != nil { + if x, ok := x.Subscript.(*FieldPathElement_UintKey); ok { + return x.UintKey + } + } + return 0 +} + +func (x *FieldPathElement) GetStringKey() string { + if x != nil { + if x, ok := x.Subscript.(*FieldPathElement_StringKey); ok { + return x.StringKey + } + } + return "" +} + +func (x *FieldPathElement) SetFieldNumber(v int32) { + x.FieldNumber = &v +} + +func (x *FieldPathElement) SetFieldName(v string) { + x.FieldName = &v +} + +func (x *FieldPathElement) SetFieldType(v descriptorpb.FieldDescriptorProto_Type) { + x.FieldType = &v +} + +func (x *FieldPathElement) SetKeyType(v descriptorpb.FieldDescriptorProto_Type) { + x.KeyType = &v +} + +func (x *FieldPathElement) SetValueType(v descriptorpb.FieldDescriptorProto_Type) { + x.ValueType = &v +} + +func (x *FieldPathElement) SetIndex(v uint64) { + x.Subscript = &FieldPathElement_Index{v} +} + +func (x *FieldPathElement) SetBoolKey(v bool) { + x.Subscript = &FieldPathElement_BoolKey{v} +} + +func (x *FieldPathElement) SetIntKey(v int64) { + x.Subscript = &FieldPathElement_IntKey{v} +} + +func (x *FieldPathElement) SetUintKey(v uint64) { + x.Subscript = &FieldPathElement_UintKey{v} +} + +func (x *FieldPathElement) SetStringKey(v string) { + x.Subscript = &FieldPathElement_StringKey{v} +} + +func (x *FieldPathElement) HasFieldNumber() bool { + if x == nil { + return false + } + return x.FieldNumber != nil +} + +func (x *FieldPathElement) HasFieldName() bool { + if x == nil { + return false + } + return x.FieldName != nil +} + +func (x *FieldPathElement) HasFieldType() bool { + if x == nil { + return false + } + return x.FieldType != nil +} + +func (x *FieldPathElement) HasKeyType() bool { + if x == nil { + return false + } + return x.KeyType != nil +} + +func (x *FieldPathElement) HasValueType() bool { + if x == nil { + return false + } + return x.ValueType != nil +} + +func (x *FieldPathElement) HasSubscript() bool { + if x == nil { + return false + } + return x.Subscript != nil +} + +func (x *FieldPathElement) HasIndex() bool { + if x == nil { + return false + } + _, ok := x.Subscript.(*FieldPathElement_Index) + return ok +} + +func (x *FieldPathElement) HasBoolKey() bool { + if x == nil { + return false + } + _, ok := x.Subscript.(*FieldPathElement_BoolKey) + return ok +} + +func (x *FieldPathElement) HasIntKey() bool { + if x == nil { + return false + } + _, ok := x.Subscript.(*FieldPathElement_IntKey) + return ok +} + +func (x *FieldPathElement) HasUintKey() bool { + if x == nil { + return false + } + _, ok := x.Subscript.(*FieldPathElement_UintKey) + return ok +} + +func (x *FieldPathElement) HasStringKey() bool { + if x == nil { + return false + } + _, ok := x.Subscript.(*FieldPathElement_StringKey) + return ok +} + +func (x *FieldPathElement) ClearFieldNumber() { + x.FieldNumber = nil +} + +func (x *FieldPathElement) ClearFieldName() { + x.FieldName = nil +} + +func (x *FieldPathElement) ClearFieldType() { + x.FieldType = nil +} + +func (x *FieldPathElement) ClearKeyType() { + x.KeyType = nil +} + +func (x *FieldPathElement) ClearValueType() { + x.ValueType = nil +} + +func (x *FieldPathElement) ClearSubscript() { + x.Subscript = nil +} + +func (x *FieldPathElement) ClearIndex() { + if _, ok := x.Subscript.(*FieldPathElement_Index); ok { + x.Subscript = nil + } +} + +func (x *FieldPathElement) ClearBoolKey() { + if _, ok := x.Subscript.(*FieldPathElement_BoolKey); ok { + x.Subscript = nil + } +} + +func (x *FieldPathElement) ClearIntKey() { + if _, ok := x.Subscript.(*FieldPathElement_IntKey); ok { + x.Subscript = nil + } +} + +func (x *FieldPathElement) ClearUintKey() { + if _, ok := x.Subscript.(*FieldPathElement_UintKey); ok { + x.Subscript = nil + } +} + +func (x *FieldPathElement) ClearStringKey() { + if _, ok := x.Subscript.(*FieldPathElement_StringKey); ok { + x.Subscript = nil + } +} + +const FieldPathElement_Subscript_not_set_case case_FieldPathElement_Subscript = 0 +const FieldPathElement_Index_case case_FieldPathElement_Subscript = 6 +const FieldPathElement_BoolKey_case case_FieldPathElement_Subscript = 7 +const FieldPathElement_IntKey_case case_FieldPathElement_Subscript = 8 +const FieldPathElement_UintKey_case case_FieldPathElement_Subscript = 9 +const FieldPathElement_StringKey_case case_FieldPathElement_Subscript = 10 + +func (x *FieldPathElement) WhichSubscript() case_FieldPathElement_Subscript { + if x == nil { + return FieldPathElement_Subscript_not_set_case + } + switch x.Subscript.(type) { + case *FieldPathElement_Index: + return FieldPathElement_Index_case + case *FieldPathElement_BoolKey: + return FieldPathElement_BoolKey_case + case *FieldPathElement_IntKey: + return FieldPathElement_IntKey_case + case *FieldPathElement_UintKey: + return FieldPathElement_UintKey_case + case *FieldPathElement_StringKey: + return FieldPathElement_StringKey_case + default: + return FieldPathElement_Subscript_not_set_case + } +} + +type FieldPathElement_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `field_number` is the field number this path element refers to. + FieldNumber *int32 + // `field_name` contains the field name this path element refers to. + // This can be used to display a human-readable path even if the field number is unknown. + FieldName *string + // `field_type` specifies the type of this field. When using reflection, this value is not needed. + // + // This value is provided to make it possible to traverse unknown fields through wire data. + // When traversing wire data, be mindful of both packed[1] and delimited[2] encoding schemes. + // + // N.B.: Although groups are deprecated, the corresponding delimited encoding scheme is not, and + // can be explicitly used in Protocol Buffers 2023 Edition. + // + // [1]: https://protobuf.dev/programming-guides/encoding/#packed + // [2]: https://protobuf.dev/programming-guides/encoding/#groups + FieldType *descriptorpb.FieldDescriptorProto_Type + // `key_type` specifies the map key type of this field. This value is useful when traversing + // unknown fields through wire data: specifically, it allows handling the differences between + // different integer encodings. + KeyType *descriptorpb.FieldDescriptorProto_Type + // `value_type` specifies map value type of this field. This is useful if you want to display a + // value inside unknown fields through wire data. + ValueType *descriptorpb.FieldDescriptorProto_Type + // `subscript` contains a repeated index or map key, if this path element nests into a repeated or map field. + + // Fields of oneof Subscript: + // `index` specifies a 0-based index into a repeated field. + Index *uint64 + // `bool_key` specifies a map key of type bool. + BoolKey *bool + // `int_key` specifies a map key of type int32, int64, sint32, sint64, sfixed32 or sfixed64. + IntKey *int64 + // `uint_key` specifies a map key of type uint32, uint64, fixed32 or fixed64. + UintKey *uint64 + // `string_key` specifies a map key of type string. + StringKey *string + // -- end of Subscript +} + +func (b0 FieldPathElement_builder) Build() *FieldPathElement { + m0 := &FieldPathElement{} + b, x := &b0, m0 + _, _ = b, x + x.FieldNumber = b.FieldNumber + x.FieldName = b.FieldName + x.FieldType = b.FieldType + x.KeyType = b.KeyType + x.ValueType = b.ValueType + if b.Index != nil { + x.Subscript = &FieldPathElement_Index{*b.Index} + } + if b.BoolKey != nil { + x.Subscript = &FieldPathElement_BoolKey{*b.BoolKey} + } + if b.IntKey != nil { + x.Subscript = &FieldPathElement_IntKey{*b.IntKey} + } + if b.UintKey != nil { + x.Subscript = &FieldPathElement_UintKey{*b.UintKey} + } + if b.StringKey != nil { + x.Subscript = &FieldPathElement_StringKey{*b.StringKey} + } + return m0 +} + +type case_FieldPathElement_Subscript protoreflect.FieldNumber + +func (x case_FieldPathElement_Subscript) String() string { + md := file_buf_validate_validate_proto_msgTypes[30].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFieldPathElement_Subscript interface { + isFieldPathElement_Subscript() +} + +type FieldPathElement_Index struct { + // `index` specifies a 0-based index into a repeated field. + Index uint64 `protobuf:"varint,6,opt,name=index,oneof"` +} + +type FieldPathElement_BoolKey struct { + // `bool_key` specifies a map key of type bool. + BoolKey bool `protobuf:"varint,7,opt,name=bool_key,json=boolKey,oneof"` +} + +type FieldPathElement_IntKey struct { + // `int_key` specifies a map key of type int32, int64, sint32, sint64, sfixed32 or sfixed64. + IntKey int64 `protobuf:"varint,8,opt,name=int_key,json=intKey,oneof"` +} + +type FieldPathElement_UintKey struct { + // `uint_key` specifies a map key of type uint32, uint64, fixed32 or fixed64. + UintKey uint64 `protobuf:"varint,9,opt,name=uint_key,json=uintKey,oneof"` +} + +type FieldPathElement_StringKey struct { + // `string_key` specifies a map key of type string. + StringKey string `protobuf:"bytes,10,opt,name=string_key,json=stringKey,oneof"` +} + +func (*FieldPathElement_Index) isFieldPathElement_Subscript() {} + +func (*FieldPathElement_BoolKey) isFieldPathElement_Subscript() {} + +func (*FieldPathElement_IntKey) isFieldPathElement_Subscript() {} + +func (*FieldPathElement_UintKey) isFieldPathElement_Subscript() {} + +func (*FieldPathElement_StringKey) isFieldPathElement_Subscript() {} + +var file_buf_validate_validate_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.MessageOptions)(nil), + ExtensionType: (*MessageRules)(nil), + Field: 1159, + Name: "buf.validate.message", + Tag: "bytes,1159,opt,name=message", + Filename: "buf/validate/validate.proto", + }, + { + ExtendedType: (*descriptorpb.OneofOptions)(nil), + ExtensionType: (*OneofRules)(nil), + Field: 1159, + Name: "buf.validate.oneof", + Tag: "bytes,1159,opt,name=oneof", + Filename: "buf/validate/validate.proto", + }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*FieldRules)(nil), + Field: 1159, + Name: "buf.validate.field", + Tag: "bytes,1159,opt,name=field", + Filename: "buf/validate/validate.proto", + }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*PredefinedRules)(nil), + Field: 1160, + Name: "buf.validate.predefined", + Tag: "bytes,1160,opt,name=predefined", + Filename: "buf/validate/validate.proto", + }, +} + +// Extension fields to descriptorpb.MessageOptions. +var ( + // Rules specify the validations to be performed on this message. By default, + // no validation is performed against a message. + // + // optional buf.validate.MessageRules message = 1159; + E_Message = &file_buf_validate_validate_proto_extTypes[0] +) + +// Extension fields to descriptorpb.OneofOptions. +var ( + // Rules specify the validations to be performed on this oneof. By default, + // no validation is performed against a oneof. + // + // optional buf.validate.OneofRules oneof = 1159; + E_Oneof = &file_buf_validate_validate_proto_extTypes[1] +) + +// Extension fields to descriptorpb.FieldOptions. +var ( + // Rules specify the validations to be performed on this field. By default, + // no validation is performed against a field. + // + // optional buf.validate.FieldRules field = 1159; + E_Field = &file_buf_validate_validate_proto_extTypes[2] + // Specifies predefined rules. When extending a standard rule message, + // this adds additional CEL expressions that apply when the extension is used. + // + // ```proto + // + // extend buf.validate.Int32Rules { + // bool is_zero [(buf.validate.predefined).cel = { + // id: "int32.is_zero", + // message: "value must be zero", + // expression: "!rule || this == 0", + // }]; + // } + // + // message Foo { + // int32 reserved = 1 [(buf.validate.field).int32.(is_zero) = true]; + // } + // + // ``` + // + // optional buf.validate.PredefinedRules predefined = 1160; + E_Predefined = &file_buf_validate_validate_proto_extTypes[3] +) + +var File_buf_validate_validate_proto protoreflect.FileDescriptor + +const file_buf_validate_validate_proto_rawDesc = "" + + "\n" + + "\x1bbuf/validate/validate.proto\x12\fbuf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"P\n" + + "\x04Rule\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12\x1e\n" + + "\n" + + "expression\x18\x03 \x01(\tR\n" + + "expression\"\x86\x01\n" + + "\fMessageRules\x12\x1a\n" + + "\bdisabled\x18\x01 \x01(\bR\bdisabled\x12$\n" + + "\x03cel\x18\x03 \x03(\v2\x12.buf.validate.RuleR\x03cel\x124\n" + + "\x05oneof\x18\x04 \x03(\v2\x1e.buf.validate.MessageOneofRuleR\x05oneof\"F\n" + + "\x10MessageOneofRule\x12\x16\n" + + "\x06fields\x18\x01 \x03(\tR\x06fields\x12\x1a\n" + + "\brequired\x18\x02 \x01(\bR\brequired\"(\n" + + "\n" + + "OneofRules\x12\x1a\n" + + "\brequired\x18\x01 \x01(\bR\brequired\"\xfd\t\n" + + "\n" + + "FieldRules\x12$\n" + + "\x03cel\x18\x17 \x03(\v2\x12.buf.validate.RuleR\x03cel\x12\x1a\n" + + "\brequired\x18\x19 \x01(\bR\brequired\x12,\n" + + "\x06ignore\x18\x1b \x01(\x0e2\x14.buf.validate.IgnoreR\x06ignore\x120\n" + + "\x05float\x18\x01 \x01(\v2\x18.buf.validate.FloatRulesH\x00R\x05float\x123\n" + + "\x06double\x18\x02 \x01(\v2\x19.buf.validate.DoubleRulesH\x00R\x06double\x120\n" + + "\x05int32\x18\x03 \x01(\v2\x18.buf.validate.Int32RulesH\x00R\x05int32\x120\n" + + "\x05int64\x18\x04 \x01(\v2\x18.buf.validate.Int64RulesH\x00R\x05int64\x123\n" + + "\x06uint32\x18\x05 \x01(\v2\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x123\n" + + "\x06uint64\x18\x06 \x01(\v2\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x123\n" + + "\x06sint32\x18\a \x01(\v2\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x123\n" + + "\x06sint64\x18\b \x01(\v2\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x126\n" + + "\afixed32\x18\t \x01(\v2\x1a.buf.validate.Fixed32RulesH\x00R\afixed32\x126\n" + + "\afixed64\x18\n" + + " \x01(\v2\x1a.buf.validate.Fixed64RulesH\x00R\afixed64\x129\n" + + "\bsfixed32\x18\v \x01(\v2\x1b.buf.validate.SFixed32RulesH\x00R\bsfixed32\x129\n" + + "\bsfixed64\x18\f \x01(\v2\x1b.buf.validate.SFixed64RulesH\x00R\bsfixed64\x12-\n" + + "\x04bool\x18\r \x01(\v2\x17.buf.validate.BoolRulesH\x00R\x04bool\x123\n" + + "\x06string\x18\x0e \x01(\v2\x19.buf.validate.StringRulesH\x00R\x06string\x120\n" + + "\x05bytes\x18\x0f \x01(\v2\x18.buf.validate.BytesRulesH\x00R\x05bytes\x12-\n" + + "\x04enum\x18\x10 \x01(\v2\x17.buf.validate.EnumRulesH\x00R\x04enum\x129\n" + + "\brepeated\x18\x12 \x01(\v2\x1b.buf.validate.RepeatedRulesH\x00R\brepeated\x12*\n" + + "\x03map\x18\x13 \x01(\v2\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n" + + "\x03any\x18\x14 \x01(\v2\x16.buf.validate.AnyRulesH\x00R\x03any\x129\n" + + "\bduration\x18\x15 \x01(\v2\x1b.buf.validate.DurationRulesH\x00R\bduration\x12<\n" + + "\ttimestamp\x18\x16 \x01(\v2\x1c.buf.validate.TimestampRulesH\x00R\ttimestampB\x06\n" + + "\x04typeJ\x04\b\x18\x10\x19J\x04\b\x1a\x10\x1bR\askippedR\fignore_empty\"X\n" + + "\x0fPredefinedRules\x12$\n" + + "\x03cel\x18\x01 \x03(\v2\x12.buf.validate.RuleR\x03celJ\x04\b\x18\x10\x19J\x04\b\x1a\x10\x1bR\x13skippedignore_empty\"\x90\x18\n" + + "\n" + + "FloatRules\x12\x8a\x01\n" + + "\x05const\x18\x01 \x01(\x02Bt\xc2Hq\n" + + "o\n" + + "\vfloat.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\xa3\x01\n" + + "\x02lt\x18\x02 \x01(\x02B\x90\x01\xc2H\x8c\x01\n" + + "\x89\x01\n" + + "\bfloat.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xb4\x01\n" + + "\x03lte\x18\x03 \x01(\x02B\x9f\x01\xc2H\x9b\x01\n" + + "\x98\x01\n" + + "\tfloat.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xf3\a\n" + + "\x02gt\x18\x04 \x01(\x02B\xe0\a\xc2H\xdc\a\n" + + "\x8d\x01\n" + + "\bfloat.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xc3\x01\n" + + "\vfloat.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xcd\x01\n" + + "\x15float.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\ffloat.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xdd\x01\n" + + "\x16float.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xbf\b\n" + + "\x03gte\x18\x05 \x01(\x02B\xaa\b\xc2H\xa6\b\n" + + "\x9b\x01\n" + + "\tfloat.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xd2\x01\n" + + "\ffloat.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xdc\x01\n" + + "\x16float.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xe2\x01\n" + + "\rfloat.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xec\x01\n" + + "\x17float.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x83\x01\n" + + "\x02in\x18\x06 \x03(\x02Bs\xc2Hp\n" + + "n\n" + + "\bfloat.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12}\n" + + "\x06not_in\x18\a \x03(\x02Bf\xc2Hc\n" + + "a\n" + + "\ffloat.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12}\n" + + "\x06finite\x18\b \x01(\bBe\xc2Hb\n" + + "`\n" + + "\ffloat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''R\x06finite\x124\n" + + "\aexample\x18\t \x03(\x02B\x1a\xc2H\x17\n" + + "\x15\n" + + "\rfloat.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xa2\x18\n" + + "\vDoubleRules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\x01Bu\xc2Hr\n" + + "p\n" + + "\fdouble.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\xa4\x01\n" + + "\x02lt\x18\x02 \x01(\x01B\x91\x01\xc2H\x8d\x01\n" + + "\x8a\x01\n" + + "\tdouble.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xb5\x01\n" + + "\x03lte\x18\x03 \x01(\x01B\xa0\x01\xc2H\x9c\x01\n" + + "\x99\x01\n" + + "\n" + + "double.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xf8\a\n" + + "\x02gt\x18\x04 \x01(\x01B\xe5\a\xc2H\xe1\a\n" + + "\x8e\x01\n" + + "\tdouble.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xc4\x01\n" + + "\fdouble.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xce\x01\n" + + "\x16double.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xd4\x01\n" + + "\rdouble.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xde\x01\n" + + "\x17double.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xc4\b\n" + + "\x03gte\x18\x05 \x01(\x01B\xaf\b\xc2H\xab\b\n" + + "\x9c\x01\n" + + "\n" + + "double.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xd3\x01\n" + + "\rdouble.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xdd\x01\n" + + "\x17double.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xe3\x01\n" + + "\x0edouble.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xed\x01\n" + + "\x18double.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\x01Bt\xc2Hq\n" + + "o\n" + + "\tdouble.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\x01Bg\xc2Hd\n" + + "b\n" + + "\rdouble.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12~\n" + + "\x06finite\x18\b \x01(\bBf\xc2Hc\n" + + "a\n" + + "\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''R\x06finite\x125\n" + + "\aexample\x18\t \x03(\x01B\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0edouble.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xba\x15\n" + + "\n" + + "Int32Rules\x12\x8a\x01\n" + + "\x05const\x18\x01 \x01(\x05Bt\xc2Hq\n" + + "o\n" + + "\vint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8e\x01\n" + + "\x02lt\x18\x02 \x01(\x05B|\xc2Hy\n" + + "w\n" + + "\bint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa1\x01\n" + + "\x03lte\x18\x03 \x01(\x05B\x8c\x01\xc2H\x88\x01\n" + + "\x85\x01\n" + + "\tint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\x9b\a\n" + + "\x02gt\x18\x04 \x01(\x05B\x88\a\xc2H\x84\a\n" + + "z\n" + + "\bint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb3\x01\n" + + "\vint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbb\x01\n" + + "\x15int32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc3\x01\n" + + "\fint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcb\x01\n" + + "\x16int32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xe8\a\n" + + "\x03gte\x18\x05 \x01(\x05B\xd3\a\xc2H\xcf\a\n" + + "\x88\x01\n" + + "\tint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc2\x01\n" + + "\fint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xca\x01\n" + + "\x16int32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd2\x01\n" + + "\rint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xda\x01\n" + + "\x17int32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x83\x01\n" + + "\x02in\x18\x06 \x03(\x05Bs\xc2Hp\n" + + "n\n" + + "\bint32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12}\n" + + "\x06not_in\x18\a \x03(\x05Bf\xc2Hc\n" + + "a\n" + + "\fint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x124\n" + + "\aexample\x18\b \x03(\x05B\x1a\xc2H\x17\n" + + "\x15\n" + + "\rint32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xba\x15\n" + + "\n" + + "Int64Rules\x12\x8a\x01\n" + + "\x05const\x18\x01 \x01(\x03Bt\xc2Hq\n" + + "o\n" + + "\vint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8e\x01\n" + + "\x02lt\x18\x02 \x01(\x03B|\xc2Hy\n" + + "w\n" + + "\bint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa1\x01\n" + + "\x03lte\x18\x03 \x01(\x03B\x8c\x01\xc2H\x88\x01\n" + + "\x85\x01\n" + + "\tint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\x9b\a\n" + + "\x02gt\x18\x04 \x01(\x03B\x88\a\xc2H\x84\a\n" + + "z\n" + + "\bint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb3\x01\n" + + "\vint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbb\x01\n" + + "\x15int64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc3\x01\n" + + "\fint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcb\x01\n" + + "\x16int64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xe8\a\n" + + "\x03gte\x18\x05 \x01(\x03B\xd3\a\xc2H\xcf\a\n" + + "\x88\x01\n" + + "\tint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc2\x01\n" + + "\fint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xca\x01\n" + + "\x16int64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd2\x01\n" + + "\rint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xda\x01\n" + + "\x17int64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x83\x01\n" + + "\x02in\x18\x06 \x03(\x03Bs\xc2Hp\n" + + "n\n" + + "\bint64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12}\n" + + "\x06not_in\x18\a \x03(\x03Bf\xc2Hc\n" + + "a\n" + + "\fint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x124\n" + + "\aexample\x18\t \x03(\x03B\x1a\xc2H\x17\n" + + "\x15\n" + + "\rint64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xcb\x15\n" + + "\vUInt32Rules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\rBu\xc2Hr\n" + + "p\n" + + "\fuint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8f\x01\n" + + "\x02lt\x18\x02 \x01(\rB}\xc2Hz\n" + + "x\n" + + "\tuint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa2\x01\n" + + "\x03lte\x18\x03 \x01(\rB\x8d\x01\xc2H\x89\x01\n" + + "\x86\x01\n" + + "\n" + + "uint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa0\a\n" + + "\x02gt\x18\x04 \x01(\rB\x8d\a\xc2H\x89\a\n" + + "{\n" + + "\tuint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb4\x01\n" + + "\fuint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbc\x01\n" + + "\x16uint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc4\x01\n" + + "\ruint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcc\x01\n" + + "\x17uint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xed\a\n" + + "\x03gte\x18\x05 \x01(\rB\xd8\a\xc2H\xd4\a\n" + + "\x89\x01\n" + + "\n" + + "uint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc3\x01\n" + + "\ruint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcb\x01\n" + + "\x17uint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\x0euint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdb\x01\n" + + "\x18uint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\rBt\xc2Hq\n" + + "o\n" + + "\tuint32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\rBg\xc2Hd\n" + + "b\n" + + "\ruint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x125\n" + + "\aexample\x18\b \x03(\rB\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0euint32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xcb\x15\n" + + "\vUInt64Rules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\x04Bu\xc2Hr\n" + + "p\n" + + "\fuint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8f\x01\n" + + "\x02lt\x18\x02 \x01(\x04B}\xc2Hz\n" + + "x\n" + + "\tuint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa2\x01\n" + + "\x03lte\x18\x03 \x01(\x04B\x8d\x01\xc2H\x89\x01\n" + + "\x86\x01\n" + + "\n" + + "uint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa0\a\n" + + "\x02gt\x18\x04 \x01(\x04B\x8d\a\xc2H\x89\a\n" + + "{\n" + + "\tuint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb4\x01\n" + + "\fuint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbc\x01\n" + + "\x16uint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc4\x01\n" + + "\ruint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcc\x01\n" + + "\x17uint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xed\a\n" + + "\x03gte\x18\x05 \x01(\x04B\xd8\a\xc2H\xd4\a\n" + + "\x89\x01\n" + + "\n" + + "uint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc3\x01\n" + + "\ruint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcb\x01\n" + + "\x17uint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\x0euint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdb\x01\n" + + "\x18uint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\x04Bt\xc2Hq\n" + + "o\n" + + "\tuint64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\x04Bg\xc2Hd\n" + + "b\n" + + "\ruint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x125\n" + + "\aexample\x18\b \x03(\x04B\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0euint64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xcb\x15\n" + + "\vSInt32Rules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\x11Bu\xc2Hr\n" + + "p\n" + + "\fsint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8f\x01\n" + + "\x02lt\x18\x02 \x01(\x11B}\xc2Hz\n" + + "x\n" + + "\tsint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa2\x01\n" + + "\x03lte\x18\x03 \x01(\x11B\x8d\x01\xc2H\x89\x01\n" + + "\x86\x01\n" + + "\n" + + "sint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa0\a\n" + + "\x02gt\x18\x04 \x01(\x11B\x8d\a\xc2H\x89\a\n" + + "{\n" + + "\tsint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb4\x01\n" + + "\fsint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbc\x01\n" + + "\x16sint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc4\x01\n" + + "\rsint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcc\x01\n" + + "\x17sint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xed\a\n" + + "\x03gte\x18\x05 \x01(\x11B\xd8\a\xc2H\xd4\a\n" + + "\x89\x01\n" + + "\n" + + "sint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc3\x01\n" + + "\rsint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcb\x01\n" + + "\x17sint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\x0esint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdb\x01\n" + + "\x18sint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\x11Bt\xc2Hq\n" + + "o\n" + + "\tsint32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\x11Bg\xc2Hd\n" + + "b\n" + + "\rsint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x125\n" + + "\aexample\x18\b \x03(\x11B\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0esint32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xcb\x15\n" + + "\vSInt64Rules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\x12Bu\xc2Hr\n" + + "p\n" + + "\fsint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8f\x01\n" + + "\x02lt\x18\x02 \x01(\x12B}\xc2Hz\n" + + "x\n" + + "\tsint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa2\x01\n" + + "\x03lte\x18\x03 \x01(\x12B\x8d\x01\xc2H\x89\x01\n" + + "\x86\x01\n" + + "\n" + + "sint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa0\a\n" + + "\x02gt\x18\x04 \x01(\x12B\x8d\a\xc2H\x89\a\n" + + "{\n" + + "\tsint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb4\x01\n" + + "\fsint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbc\x01\n" + + "\x16sint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc4\x01\n" + + "\rsint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcc\x01\n" + + "\x17sint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xed\a\n" + + "\x03gte\x18\x05 \x01(\x12B\xd8\a\xc2H\xd4\a\n" + + "\x89\x01\n" + + "\n" + + "sint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc3\x01\n" + + "\rsint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcb\x01\n" + + "\x17sint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\x0esint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdb\x01\n" + + "\x18sint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\x12Bt\xc2Hq\n" + + "o\n" + + "\tsint64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\x12Bg\xc2Hd\n" + + "b\n" + + "\rsint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x125\n" + + "\aexample\x18\b \x03(\x12B\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0esint64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xdc\x15\n" + + "\fFixed32Rules\x12\x8c\x01\n" + + "\x05const\x18\x01 \x01(\aBv\xc2Hs\n" + + "q\n" + + "\rfixed32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x90\x01\n" + + "\x02lt\x18\x02 \x01(\aB~\xc2H{\n" + + "y\n" + + "\n" + + "fixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa3\x01\n" + + "\x03lte\x18\x03 \x01(\aB\x8e\x01\xc2H\x8a\x01\n" + + "\x87\x01\n" + + "\vfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa5\a\n" + + "\x02gt\x18\x04 \x01(\aB\x92\a\xc2H\x8e\a\n" + + "|\n" + + "\n" + + "fixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb5\x01\n" + + "\rfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbd\x01\n" + + "\x17fixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc5\x01\n" + + "\x0efixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcd\x01\n" + + "\x18fixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xf2\a\n" + + "\x03gte\x18\x05 \x01(\aB\xdd\a\xc2H\xd9\a\n" + + "\x8a\x01\n" + + "\vfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc4\x01\n" + + "\x0efixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcc\x01\n" + + "\x18fixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd4\x01\n" + + "\x0ffixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdc\x01\n" + + "\x19fixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x85\x01\n" + + "\x02in\x18\x06 \x03(\aBu\xc2Hr\n" + + "p\n" + + "\n" + + "fixed32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x7f\n" + + "\x06not_in\x18\a \x03(\aBh\xc2He\n" + + "c\n" + + "\x0efixed32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x126\n" + + "\aexample\x18\b \x03(\aB\x1c\xc2H\x19\n" + + "\x17\n" + + "\x0ffixed32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xdc\x15\n" + + "\fFixed64Rules\x12\x8c\x01\n" + + "\x05const\x18\x01 \x01(\x06Bv\xc2Hs\n" + + "q\n" + + "\rfixed64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x90\x01\n" + + "\x02lt\x18\x02 \x01(\x06B~\xc2H{\n" + + "y\n" + + "\n" + + "fixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa3\x01\n" + + "\x03lte\x18\x03 \x01(\x06B\x8e\x01\xc2H\x8a\x01\n" + + "\x87\x01\n" + + "\vfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa5\a\n" + + "\x02gt\x18\x04 \x01(\x06B\x92\a\xc2H\x8e\a\n" + + "|\n" + + "\n" + + "fixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb5\x01\n" + + "\rfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbd\x01\n" + + "\x17fixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc5\x01\n" + + "\x0efixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcd\x01\n" + + "\x18fixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xf2\a\n" + + "\x03gte\x18\x05 \x01(\x06B\xdd\a\xc2H\xd9\a\n" + + "\x8a\x01\n" + + "\vfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc4\x01\n" + + "\x0efixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcc\x01\n" + + "\x18fixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd4\x01\n" + + "\x0ffixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdc\x01\n" + + "\x19fixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x85\x01\n" + + "\x02in\x18\x06 \x03(\x06Bu\xc2Hr\n" + + "p\n" + + "\n" + + "fixed64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x7f\n" + + "\x06not_in\x18\a \x03(\x06Bh\xc2He\n" + + "c\n" + + "\x0efixed64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x126\n" + + "\aexample\x18\b \x03(\x06B\x1c\xc2H\x19\n" + + "\x17\n" + + "\x0ffixed64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xee\x15\n" + + "\rSFixed32Rules\x12\x8d\x01\n" + + "\x05const\x18\x01 \x01(\x0fBw\xc2Ht\n" + + "r\n" + + "\x0esfixed32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x91\x01\n" + + "\x02lt\x18\x02 \x01(\x0fB\x7f\xc2H|\n" + + "z\n" + + "\vsfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa4\x01\n" + + "\x03lte\x18\x03 \x01(\x0fB\x8f\x01\xc2H\x8b\x01\n" + + "\x88\x01\n" + + "\fsfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xaa\a\n" + + "\x02gt\x18\x04 \x01(\x0fB\x97\a\xc2H\x93\a\n" + + "}\n" + + "\vsfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb6\x01\n" + + "\x0esfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbe\x01\n" + + "\x18sfixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc6\x01\n" + + "\x0fsfixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xce\x01\n" + + "\x19sfixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xf7\a\n" + + "\x03gte\x18\x05 \x01(\x0fB\xe2\a\xc2H\xde\a\n" + + "\x8b\x01\n" + + "\fsfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc5\x01\n" + + "\x0fsfixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcd\x01\n" + + "\x19sfixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd5\x01\n" + + "\x10sfixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdd\x01\n" + + "\x1asfixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x86\x01\n" + + "\x02in\x18\x06 \x03(\x0fBv\xc2Hs\n" + + "q\n" + + "\vsfixed32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x80\x01\n" + + "\x06not_in\x18\a \x03(\x0fBi\xc2Hf\n" + + "d\n" + + "\x0fsfixed32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x127\n" + + "\aexample\x18\b \x03(\x0fB\x1d\xc2H\x1a\n" + + "\x18\n" + + "\x10sfixed32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xee\x15\n" + + "\rSFixed64Rules\x12\x8d\x01\n" + + "\x05const\x18\x01 \x01(\x10Bw\xc2Ht\n" + + "r\n" + + "\x0esfixed64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x91\x01\n" + + "\x02lt\x18\x02 \x01(\x10B\x7f\xc2H|\n" + + "z\n" + + "\vsfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa4\x01\n" + + "\x03lte\x18\x03 \x01(\x10B\x8f\x01\xc2H\x8b\x01\n" + + "\x88\x01\n" + + "\fsfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xaa\a\n" + + "\x02gt\x18\x04 \x01(\x10B\x97\a\xc2H\x93\a\n" + + "}\n" + + "\vsfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb6\x01\n" + + "\x0esfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbe\x01\n" + + "\x18sfixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc6\x01\n" + + "\x0fsfixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xce\x01\n" + + "\x19sfixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xf7\a\n" + + "\x03gte\x18\x05 \x01(\x10B\xe2\a\xc2H\xde\a\n" + + "\x8b\x01\n" + + "\fsfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc5\x01\n" + + "\x0fsfixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcd\x01\n" + + "\x19sfixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd5\x01\n" + + "\x10sfixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdd\x01\n" + + "\x1asfixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x86\x01\n" + + "\x02in\x18\x06 \x03(\x10Bv\xc2Hs\n" + + "q\n" + + "\vsfixed64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x80\x01\n" + + "\x06not_in\x18\a \x03(\x10Bi\xc2Hf\n" + + "d\n" + + "\x0fsfixed64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x127\n" + + "\aexample\x18\b \x03(\x10B\x1d\xc2H\x1a\n" + + "\x18\n" + + "\x10sfixed64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xd7\x01\n" + + "\tBoolRules\x12\x89\x01\n" + + "\x05const\x18\x01 \x01(\bBs\xc2Hp\n" + + "n\n" + + "\n" + + "bool.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x123\n" + + "\aexample\x18\x02 \x03(\bB\x19\xc2H\x16\n" + + "\x14\n" + + "\fbool.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xd19\n" + + "\vStringRules\x12\x8d\x01\n" + + "\x05const\x18\x01 \x01(\tBw\xc2Ht\n" + + "r\n" + + "\fstring.const\x1abthis != getField(rules, 'const') ? 'value must equal `%s`'.format([getField(rules, 'const')]) : ''R\x05const\x12\x83\x01\n" + + "\x03len\x18\x13 \x01(\x04Bq\xc2Hn\n" + + "l\n" + + "\n" + + "string.len\x1a^uint(this.size()) != rules.len ? 'value length must be %s characters'.format([rules.len]) : ''R\x03len\x12\xa1\x01\n" + + "\amin_len\x18\x02 \x01(\x04B\x87\x01\xc2H\x83\x01\n" + + "\x80\x01\n" + + "\x0estring.min_len\x1anuint(this.size()) < rules.min_len ? 'value length must be at least %s characters'.format([rules.min_len]) : ''R\x06minLen\x12\x9f\x01\n" + + "\amax_len\x18\x03 \x01(\x04B\x85\x01\xc2H\x81\x01\n" + + "\x7f\n" + + "\x0estring.max_len\x1amuint(this.size()) > rules.max_len ? 'value length must be at most %s characters'.format([rules.max_len]) : ''R\x06maxLen\x12\xa5\x01\n" + + "\tlen_bytes\x18\x14 \x01(\x04B\x87\x01\xc2H\x83\x01\n" + + "\x80\x01\n" + + "\x10string.len_bytes\x1aluint(bytes(this).size()) != rules.len_bytes ? 'value length must be %s bytes'.format([rules.len_bytes]) : ''R\blenBytes\x12\xad\x01\n" + + "\tmin_bytes\x18\x04 \x01(\x04B\x8f\x01\xc2H\x8b\x01\n" + + "\x88\x01\n" + + "\x10string.min_bytes\x1atuint(bytes(this).size()) < rules.min_bytes ? 'value length must be at least %s bytes'.format([rules.min_bytes]) : ''R\bminBytes\x12\xac\x01\n" + + "\tmax_bytes\x18\x05 \x01(\x04B\x8e\x01\xc2H\x8a\x01\n" + + "\x87\x01\n" + + "\x10string.max_bytes\x1asuint(bytes(this).size()) > rules.max_bytes ? 'value length must be at most %s bytes'.format([rules.max_bytes]) : ''R\bmaxBytes\x12\x96\x01\n" + + "\apattern\x18\x06 \x01(\tB|\xc2Hy\n" + + "w\n" + + "\x0estring.pattern\x1ae!this.matches(rules.pattern) ? 'value does not match regex pattern `%s`'.format([rules.pattern]) : ''R\apattern\x12\x8c\x01\n" + + "\x06prefix\x18\a \x01(\tBt\xc2Hq\n" + + "o\n" + + "\rstring.prefix\x1a^!this.startsWith(rules.prefix) ? 'value does not have prefix `%s`'.format([rules.prefix]) : ''R\x06prefix\x12\x8a\x01\n" + + "\x06suffix\x18\b \x01(\tBr\xc2Ho\n" + + "m\n" + + "\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? 'value does not have suffix `%s`'.format([rules.suffix]) : ''R\x06suffix\x12\x9a\x01\n" + + "\bcontains\x18\t \x01(\tB~\xc2H{\n" + + "y\n" + + "\x0fstring.contains\x1af!this.contains(rules.contains) ? 'value does not contain substring `%s`'.format([rules.contains]) : ''R\bcontains\x12\xa5\x01\n" + + "\fnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n" + + "|\n" + + "\x13string.not_contains\x1aethis.contains(rules.not_contains) ? 'value contains substring `%s`'.format([rules.not_contains]) : ''R\vnotContains\x12\x84\x01\n" + + "\x02in\x18\n" + + " \x03(\tBt\xc2Hq\n" + + "o\n" + + "\tstring.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\v \x03(\tBg\xc2Hd\n" + + "b\n" + + "\rstring.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12\xe6\x01\n" + + "\x05email\x18\f \x01(\bB\xcd\x01\xc2H\xc9\x01\n" + + "a\n" + + "\fstring.email\x12#value must be a valid email address\x1a,!rules.email || this == '' || this.isEmail()\n" + + "d\n" + + "\x12string.email_empty\x122value is empty, which is not a valid email address\x1a\x1a!rules.email || this != ''H\x00R\x05email\x12\xf1\x01\n" + + "\bhostname\x18\r \x01(\bB\xd2\x01\xc2H\xce\x01\n" + + "e\n" + + "\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a2!rules.hostname || this == '' || this.isHostname()\n" + + "e\n" + + "\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != ''H\x00R\bhostname\x12\xcb\x01\n" + + "\x02ip\x18\x0e \x01(\bB\xb8\x01\xc2H\xb4\x01\n" + + "U\n" + + "\tstring.ip\x12 value must be a valid IP address\x1a&!rules.ip || this == '' || this.isIp()\n" + + "[\n" + + "\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x17!rules.ip || this != ''H\x00R\x02ip\x12\xdc\x01\n" + + "\x04ipv4\x18\x0f \x01(\bB\xc5\x01\xc2H\xc1\x01\n" + + "\\\n" + + "\vstring.ipv4\x12\"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == '' || this.isIp(4)\n" + + "a\n" + + "\x11string.ipv4_empty\x121value is empty, which is not a valid IPv4 address\x1a\x19!rules.ipv4 || this != ''H\x00R\x04ipv4\x12\xdc\x01\n" + + "\x04ipv6\x18\x10 \x01(\bB\xc5\x01\xc2H\xc1\x01\n" + + "\\\n" + + "\vstring.ipv6\x12\"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == '' || this.isIp(6)\n" + + "a\n" + + "\x11string.ipv6_empty\x121value is empty, which is not a valid IPv6 address\x1a\x19!rules.ipv6 || this != ''H\x00R\x04ipv6\x12\xc4\x01\n" + + "\x03uri\x18\x11 \x01(\bB\xaf\x01\xc2H\xab\x01\n" + + "Q\n" + + "\n" + + "string.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == '' || this.isUri()\n" + + "V\n" + + "\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != ''H\x00R\x03uri\x12x\n" + + "\auri_ref\x18\x12 \x01(\bB]\xc2HZ\n" + + "X\n" + + "\x0estring.uri_ref\x12#value must be a valid URI Reference\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x99\x02\n" + + "\aaddress\x18\x15 \x01(\bB\xfc\x01\xc2H\xf8\x01\n" + + "\x81\x01\n" + + "\x0estring.address\x12-value must be a valid hostname, or ip address\x1a@!rules.address || this == '' || this.isHostname() || this.isIp()\n" + + "r\n" + + "\x14string.address_empty\x12<value is empty, which is not a valid hostname, or ip address\x1a\x1c!rules.address || this != ''H\x00R\aaddress\x12\x9e\x02\n" + + "\x04uuid\x18\x16 \x01(\bB\x87\x02\xc2H\x83\x02\n" + + "\xa5\x01\n" + + "\vstring.uuid\x12\x1avalue must be a valid UUID\x1az!rules.uuid || this == '' || this.matches('^[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}$')\n" + + "Y\n" + + "\x11string.uuid_empty\x12)value is empty, which is not a valid UUID\x1a\x19!rules.uuid || this != ''H\x00R\x04uuid\x12\xf7\x01\n" + + "\x05tuuid\x18! \x01(\bB\xde\x01\xc2H\xda\x01\n" + + "s\n" + + "\fstring.tuuid\x12\"value must be a valid trimmed UUID\x1a?!rules.tuuid || this == '' || this.matches('^[0-9a-fA-F]{32}$')\n" + + "c\n" + + "\x12string.tuuid_empty\x121value is empty, which is not a valid trimmed UUID\x1a\x1a!rules.tuuid || this != ''H\x00R\x05tuuid\x12\xa7\x02\n" + + "\x11ip_with_prefixlen\x18\x1a \x01(\bB\xf8\x01\xc2H\xf4\x01\n" + + "x\n" + + "\x18string.ip_with_prefixlen\x12\x1fvalue must be a valid IP prefix\x1a;!rules.ip_with_prefixlen || this == '' || this.isIpPrefix()\n" + + "x\n" + + "\x1estring.ip_with_prefixlen_empty\x12.value is empty, which is not a valid IP prefix\x1a&!rules.ip_with_prefixlen || this != ''H\x00R\x0fipWithPrefixlen\x12\xe2\x02\n" + + "\x13ipv4_with_prefixlen\x18\x1b \x01(\bB\xaf\x02\xc2H\xab\x02\n" + + "\x93\x01\n" + + "\x1astring.ipv4_with_prefixlen\x125value must be a valid IPv4 address with prefix length\x1a>!rules.ipv4_with_prefixlen || this == '' || this.isIpPrefix(4)\n" + + "\x92\x01\n" + + " string.ipv4_with_prefixlen_empty\x12Dvalue is empty, which is not a valid IPv4 address with prefix length\x1a(!rules.ipv4_with_prefixlen || this != ''H\x00R\x11ipv4WithPrefixlen\x12\xe2\x02\n" + + "\x13ipv6_with_prefixlen\x18\x1c \x01(\bB\xaf\x02\xc2H\xab\x02\n" + + "\x93\x01\n" + + "\x1astring.ipv6_with_prefixlen\x125value must be a valid IPv6 address with prefix length\x1a>!rules.ipv6_with_prefixlen || this == '' || this.isIpPrefix(6)\n" + + "\x92\x01\n" + + " string.ipv6_with_prefixlen_empty\x12Dvalue is empty, which is not a valid IPv6 address with prefix length\x1a(!rules.ipv6_with_prefixlen || this != ''H\x00R\x11ipv6WithPrefixlen\x12\xfc\x01\n" + + "\tip_prefix\x18\x1d \x01(\bB\xdc\x01\xc2H\xd8\x01\n" + + "l\n" + + "\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a7!rules.ip_prefix || this == '' || this.isIpPrefix(true)\n" + + "h\n" + + "\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != ''H\x00R\bipPrefix\x12\x8f\x02\n" + + "\vipv4_prefix\x18\x1e \x01(\bB\xeb\x01\xc2H\xe7\x01\n" + + "u\n" + + "\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a<!rules.ipv4_prefix || this == '' || this.isIpPrefix(4, true)\n" + + "n\n" + + "\x18string.ipv4_prefix_empty\x120value is empty, which is not a valid IPv4 prefix\x1a !rules.ipv4_prefix || this != ''H\x00R\n" + + "ipv4Prefix\x12\x8f\x02\n" + + "\vipv6_prefix\x18\x1f \x01(\bB\xeb\x01\xc2H\xe7\x01\n" + + "u\n" + + "\x12string.ipv6_prefix\x12!value must be a valid IPv6 prefix\x1a<!rules.ipv6_prefix || this == '' || this.isIpPrefix(6, true)\n" + + "n\n" + + "\x18string.ipv6_prefix_empty\x120value is empty, which is not a valid IPv6 prefix\x1a !rules.ipv6_prefix || this != ''H\x00R\n" + + "ipv6Prefix\x12\xc2\x02\n" + + "\rhost_and_port\x18 \x01(\bB\x9b\x02\xc2H\x97\x02\n" + + "\x99\x01\n" + + "\x14string.host_and_port\x12Avalue must be a valid host (hostname or IP address) and port pair\x1a>!rules.host_and_port || this == '' || this.isHostAndPort(true)\n" + + "y\n" + + "\x1astring.host_and_port_empty\x127value is empty, which is not a valid host and port pair\x1a\"!rules.host_and_port || this != ''H\x00R\vhostAndPort\x12\xb8\x05\n" + + "\x10well_known_regex\x18\x18 \x01(\x0e2\x18.buf.validate.KnownRegexB\xf1\x04\xc2H\xed\x04\n" + + "\xf0\x01\n" + + "#string.well_known_regex.header_name\x12&value must be a valid HTTP header name\x1a\xa0\x01rules.well_known_regex != 1 || this == '' || this.matches(!has(rules.strict) || rules.strict ?'^:?[0-9a-zA-Z!#$%&\\'*+-.^_|~\\x60]+$' :'^[^\\u0000\\u000A\\u000D]+$')\n" + + "\x8d\x01\n" + + ")string.well_known_regex.header_name_empty\x125value is empty, which is not a valid HTTP header name\x1a)rules.well_known_regex != 1 || this != ''\n" + + "\xe7\x01\n" + + "$string.well_known_regex.header_value\x12'value must be a valid HTTP header value\x1a\x95\x01rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$' :'^[^\\u0000\\u000A\\u000D]*$')H\x00R\x0ewellKnownRegex\x12\x16\n" + + "\x06strict\x18\x19 \x01(\bR\x06strict\x125\n" + + "\aexample\x18\" \x03(\tB\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0estring.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\f\n" + + "\n" + + "well_known\"\xce\x11\n" + + "\n" + + "BytesRules\x12\x87\x01\n" + + "\x05const\x18\x01 \x01(\fBq\xc2Hn\n" + + "l\n" + + "\vbytes.const\x1a]this != getField(rules, 'const') ? 'value must be %x'.format([getField(rules, 'const')]) : ''R\x05const\x12}\n" + + "\x03len\x18\r \x01(\x04Bk\xc2Hh\n" + + "f\n" + + "\tbytes.len\x1aYuint(this.size()) != rules.len ? 'value length must be %s bytes'.format([rules.len]) : ''R\x03len\x12\x98\x01\n" + + "\amin_len\x18\x02 \x01(\x04B\x7f\xc2H|\n" + + "z\n" + + "\rbytes.min_len\x1aiuint(this.size()) < rules.min_len ? 'value length must be at least %s bytes'.format([rules.min_len]) : ''R\x06minLen\x12\x90\x01\n" + + "\amax_len\x18\x03 \x01(\x04Bw\xc2Ht\n" + + "r\n" + + "\rbytes.max_len\x1aauint(this.size()) > rules.max_len ? 'value must be at most %s bytes'.format([rules.max_len]) : ''R\x06maxLen\x12\x99\x01\n" + + "\apattern\x18\x04 \x01(\tB\x7f\xc2H|\n" + + "z\n" + + "\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? 'value must match regex pattern `%s`'.format([rules.pattern]) : ''R\apattern\x12\x89\x01\n" + + "\x06prefix\x18\x05 \x01(\fBq\xc2Hn\n" + + "l\n" + + "\fbytes.prefix\x1a\\!this.startsWith(rules.prefix) ? 'value does not have prefix %x'.format([rules.prefix]) : ''R\x06prefix\x12\x87\x01\n" + + "\x06suffix\x18\x06 \x01(\fBo\xc2Hl\n" + + "j\n" + + "\fbytes.suffix\x1aZ!this.endsWith(rules.suffix) ? 'value does not have suffix %x'.format([rules.suffix]) : ''R\x06suffix\x12\x8d\x01\n" + + "\bcontains\x18\a \x01(\fBq\xc2Hn\n" + + "l\n" + + "\x0ebytes.contains\x1aZ!this.contains(rules.contains) ? 'value does not contain %x'.format([rules.contains]) : ''R\bcontains\x12\xab\x01\n" + + "\x02in\x18\b \x03(\fB\x9a\x01\xc2H\x96\x01\n" + + "\x93\x01\n" + + "\bbytes.in\x1a\x86\x01getField(rules, 'in').size() > 0 && !(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12}\n" + + "\x06not_in\x18\t \x03(\fBf\xc2Hc\n" + + "a\n" + + "\fbytes.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12\xef\x01\n" + + "\x02ip\x18\n" + + " \x01(\bB\xdc\x01\xc2H\xd8\x01\n" + + "t\n" + + "\bbytes.ip\x12 value must be a valid IP address\x1aF!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n" + + "`\n" + + "\x0ebytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x1d!rules.ip || this.size() != 0H\x00R\x02ip\x12\xea\x01\n" + + "\x04ipv4\x18\v \x01(\bB\xd3\x01\xc2H\xcf\x01\n" + + "e\n" + + "\n" + + "bytes.ipv4\x12\"value must be a valid IPv4 address\x1a3!rules.ipv4 || this.size() == 0 || this.size() == 4\n" + + "f\n" + + "\x10bytes.ipv4_empty\x121value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xeb\x01\n" + + "\x04ipv6\x18\f \x01(\bB\xd4\x01\xc2H\xd0\x01\n" + + "f\n" + + "\n" + + "bytes.ipv6\x12\"value must be a valid IPv6 address\x1a4!rules.ipv6 || this.size() == 0 || this.size() == 16\n" + + "f\n" + + "\x10bytes.ipv6_empty\x121value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x124\n" + + "\aexample\x18\x0e \x03(\fB\x1a\xc2H\x17\n" + + "\x15\n" + + "\rbytes.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\f\n" + + "\n" + + "well_known\"\xfd\x03\n" + + "\tEnumRules\x12\x89\x01\n" + + "\x05const\x18\x01 \x01(\x05Bs\xc2Hp\n" + + "n\n" + + "\n" + + "enum.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12!\n" + + "\fdefined_only\x18\x02 \x01(\bR\vdefinedOnly\x12\x82\x01\n" + + "\x02in\x18\x03 \x03(\x05Br\xc2Ho\n" + + "m\n" + + "\aenum.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12|\n" + + "\x06not_in\x18\x04 \x03(\x05Be\xc2Hb\n" + + "`\n" + + "\venum.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x123\n" + + "\aexample\x18\x05 \x03(\x05B\x19\xc2H\x16\n" + + "\x14\n" + + "\fenum.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\x9e\x04\n" + + "\rRepeatedRules\x12\xa8\x01\n" + + "\tmin_items\x18\x01 \x01(\x04B\x8a\x01\xc2H\x86\x01\n" + + "\x83\x01\n" + + "\x12repeated.min_items\x1amuint(this.size()) < rules.min_items ? 'value must contain at least %d item(s)'.format([rules.min_items]) : ''R\bminItems\x12\xac\x01\n" + + "\tmax_items\x18\x02 \x01(\x04B\x8e\x01\xc2H\x8a\x01\n" + + "\x87\x01\n" + + "\x12repeated.max_items\x1aquint(this.size()) > rules.max_items ? 'value must contain no more than %s item(s)'.format([rules.max_items]) : ''R\bmaxItems\x12x\n" + + "\x06unique\x18\x03 \x01(\bB`\xc2H]\n" + + "[\n" + + "\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12.\n" + + "\x05items\x18\x04 \x01(\v2\x18.buf.validate.FieldRulesR\x05items*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xac\x03\n" + + "\bMapRules\x12\x99\x01\n" + + "\tmin_pairs\x18\x01 \x01(\x04B|\xc2Hy\n" + + "w\n" + + "\rmap.min_pairs\x1afuint(this.size()) < rules.min_pairs ? 'map must be at least %d entries'.format([rules.min_pairs]) : ''R\bminPairs\x12\x98\x01\n" + + "\tmax_pairs\x18\x02 \x01(\x04B{\xc2Hx\n" + + "v\n" + + "\rmap.max_pairs\x1aeuint(this.size()) > rules.max_pairs ? 'map must be at most %d entries'.format([rules.max_pairs]) : ''R\bmaxPairs\x12,\n" + + "\x04keys\x18\x04 \x01(\v2\x18.buf.validate.FieldRulesR\x04keys\x120\n" + + "\x06values\x18\x05 \x01(\v2\x18.buf.validate.FieldRulesR\x06values*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"1\n" + + "\bAnyRules\x12\x0e\n" + + "\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n" + + "\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xc6\x17\n" + + "\rDurationRules\x12\xa8\x01\n" + + "\x05const\x18\x02 \x01(\v2\x19.google.protobuf.DurationBw\xc2Ht\n" + + "r\n" + + "\x0eduration.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\xac\x01\n" + + "\x02lt\x18\x03 \x01(\v2\x19.google.protobuf.DurationB\x7f\xc2H|\n" + + "z\n" + + "\vduration.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xbf\x01\n" + + "\x03lte\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n" + + "\x88\x01\n" + + "\fduration.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xc5\a\n" + + "\x02gt\x18\x05 \x01(\v2\x19.google.protobuf.DurationB\x97\a\xc2H\x93\a\n" + + "}\n" + + "\vduration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb6\x01\n" + + "\x0eduration.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbe\x01\n" + + "\x18duration.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc6\x01\n" + + "\x0fduration.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xce\x01\n" + + "\x19duration.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\x92\b\n" + + "\x03gte\x18\x06 \x01(\v2\x19.google.protobuf.DurationB\xe2\a\xc2H\xde\a\n" + + "\x8b\x01\n" + + "\fduration.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc5\x01\n" + + "\x0fduration.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcd\x01\n" + + "\x19duration.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd5\x01\n" + + "\x10duration.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdd\x01\n" + + "\x1aduration.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\xa1\x01\n" + + "\x02in\x18\a \x03(\v2\x19.google.protobuf.DurationBv\xc2Hs\n" + + "q\n" + + "\vduration.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x9b\x01\n" + + "\x06not_in\x18\b \x03(\v2\x19.google.protobuf.DurationBi\xc2Hf\n" + + "d\n" + + "\x0fduration.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12R\n" + + "\aexample\x18\t \x03(\v2\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n" + + "\x18\n" + + "\x10duration.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xca\x18\n" + + "\x0eTimestampRules\x12\xaa\x01\n" + + "\x05const\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampBx\xc2Hu\n" + + "s\n" + + "\x0ftimestamp.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\xaf\x01\n" + + "\x02lt\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n" + + "{\n" + + "\ftimestamp.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xc1\x01\n" + + "\x03lte\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampB\x90\x01\xc2H\x8c\x01\n" + + "\x89\x01\n" + + "\rtimestamp.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12s\n" + + "\x06lt_now\x18\a \x01(\bBZ\xc2HW\n" + + "U\n" + + "\x10timestamp.lt_now\x1aA(rules.lt_now && this > now) ? 'value must be less than now' : ''H\x00R\x05ltNow\x12\xcb\a\n" + + "\x02gt\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampB\x9c\a\xc2H\x98\a\n" + + "~\n" + + "\ftimestamp.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb7\x01\n" + + "\x0ftimestamp.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbf\x01\n" + + "\x19timestamp.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc7\x01\n" + + "\x10timestamp.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcf\x01\n" + + "\x1atimestamp.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\x98\b\n" + + "\x03gte\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampB\xe7\a\xc2H\xe3\a\n" + + "\x8c\x01\n" + + "\rtimestamp.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc6\x01\n" + + "\x10timestamp.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xce\x01\n" + + "\x1atimestamp.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd6\x01\n" + + "\x11timestamp.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xde\x01\n" + + "\x1btimestamp.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12v\n" + + "\x06gt_now\x18\b \x01(\bB]\xc2HZ\n" + + "X\n" + + "\x10timestamp.gt_now\x1aD(rules.gt_now && this < now) ? 'value must be greater than now' : ''H\x01R\x05gtNow\x12\xc0\x01\n" + + "\x06within\x18\t \x01(\v2\x19.google.protobuf.DurationB\x8c\x01\xc2H\x88\x01\n" + + "\x85\x01\n" + + "\x10timestamp.within\x1aqthis < now-rules.within || this > now+rules.within ? 'value must be within %s of now'.format([rules.within]) : ''R\x06within\x12T\n" + + "\aexample\x18\n" + + " \x03(\v2\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n" + + "\x19\n" + + "\x11timestamp.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"E\n" + + "\n" + + "Violations\x127\n" + + "\n" + + "violations\x18\x01 \x03(\v2\x17.buf.validate.ViolationR\n" + + "violations\"\xc5\x01\n" + + "\tViolation\x12-\n" + + "\x05field\x18\x05 \x01(\v2\x17.buf.validate.FieldPathR\x05field\x12+\n" + + "\x04rule\x18\x06 \x01(\v2\x17.buf.validate.FieldPathR\x04rule\x12\x17\n" + + "\arule_id\x18\x02 \x01(\tR\x06ruleId\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12\x17\n" + + "\afor_key\x18\x04 \x01(\bR\x06forKeyJ\x04\b\x01\x10\x02R\n" + + "field_path\"G\n" + + "\tFieldPath\x12:\n" + + "\belements\x18\x01 \x03(\v2\x1e.buf.validate.FieldPathElementR\belements\"\xcc\x03\n" + + "\x10FieldPathElement\x12!\n" + + "\ffield_number\x18\x01 \x01(\x05R\vfieldNumber\x12\x1d\n" + + "\n" + + "field_name\x18\x02 \x01(\tR\tfieldName\x12I\n" + + "\n" + + "field_type\x18\x03 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\tfieldType\x12E\n" + + "\bkey_type\x18\x04 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\akeyType\x12I\n" + + "\n" + + "value_type\x18\x05 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\tvalueType\x12\x16\n" + + "\x05index\x18\x06 \x01(\x04H\x00R\x05index\x12\x1b\n" + + "\bbool_key\x18\a \x01(\bH\x00R\aboolKey\x12\x19\n" + + "\aint_key\x18\b \x01(\x03H\x00R\x06intKey\x12\x1b\n" + + "\buint_key\x18\t \x01(\x04H\x00R\auintKey\x12\x1f\n" + + "\n" + + "string_key\x18\n" + + " \x01(\tH\x00R\tstringKeyB\v\n" + + "\tsubscript*\x87\x01\n" + + "\x06Ignore\x12\x16\n" + + "\x12IGNORE_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15IGNORE_IF_UNPOPULATED\x10\x01\x12\x1b\n" + + "\x17IGNORE_IF_DEFAULT_VALUE\x10\x02\x12\x11\n" + + "\rIGNORE_ALWAYS\x10\x03*\x1aIGNORE_EMPTYIGNORE_DEFAULT*n\n" + + "\n" + + "KnownRegex\x12\x1b\n" + + "\x17KNOWN_REGEX_UNSPECIFIED\x10\x00\x12 \n" + + "\x1cKNOWN_REGEX_HTTP_HEADER_NAME\x10\x01\x12!\n" + + "\x1dKNOWN_REGEX_HTTP_HEADER_VALUE\x10\x02:V\n" + + "\amessage\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\v2\x1a.buf.validate.MessageRulesR\amessage:N\n" + + "\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\v2\x18.buf.validate.OneofRulesR\x05oneof:N\n" + + "\x05field\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\v2\x18.buf.validate.FieldRulesR\x05field:]\n" + + "\n" + + "predefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\v2\x1d.buf.validate.PredefinedRulesR\n" + + "predefinedBn\n" + + "\x12build.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" + +var file_buf_validate_validate_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_buf_validate_validate_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_buf_validate_validate_proto_goTypes = []any{ + (Ignore)(0), // 0: buf.validate.Ignore + (KnownRegex)(0), // 1: buf.validate.KnownRegex + (*Rule)(nil), // 2: buf.validate.Rule + (*MessageRules)(nil), // 3: buf.validate.MessageRules + (*MessageOneofRule)(nil), // 4: buf.validate.MessageOneofRule + (*OneofRules)(nil), // 5: buf.validate.OneofRules + (*FieldRules)(nil), // 6: buf.validate.FieldRules + (*PredefinedRules)(nil), // 7: buf.validate.PredefinedRules + (*FloatRules)(nil), // 8: buf.validate.FloatRules + (*DoubleRules)(nil), // 9: buf.validate.DoubleRules + (*Int32Rules)(nil), // 10: buf.validate.Int32Rules + (*Int64Rules)(nil), // 11: buf.validate.Int64Rules + (*UInt32Rules)(nil), // 12: buf.validate.UInt32Rules + (*UInt64Rules)(nil), // 13: buf.validate.UInt64Rules + (*SInt32Rules)(nil), // 14: buf.validate.SInt32Rules + (*SInt64Rules)(nil), // 15: buf.validate.SInt64Rules + (*Fixed32Rules)(nil), // 16: buf.validate.Fixed32Rules + (*Fixed64Rules)(nil), // 17: buf.validate.Fixed64Rules + (*SFixed32Rules)(nil), // 18: buf.validate.SFixed32Rules + (*SFixed64Rules)(nil), // 19: buf.validate.SFixed64Rules + (*BoolRules)(nil), // 20: buf.validate.BoolRules + (*StringRules)(nil), // 21: buf.validate.StringRules + (*BytesRules)(nil), // 22: buf.validate.BytesRules + (*EnumRules)(nil), // 23: buf.validate.EnumRules + (*RepeatedRules)(nil), // 24: buf.validate.RepeatedRules + (*MapRules)(nil), // 25: buf.validate.MapRules + (*AnyRules)(nil), // 26: buf.validate.AnyRules + (*DurationRules)(nil), // 27: buf.validate.DurationRules + (*TimestampRules)(nil), // 28: buf.validate.TimestampRules + (*Violations)(nil), // 29: buf.validate.Violations + (*Violation)(nil), // 30: buf.validate.Violation + (*FieldPath)(nil), // 31: buf.validate.FieldPath + (*FieldPathElement)(nil), // 32: buf.validate.FieldPathElement + (*durationpb.Duration)(nil), // 33: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp + (descriptorpb.FieldDescriptorProto_Type)(0), // 35: google.protobuf.FieldDescriptorProto.Type + (*descriptorpb.MessageOptions)(nil), // 36: google.protobuf.MessageOptions + (*descriptorpb.OneofOptions)(nil), // 37: google.protobuf.OneofOptions + (*descriptorpb.FieldOptions)(nil), // 38: google.protobuf.FieldOptions +} +var file_buf_validate_validate_proto_depIdxs = []int32{ + 2, // 0: buf.validate.MessageRules.cel:type_name -> buf.validate.Rule + 4, // 1: buf.validate.MessageRules.oneof:type_name -> buf.validate.MessageOneofRule + 2, // 2: buf.validate.FieldRules.cel:type_name -> buf.validate.Rule + 0, // 3: buf.validate.FieldRules.ignore:type_name -> buf.validate.Ignore + 8, // 4: buf.validate.FieldRules.float:type_name -> buf.validate.FloatRules + 9, // 5: buf.validate.FieldRules.double:type_name -> buf.validate.DoubleRules + 10, // 6: buf.validate.FieldRules.int32:type_name -> buf.validate.Int32Rules + 11, // 7: buf.validate.FieldRules.int64:type_name -> buf.validate.Int64Rules + 12, // 8: buf.validate.FieldRules.uint32:type_name -> buf.validate.UInt32Rules + 13, // 9: buf.validate.FieldRules.uint64:type_name -> buf.validate.UInt64Rules + 14, // 10: buf.validate.FieldRules.sint32:type_name -> buf.validate.SInt32Rules + 15, // 11: buf.validate.FieldRules.sint64:type_name -> buf.validate.SInt64Rules + 16, // 12: buf.validate.FieldRules.fixed32:type_name -> buf.validate.Fixed32Rules + 17, // 13: buf.validate.FieldRules.fixed64:type_name -> buf.validate.Fixed64Rules + 18, // 14: buf.validate.FieldRules.sfixed32:type_name -> buf.validate.SFixed32Rules + 19, // 15: buf.validate.FieldRules.sfixed64:type_name -> buf.validate.SFixed64Rules + 20, // 16: buf.validate.FieldRules.bool:type_name -> buf.validate.BoolRules + 21, // 17: buf.validate.FieldRules.string:type_name -> buf.validate.StringRules + 22, // 18: buf.validate.FieldRules.bytes:type_name -> buf.validate.BytesRules + 23, // 19: buf.validate.FieldRules.enum:type_name -> buf.validate.EnumRules + 24, // 20: buf.validate.FieldRules.repeated:type_name -> buf.validate.RepeatedRules + 25, // 21: buf.validate.FieldRules.map:type_name -> buf.validate.MapRules + 26, // 22: buf.validate.FieldRules.any:type_name -> buf.validate.AnyRules + 27, // 23: buf.validate.FieldRules.duration:type_name -> buf.validate.DurationRules + 28, // 24: buf.validate.FieldRules.timestamp:type_name -> buf.validate.TimestampRules + 2, // 25: buf.validate.PredefinedRules.cel:type_name -> buf.validate.Rule + 1, // 26: buf.validate.StringRules.well_known_regex:type_name -> buf.validate.KnownRegex + 6, // 27: buf.validate.RepeatedRules.items:type_name -> buf.validate.FieldRules + 6, // 28: buf.validate.MapRules.keys:type_name -> buf.validate.FieldRules + 6, // 29: buf.validate.MapRules.values:type_name -> buf.validate.FieldRules + 33, // 30: buf.validate.DurationRules.const:type_name -> google.protobuf.Duration + 33, // 31: buf.validate.DurationRules.lt:type_name -> google.protobuf.Duration + 33, // 32: buf.validate.DurationRules.lte:type_name -> google.protobuf.Duration + 33, // 33: buf.validate.DurationRules.gt:type_name -> google.protobuf.Duration + 33, // 34: buf.validate.DurationRules.gte:type_name -> google.protobuf.Duration + 33, // 35: buf.validate.DurationRules.in:type_name -> google.protobuf.Duration + 33, // 36: buf.validate.DurationRules.not_in:type_name -> google.protobuf.Duration + 33, // 37: buf.validate.DurationRules.example:type_name -> google.protobuf.Duration + 34, // 38: buf.validate.TimestampRules.const:type_name -> google.protobuf.Timestamp + 34, // 39: buf.validate.TimestampRules.lt:type_name -> google.protobuf.Timestamp + 34, // 40: buf.validate.TimestampRules.lte:type_name -> google.protobuf.Timestamp + 34, // 41: buf.validate.TimestampRules.gt:type_name -> google.protobuf.Timestamp + 34, // 42: buf.validate.TimestampRules.gte:type_name -> google.protobuf.Timestamp + 33, // 43: buf.validate.TimestampRules.within:type_name -> google.protobuf.Duration + 34, // 44: buf.validate.TimestampRules.example:type_name -> google.protobuf.Timestamp + 30, // 45: buf.validate.Violations.violations:type_name -> buf.validate.Violation + 31, // 46: buf.validate.Violation.field:type_name -> buf.validate.FieldPath + 31, // 47: buf.validate.Violation.rule:type_name -> buf.validate.FieldPath + 32, // 48: buf.validate.FieldPath.elements:type_name -> buf.validate.FieldPathElement + 35, // 49: buf.validate.FieldPathElement.field_type:type_name -> google.protobuf.FieldDescriptorProto.Type + 35, // 50: buf.validate.FieldPathElement.key_type:type_name -> google.protobuf.FieldDescriptorProto.Type + 35, // 51: buf.validate.FieldPathElement.value_type:type_name -> google.protobuf.FieldDescriptorProto.Type + 36, // 52: buf.validate.message:extendee -> google.protobuf.MessageOptions + 37, // 53: buf.validate.oneof:extendee -> google.protobuf.OneofOptions + 38, // 54: buf.validate.field:extendee -> google.protobuf.FieldOptions + 38, // 55: buf.validate.predefined:extendee -> google.protobuf.FieldOptions + 3, // 56: buf.validate.message:type_name -> buf.validate.MessageRules + 5, // 57: buf.validate.oneof:type_name -> buf.validate.OneofRules + 6, // 58: buf.validate.field:type_name -> buf.validate.FieldRules + 7, // 59: buf.validate.predefined:type_name -> buf.validate.PredefinedRules + 60, // [60:60] is the sub-list for method output_type + 60, // [60:60] is the sub-list for method input_type + 56, // [56:60] is the sub-list for extension type_name + 52, // [52:56] is the sub-list for extension extendee + 0, // [0:52] is the sub-list for field type_name +} + +func init() { file_buf_validate_validate_proto_init() } +func file_buf_validate_validate_proto_init() { + if File_buf_validate_validate_proto != nil { + return + } + file_buf_validate_validate_proto_msgTypes[4].OneofWrappers = []any{ + (*FieldRules_Float)(nil), + (*FieldRules_Double)(nil), + (*FieldRules_Int32)(nil), + (*FieldRules_Int64)(nil), + (*FieldRules_Uint32)(nil), + (*FieldRules_Uint64)(nil), + (*FieldRules_Sint32)(nil), + (*FieldRules_Sint64)(nil), + (*FieldRules_Fixed32)(nil), + (*FieldRules_Fixed64)(nil), + (*FieldRules_Sfixed32)(nil), + (*FieldRules_Sfixed64)(nil), + (*FieldRules_Bool)(nil), + (*FieldRules_String_)(nil), + (*FieldRules_Bytes)(nil), + (*FieldRules_Enum)(nil), + (*FieldRules_Repeated)(nil), + (*FieldRules_Map)(nil), + (*FieldRules_Any)(nil), + (*FieldRules_Duration)(nil), + (*FieldRules_Timestamp)(nil), + } + file_buf_validate_validate_proto_msgTypes[6].OneofWrappers = []any{ + (*FloatRules_Lt)(nil), + (*FloatRules_Lte)(nil), + (*FloatRules_Gt)(nil), + (*FloatRules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[7].OneofWrappers = []any{ + (*DoubleRules_Lt)(nil), + (*DoubleRules_Lte)(nil), + (*DoubleRules_Gt)(nil), + (*DoubleRules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[8].OneofWrappers = []any{ + (*Int32Rules_Lt)(nil), + (*Int32Rules_Lte)(nil), + (*Int32Rules_Gt)(nil), + (*Int32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[9].OneofWrappers = []any{ + (*Int64Rules_Lt)(nil), + (*Int64Rules_Lte)(nil), + (*Int64Rules_Gt)(nil), + (*Int64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[10].OneofWrappers = []any{ + (*UInt32Rules_Lt)(nil), + (*UInt32Rules_Lte)(nil), + (*UInt32Rules_Gt)(nil), + (*UInt32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[11].OneofWrappers = []any{ + (*UInt64Rules_Lt)(nil), + (*UInt64Rules_Lte)(nil), + (*UInt64Rules_Gt)(nil), + (*UInt64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[12].OneofWrappers = []any{ + (*SInt32Rules_Lt)(nil), + (*SInt32Rules_Lte)(nil), + (*SInt32Rules_Gt)(nil), + (*SInt32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[13].OneofWrappers = []any{ + (*SInt64Rules_Lt)(nil), + (*SInt64Rules_Lte)(nil), + (*SInt64Rules_Gt)(nil), + (*SInt64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[14].OneofWrappers = []any{ + (*Fixed32Rules_Lt)(nil), + (*Fixed32Rules_Lte)(nil), + (*Fixed32Rules_Gt)(nil), + (*Fixed32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[15].OneofWrappers = []any{ + (*Fixed64Rules_Lt)(nil), + (*Fixed64Rules_Lte)(nil), + (*Fixed64Rules_Gt)(nil), + (*Fixed64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[16].OneofWrappers = []any{ + (*SFixed32Rules_Lt)(nil), + (*SFixed32Rules_Lte)(nil), + (*SFixed32Rules_Gt)(nil), + (*SFixed32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[17].OneofWrappers = []any{ + (*SFixed64Rules_Lt)(nil), + (*SFixed64Rules_Lte)(nil), + (*SFixed64Rules_Gt)(nil), + (*SFixed64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[19].OneofWrappers = []any{ + (*StringRules_Email)(nil), + (*StringRules_Hostname)(nil), + (*StringRules_Ip)(nil), + (*StringRules_Ipv4)(nil), + (*StringRules_Ipv6)(nil), + (*StringRules_Uri)(nil), + (*StringRules_UriRef)(nil), + (*StringRules_Address)(nil), + (*StringRules_Uuid)(nil), + (*StringRules_Tuuid)(nil), + (*StringRules_IpWithPrefixlen)(nil), + (*StringRules_Ipv4WithPrefixlen)(nil), + (*StringRules_Ipv6WithPrefixlen)(nil), + (*StringRules_IpPrefix)(nil), + (*StringRules_Ipv4Prefix)(nil), + (*StringRules_Ipv6Prefix)(nil), + (*StringRules_HostAndPort)(nil), + (*StringRules_WellKnownRegex)(nil), + } + file_buf_validate_validate_proto_msgTypes[20].OneofWrappers = []any{ + (*BytesRules_Ip)(nil), + (*BytesRules_Ipv4)(nil), + (*BytesRules_Ipv6)(nil), + } + file_buf_validate_validate_proto_msgTypes[25].OneofWrappers = []any{ + (*DurationRules_Lt)(nil), + (*DurationRules_Lte)(nil), + (*DurationRules_Gt)(nil), + (*DurationRules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[26].OneofWrappers = []any{ + (*TimestampRules_Lt)(nil), + (*TimestampRules_Lte)(nil), + (*TimestampRules_LtNow)(nil), + (*TimestampRules_Gt)(nil), + (*TimestampRules_Gte)(nil), + (*TimestampRules_GtNow)(nil), + } + file_buf_validate_validate_proto_msgTypes[30].OneofWrappers = []any{ + (*FieldPathElement_Index)(nil), + (*FieldPathElement_BoolKey)(nil), + (*FieldPathElement_IntKey)(nil), + (*FieldPathElement_UintKey)(nil), + (*FieldPathElement_StringKey)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_buf_validate_validate_proto_rawDesc), len(file_buf_validate_validate_proto_rawDesc)), + NumEnums: 2, + NumMessages: 31, + NumExtensions: 4, + NumServices: 0, + }, + GoTypes: file_buf_validate_validate_proto_goTypes, + DependencyIndexes: file_buf_validate_validate_proto_depIdxs, + EnumInfos: file_buf_validate_validate_proto_enumTypes, + MessageInfos: file_buf_validate_validate_proto_msgTypes, + ExtensionInfos: file_buf_validate_validate_proto_extTypes, + }.Build() + File_buf_validate_validate_proto = out.File + file_buf_validate_validate_proto_goTypes = nil + file_buf_validate_validate_proto_depIdxs = nil +} diff --git a/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/validate_protoopaque.pb.go b/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/validate_protoopaque.pb.go new file mode 100644 index 00000000..85328ac6 --- /dev/null +++ b/vendor/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/validate_protoopaque.pb.go @@ -0,0 +1,15588 @@ +// Copyright 2023-2025 Buf Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.6 +// protoc (unknown) +// source: buf/validate/validate.proto + +//go:build protoopaque + +package validate + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Specifies how FieldRules.ignore behaves. See the documentation for +// FieldRules.required for definitions of "populated" and "nullable". +type Ignore int32 + +const ( + // Validation is only skipped if it's an unpopulated nullable field. + // + // ```proto + // syntax="proto3"; + // + // message Request { + // // The uri rule applies to any value, including the empty string. + // string foo = 1 [ + // (buf.validate.field).string.uri = true + // ]; + // + // // The uri rule only applies if the field is set, including if it's + // // set to the empty string. + // optional string bar = 2 [ + // (buf.validate.field).string.uri = true + // ]; + // + // // The min_items rule always applies, even if the list is empty. + // repeated string baz = 3 [ + // (buf.validate.field).repeated.min_items = 3 + // ]; + // + // // The custom CEL rule applies only if the field is set, including if + // // it's the "zero" value of that message. + // SomeMessage quux = 4 [ + // (buf.validate.field).cel = {/* ... */} + // ]; + // } + // + // ``` + Ignore_IGNORE_UNSPECIFIED Ignore = 0 + // Validation is skipped if the field is unpopulated. This rule is redundant + // if the field is already nullable. + // + // ```proto + // syntax="proto3 + // + // message Request { + // // The uri rule applies only if the value is not the empty string. + // string foo = 1 [ + // (buf.validate.field).string.uri = true, + // (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED + // ]; + // + // // IGNORE_IF_UNPOPULATED is equivalent to IGNORE_UNSPECIFIED in this + // // case: the uri rule only applies if the field is set, including if + // // it's set to the empty string. + // optional string bar = 2 [ + // (buf.validate.field).string.uri = true, + // (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED + // ]; + // + // // The min_items rule only applies if the list has at least one item. + // repeated string baz = 3 [ + // (buf.validate.field).repeated.min_items = 3, + // (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED + // ]; + // + // // IGNORE_IF_UNPOPULATED is equivalent to IGNORE_UNSPECIFIED in this + // // case: the custom CEL rule applies only if the field is set, including + // // if it's the "zero" value of that message. + // SomeMessage quux = 4 [ + // (buf.validate.field).cel = {/* ... */}, + // (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED + // ]; + // } + // + // ``` + Ignore_IGNORE_IF_UNPOPULATED Ignore = 1 + // Validation is skipped if the field is unpopulated or if it is a nullable + // field populated with its default value. This is typically the zero or + // empty value, but proto2 scalars support custom defaults. For messages, the + // default is a non-null message with all its fields unpopulated. + // + // ```proto + // syntax="proto3 + // + // message Request { + // // IGNORE_IF_DEFAULT_VALUE is equivalent to IGNORE_IF_UNPOPULATED in + // // this case; the uri rule applies only if the value is not the empty + // // string. + // string foo = 1 [ + // (buf.validate.field).string.uri = true, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // + // // The uri rule only applies if the field is set to a value other than + // // the empty string. + // optional string bar = 2 [ + // (buf.validate.field).string.uri = true, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // + // // IGNORE_IF_DEFAULT_VALUE is equivalent to IGNORE_IF_UNPOPULATED in + // // this case; the min_items rule only applies if the list has at least + // // one item. + // repeated string baz = 3 [ + // (buf.validate.field).repeated.min_items = 3, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // + // // The custom CEL rule only applies if the field is set to a value other + // // than an empty message (i.e., fields are unpopulated). + // SomeMessage quux = 4 [ + // (buf.validate.field).cel = {/* ... */}, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // } + // + // ``` + // + // This rule is affected by proto2 custom default values: + // + // ```proto + // syntax="proto2"; + // + // message Request { + // // The gt rule only applies if the field is set and it's value is not + // the default (i.e., not -42). The rule even applies if the field is set + // to zero since the default value differs. + // optional int32 value = 1 [ + // default = -42, + // (buf.validate.field).int32.gt = 0, + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE + // ]; + // } + Ignore_IGNORE_IF_DEFAULT_VALUE Ignore = 2 + // The validation rules of this field will be skipped and not evaluated. This + // is useful for situations that necessitate turning off the rules of a field + // containing a message that may not make sense in the current context, or to + // temporarily disable rules during development. + // + // ```proto + // + // message MyMessage { + // // The field's rules will always be ignored, including any validation's + // // on value's fields. + // MyOtherMessage value = 1 [ + // (buf.validate.field).ignore = IGNORE_ALWAYS]; + // } + // + // ``` + Ignore_IGNORE_ALWAYS Ignore = 3 +) + +// Enum value maps for Ignore. +var ( + Ignore_name = map[int32]string{ + 0: "IGNORE_UNSPECIFIED", + 1: "IGNORE_IF_UNPOPULATED", + 2: "IGNORE_IF_DEFAULT_VALUE", + 3: "IGNORE_ALWAYS", + } + Ignore_value = map[string]int32{ + "IGNORE_UNSPECIFIED": 0, + "IGNORE_IF_UNPOPULATED": 1, + "IGNORE_IF_DEFAULT_VALUE": 2, + "IGNORE_ALWAYS": 3, + } +) + +func (x Ignore) Enum() *Ignore { + p := new(Ignore) + *p = x + return p +} + +func (x Ignore) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Ignore) Descriptor() protoreflect.EnumDescriptor { + return file_buf_validate_validate_proto_enumTypes[0].Descriptor() +} + +func (Ignore) Type() protoreflect.EnumType { + return &file_buf_validate_validate_proto_enumTypes[0] +} + +func (x Ignore) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// KnownRegex contains some well-known patterns. +type KnownRegex int32 + +const ( + KnownRegex_KNOWN_REGEX_UNSPECIFIED KnownRegex = 0 + // HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2). + KnownRegex_KNOWN_REGEX_HTTP_HEADER_NAME KnownRegex = 1 + // HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4). + KnownRegex_KNOWN_REGEX_HTTP_HEADER_VALUE KnownRegex = 2 +) + +// Enum value maps for KnownRegex. +var ( + KnownRegex_name = map[int32]string{ + 0: "KNOWN_REGEX_UNSPECIFIED", + 1: "KNOWN_REGEX_HTTP_HEADER_NAME", + 2: "KNOWN_REGEX_HTTP_HEADER_VALUE", + } + KnownRegex_value = map[string]int32{ + "KNOWN_REGEX_UNSPECIFIED": 0, + "KNOWN_REGEX_HTTP_HEADER_NAME": 1, + "KNOWN_REGEX_HTTP_HEADER_VALUE": 2, + } +) + +func (x KnownRegex) Enum() *KnownRegex { + p := new(KnownRegex) + *p = x + return p +} + +func (x KnownRegex) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (KnownRegex) Descriptor() protoreflect.EnumDescriptor { + return file_buf_validate_validate_proto_enumTypes[1].Descriptor() +} + +func (KnownRegex) Type() protoreflect.EnumType { + return &file_buf_validate_validate_proto_enumTypes[1] +} + +func (x KnownRegex) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// `Rule` represents a validation rule written in the Common Expression +// Language (CEL) syntax. Each Rule includes a unique identifier, an +// optional error message, and the CEL expression to evaluate. For more +// information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). +// +// ```proto +// +// message Foo { +// option (buf.validate.message).cel = { +// id: "foo.bar" +// message: "bar must be greater than 0" +// expression: "this.bar > 0" +// }; +// int32 bar = 1; +// } +// +// ``` +type Rule struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id *string `protobuf:"bytes,1,opt,name=id"` + xxx_hidden_Message *string `protobuf:"bytes,2,opt,name=message"` + xxx_hidden_Expression *string `protobuf:"bytes,3,opt,name=expression"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Rule) Reset() { + *x = Rule{} + mi := &file_buf_validate_validate_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Rule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Rule) ProtoMessage() {} + +func (x *Rule) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Rule) GetId() string { + if x != nil { + if x.xxx_hidden_Id != nil { + return *x.xxx_hidden_Id + } + return "" + } + return "" +} + +func (x *Rule) GetMessage() string { + if x != nil { + if x.xxx_hidden_Message != nil { + return *x.xxx_hidden_Message + } + return "" + } + return "" +} + +func (x *Rule) GetExpression() string { + if x != nil { + if x.xxx_hidden_Expression != nil { + return *x.xxx_hidden_Expression + } + return "" + } + return "" +} + +func (x *Rule) SetId(v string) { + x.xxx_hidden_Id = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3) +} + +func (x *Rule) SetMessage(v string) { + x.xxx_hidden_Message = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3) +} + +func (x *Rule) SetExpression(v string) { + x.xxx_hidden_Expression = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3) +} + +func (x *Rule) HasId() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *Rule) HasMessage() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *Rule) HasExpression() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *Rule) ClearId() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Id = nil +} + +func (x *Rule) ClearMessage() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_Message = nil +} + +func (x *Rule) ClearExpression() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_Expression = nil +} + +type Rule_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `id` is a string that serves as a machine-readable name for this Rule. + // It should be unique within its scope, which could be either a message or a field. + Id *string + // `message` is an optional field that provides a human-readable error message + // for this Rule when the CEL expression evaluates to false. If a + // non-empty message is provided, any strings resulting from the CEL + // expression evaluation are ignored. + Message *string + // `expression` is the actual CEL expression that will be evaluated for + // validation. This string must resolve to either a boolean or a string + // value. If the expression evaluates to false or a non-empty string, the + // validation is considered failed, and the message is rejected. + Expression *string +} + +func (b0 Rule_builder) Build() *Rule { + m0 := &Rule{} + b, x := &b0, m0 + _, _ = b, x + if b.Id != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3) + x.xxx_hidden_Id = b.Id + } + if b.Message != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3) + x.xxx_hidden_Message = b.Message + } + if b.Expression != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3) + x.xxx_hidden_Expression = b.Expression + } + return m0 +} + +// MessageRules represents validation rules that are applied to the entire message. +// It includes disabling options and a list of Rule messages representing Common Expression Language (CEL) validation rules. +type MessageRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Disabled bool `protobuf:"varint,1,opt,name=disabled"` + xxx_hidden_Cel *[]*Rule `protobuf:"bytes,3,rep,name=cel"` + xxx_hidden_Oneof *[]*MessageOneofRule `protobuf:"bytes,4,rep,name=oneof"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MessageRules) Reset() { + *x = MessageRules{} + mi := &file_buf_validate_validate_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MessageRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageRules) ProtoMessage() {} + +func (x *MessageRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *MessageRules) GetDisabled() bool { + if x != nil { + return x.xxx_hidden_Disabled + } + return false +} + +func (x *MessageRules) GetCel() []*Rule { + if x != nil { + if x.xxx_hidden_Cel != nil { + return *x.xxx_hidden_Cel + } + } + return nil +} + +func (x *MessageRules) GetOneof() []*MessageOneofRule { + if x != nil { + if x.xxx_hidden_Oneof != nil { + return *x.xxx_hidden_Oneof + } + } + return nil +} + +func (x *MessageRules) SetDisabled(v bool) { + x.xxx_hidden_Disabled = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3) +} + +func (x *MessageRules) SetCel(v []*Rule) { + x.xxx_hidden_Cel = &v +} + +func (x *MessageRules) SetOneof(v []*MessageOneofRule) { + x.xxx_hidden_Oneof = &v +} + +func (x *MessageRules) HasDisabled() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *MessageRules) ClearDisabled() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Disabled = false +} + +type MessageRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `disabled` is a boolean flag that, when set to true, nullifies any validation rules for this message. + // This includes any fields within the message that would otherwise support validation. + // + // ```proto + // + // message MyMessage { + // // validation will be bypassed for this message + // option (buf.validate.message).disabled = true; + // } + // + // ``` + Disabled *bool + // `cel` is a repeated field of type Rule. Each Rule specifies a validation rule to be applied to this message. + // These rules are written in Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `foo` must be greater than 42. + // option (buf.validate.message).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this.foo > 42", + // }; + // optional int32 foo = 1; + // } + // + // ``` + Cel []*Rule + // `oneof` is a repeated field of type MessageOneofRule that specifies a list of fields + // of which at most one can be present. If `required` is also specified, then exactly one + // of the specified fields _must_ be present. + // + // This will enforce oneof-like constraints with a few features not provided by + // actual Protobuf oneof declarations: + // 1. Repeated and map fields are allowed in this validation. In a Protobuf oneof, + // only scalar fields are allowed. + // 2. Fields with implicit presence are allowed. In a Protobuf oneof, all member + // fields have explicit presence. This means that, for the purpose of determining + // how many fields are set, explicitly setting such a field to its zero value is + // effectively the same as not setting it at all. + // 3. This will always generate validation errors for a message unmarshalled from + // serialized data that sets more than one field. With a Protobuf oneof, when + // multiple fields are present in the serialized form, earlier values are usually + // silently ignored when unmarshalling, with only the last field being set when + // unmarshalling completes. + // + // Note that adding a field to a `oneof` will also set the IGNORE_IF_UNPOPULATED on the fields. This means + // only the field that is set will be validated and the unset fields are not validated according to the field rules. + // This behavior can be overridden by setting `ignore` against a field. + // + // ```proto + // + // message MyMessage { + // // Only one of `field1` or `field2` _can_ be present in this message. + // option (buf.validate.message).oneof = { fields: ["field1", "field2"] }; + // // Exactly one of `field3` or `field4` _must_ be present in this message. + // option (buf.validate.message).oneof = { fields: ["field3", "field4"], required: true }; + // string field1 = 1; + // bytes field2 = 2; + // bool field3 = 3; + // int32 field4 = 4; + // } + // + // ``` + Oneof []*MessageOneofRule +} + +func (b0 MessageRules_builder) Build() *MessageRules { + m0 := &MessageRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Disabled != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3) + x.xxx_hidden_Disabled = *b.Disabled + } + x.xxx_hidden_Cel = &b.Cel + x.xxx_hidden_Oneof = &b.Oneof + return m0 +} + +type MessageOneofRule struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Fields []string `protobuf:"bytes,1,rep,name=fields"` + xxx_hidden_Required bool `protobuf:"varint,2,opt,name=required"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MessageOneofRule) Reset() { + *x = MessageOneofRule{} + mi := &file_buf_validate_validate_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MessageOneofRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageOneofRule) ProtoMessage() {} + +func (x *MessageOneofRule) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *MessageOneofRule) GetFields() []string { + if x != nil { + return x.xxx_hidden_Fields + } + return nil +} + +func (x *MessageOneofRule) GetRequired() bool { + if x != nil { + return x.xxx_hidden_Required + } + return false +} + +func (x *MessageOneofRule) SetFields(v []string) { + x.xxx_hidden_Fields = v +} + +func (x *MessageOneofRule) SetRequired(v bool) { + x.xxx_hidden_Required = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2) +} + +func (x *MessageOneofRule) HasRequired() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *MessageOneofRule) ClearRequired() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_Required = false +} + +type MessageOneofRule_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // A list of field names to include in the oneof. All field names must be + // defined in the message. At least one field must be specified, and + // duplicates are not permitted. + Fields []string + // If true, one of the fields specified _must_ be set. + Required *bool +} + +func (b0 MessageOneofRule_builder) Build() *MessageOneofRule { + m0 := &MessageOneofRule{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Fields = b.Fields + if b.Required != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2) + x.xxx_hidden_Required = *b.Required + } + return m0 +} + +// The `OneofRules` message type enables you to manage rules for +// oneof fields in your protobuf messages. +type OneofRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Required bool `protobuf:"varint,1,opt,name=required"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OneofRules) Reset() { + *x = OneofRules{} + mi := &file_buf_validate_validate_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OneofRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OneofRules) ProtoMessage() {} + +func (x *OneofRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *OneofRules) GetRequired() bool { + if x != nil { + return x.xxx_hidden_Required + } + return false +} + +func (x *OneofRules) SetRequired(v bool) { + x.xxx_hidden_Required = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1) +} + +func (x *OneofRules) HasRequired() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *OneofRules) ClearRequired() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Required = false +} + +type OneofRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // If `required` is true, exactly one field of the oneof must be present. A + // validation error is returned if no fields in the oneof are present. The + // field itself may still be a default value; further rules + // should be placed on the fields themselves to ensure they are valid values, + // such as `min_len` or `gt`. + // + // ```proto + // + // message MyMessage { + // oneof value { + // // Either `a` or `b` must be set. If `a` is set, it must also be + // // non-empty; whereas if `b` is set, it can still be an empty string. + // option (buf.validate.oneof).required = true; + // string a = 1 [(buf.validate.field).string.min_len = 1]; + // string b = 2; + // } + // } + // + // ``` + Required *bool +} + +func (b0 OneofRules_builder) Build() *OneofRules { + m0 := &OneofRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Required != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1) + x.xxx_hidden_Required = *b.Required + } + return m0 +} + +// FieldRules encapsulates the rules for each type of field. Depending on +// the field, the correct set should be used to ensure proper validations. +type FieldRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Cel *[]*Rule `protobuf:"bytes,23,rep,name=cel"` + xxx_hidden_Required bool `protobuf:"varint,25,opt,name=required"` + xxx_hidden_Ignore Ignore `protobuf:"varint,27,opt,name=ignore,enum=buf.validate.Ignore"` + xxx_hidden_Type isFieldRules_Type `protobuf_oneof:"type"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldRules) Reset() { + *x = FieldRules{} + mi := &file_buf_validate_validate_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldRules) ProtoMessage() {} + +func (x *FieldRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *FieldRules) GetCel() []*Rule { + if x != nil { + if x.xxx_hidden_Cel != nil { + return *x.xxx_hidden_Cel + } + } + return nil +} + +func (x *FieldRules) GetRequired() bool { + if x != nil { + return x.xxx_hidden_Required + } + return false +} + +func (x *FieldRules) GetIgnore() Ignore { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[0]), 2) { + return x.xxx_hidden_Ignore + } + } + return Ignore_IGNORE_UNSPECIFIED +} + +func (x *FieldRules) GetFloat() *FloatRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Float); ok { + return x.Float + } + } + return nil +} + +func (x *FieldRules) GetDouble() *DoubleRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Double); ok { + return x.Double + } + } + return nil +} + +func (x *FieldRules) GetInt32() *Int32Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Int32); ok { + return x.Int32 + } + } + return nil +} + +func (x *FieldRules) GetInt64() *Int64Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Int64); ok { + return x.Int64 + } + } + return nil +} + +func (x *FieldRules) GetUint32() *UInt32Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Uint32); ok { + return x.Uint32 + } + } + return nil +} + +func (x *FieldRules) GetUint64() *UInt64Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Uint64); ok { + return x.Uint64 + } + } + return nil +} + +func (x *FieldRules) GetSint32() *SInt32Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Sint32); ok { + return x.Sint32 + } + } + return nil +} + +func (x *FieldRules) GetSint64() *SInt64Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Sint64); ok { + return x.Sint64 + } + } + return nil +} + +func (x *FieldRules) GetFixed32() *Fixed32Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Fixed32); ok { + return x.Fixed32 + } + } + return nil +} + +func (x *FieldRules) GetFixed64() *Fixed64Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Fixed64); ok { + return x.Fixed64 + } + } + return nil +} + +func (x *FieldRules) GetSfixed32() *SFixed32Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Sfixed32); ok { + return x.Sfixed32 + } + } + return nil +} + +func (x *FieldRules) GetSfixed64() *SFixed64Rules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Sfixed64); ok { + return x.Sfixed64 + } + } + return nil +} + +func (x *FieldRules) GetBool() *BoolRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Bool); ok { + return x.Bool + } + } + return nil +} + +func (x *FieldRules) GetString() *StringRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_String_); ok { + return x.String_ + } + } + return nil +} + +func (x *FieldRules) GetBytes() *BytesRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Bytes); ok { + return x.Bytes + } + } + return nil +} + +func (x *FieldRules) GetEnum() *EnumRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Enum); ok { + return x.Enum + } + } + return nil +} + +func (x *FieldRules) GetRepeated() *RepeatedRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Repeated); ok { + return x.Repeated + } + } + return nil +} + +func (x *FieldRules) GetMap() *MapRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Map); ok { + return x.Map + } + } + return nil +} + +func (x *FieldRules) GetAny() *AnyRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Any); ok { + return x.Any + } + } + return nil +} + +func (x *FieldRules) GetDuration() *DurationRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Duration); ok { + return x.Duration + } + } + return nil +} + +func (x *FieldRules) GetTimestamp() *TimestampRules { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*fieldRules_Timestamp); ok { + return x.Timestamp + } + } + return nil +} + +func (x *FieldRules) SetCel(v []*Rule) { + x.xxx_hidden_Cel = &v +} + +func (x *FieldRules) SetRequired(v bool) { + x.xxx_hidden_Required = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 4) +} + +func (x *FieldRules) SetIgnore(v Ignore) { + x.xxx_hidden_Ignore = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 4) +} + +func (x *FieldRules) SetFloat(v *FloatRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Float{v} +} + +func (x *FieldRules) SetDouble(v *DoubleRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Double{v} +} + +func (x *FieldRules) SetInt32(v *Int32Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Int32{v} +} + +func (x *FieldRules) SetInt64(v *Int64Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Int64{v} +} + +func (x *FieldRules) SetUint32(v *UInt32Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Uint32{v} +} + +func (x *FieldRules) SetUint64(v *UInt64Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Uint64{v} +} + +func (x *FieldRules) SetSint32(v *SInt32Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Sint32{v} +} + +func (x *FieldRules) SetSint64(v *SInt64Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Sint64{v} +} + +func (x *FieldRules) SetFixed32(v *Fixed32Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Fixed32{v} +} + +func (x *FieldRules) SetFixed64(v *Fixed64Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Fixed64{v} +} + +func (x *FieldRules) SetSfixed32(v *SFixed32Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Sfixed32{v} +} + +func (x *FieldRules) SetSfixed64(v *SFixed64Rules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Sfixed64{v} +} + +func (x *FieldRules) SetBool(v *BoolRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Bool{v} +} + +func (x *FieldRules) SetString(v *StringRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_String_{v} +} + +func (x *FieldRules) SetBytes(v *BytesRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Bytes{v} +} + +func (x *FieldRules) SetEnum(v *EnumRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Enum{v} +} + +func (x *FieldRules) SetRepeated(v *RepeatedRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Repeated{v} +} + +func (x *FieldRules) SetMap(v *MapRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Map{v} +} + +func (x *FieldRules) SetAny(v *AnyRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Any{v} +} + +func (x *FieldRules) SetDuration(v *DurationRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Duration{v} +} + +func (x *FieldRules) SetTimestamp(v *TimestampRules) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &fieldRules_Timestamp{v} +} + +func (x *FieldRules) HasRequired() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *FieldRules) HasIgnore() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *FieldRules) HasType() bool { + if x == nil { + return false + } + return x.xxx_hidden_Type != nil +} + +func (x *FieldRules) HasFloat() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Float) + return ok +} + +func (x *FieldRules) HasDouble() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Double) + return ok +} + +func (x *FieldRules) HasInt32() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Int32) + return ok +} + +func (x *FieldRules) HasInt64() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Int64) + return ok +} + +func (x *FieldRules) HasUint32() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Uint32) + return ok +} + +func (x *FieldRules) HasUint64() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Uint64) + return ok +} + +func (x *FieldRules) HasSint32() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Sint32) + return ok +} + +func (x *FieldRules) HasSint64() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Sint64) + return ok +} + +func (x *FieldRules) HasFixed32() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Fixed32) + return ok +} + +func (x *FieldRules) HasFixed64() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Fixed64) + return ok +} + +func (x *FieldRules) HasSfixed32() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Sfixed32) + return ok +} + +func (x *FieldRules) HasSfixed64() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Sfixed64) + return ok +} + +func (x *FieldRules) HasBool() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Bool) + return ok +} + +func (x *FieldRules) HasString() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_String_) + return ok +} + +func (x *FieldRules) HasBytes() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Bytes) + return ok +} + +func (x *FieldRules) HasEnum() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Enum) + return ok +} + +func (x *FieldRules) HasRepeated() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Repeated) + return ok +} + +func (x *FieldRules) HasMap() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Map) + return ok +} + +func (x *FieldRules) HasAny() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Any) + return ok +} + +func (x *FieldRules) HasDuration() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Duration) + return ok +} + +func (x *FieldRules) HasTimestamp() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*fieldRules_Timestamp) + return ok +} + +func (x *FieldRules) ClearRequired() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_Required = false +} + +func (x *FieldRules) ClearIgnore() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_Ignore = Ignore_IGNORE_UNSPECIFIED +} + +func (x *FieldRules) ClearType() { + x.xxx_hidden_Type = nil +} + +func (x *FieldRules) ClearFloat() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Float); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearDouble() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Double); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearInt32() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Int32); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearInt64() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Int64); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearUint32() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Uint32); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearUint64() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Uint64); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearSint32() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Sint32); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearSint64() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Sint64); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearFixed32() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Fixed32); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearFixed64() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Fixed64); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearSfixed32() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Sfixed32); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearSfixed64() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Sfixed64); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearBool() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Bool); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearString() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_String_); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearBytes() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Bytes); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearEnum() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Enum); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearRepeated() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Repeated); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearMap() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Map); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearAny() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Any); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearDuration() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Duration); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *FieldRules) ClearTimestamp() { + if _, ok := x.xxx_hidden_Type.(*fieldRules_Timestamp); ok { + x.xxx_hidden_Type = nil + } +} + +const FieldRules_Type_not_set_case case_FieldRules_Type = 0 +const FieldRules_Float_case case_FieldRules_Type = 1 +const FieldRules_Double_case case_FieldRules_Type = 2 +const FieldRules_Int32_case case_FieldRules_Type = 3 +const FieldRules_Int64_case case_FieldRules_Type = 4 +const FieldRules_Uint32_case case_FieldRules_Type = 5 +const FieldRules_Uint64_case case_FieldRules_Type = 6 +const FieldRules_Sint32_case case_FieldRules_Type = 7 +const FieldRules_Sint64_case case_FieldRules_Type = 8 +const FieldRules_Fixed32_case case_FieldRules_Type = 9 +const FieldRules_Fixed64_case case_FieldRules_Type = 10 +const FieldRules_Sfixed32_case case_FieldRules_Type = 11 +const FieldRules_Sfixed64_case case_FieldRules_Type = 12 +const FieldRules_Bool_case case_FieldRules_Type = 13 +const FieldRules_String__case case_FieldRules_Type = 14 +const FieldRules_Bytes_case case_FieldRules_Type = 15 +const FieldRules_Enum_case case_FieldRules_Type = 16 +const FieldRules_Repeated_case case_FieldRules_Type = 18 +const FieldRules_Map_case case_FieldRules_Type = 19 +const FieldRules_Any_case case_FieldRules_Type = 20 +const FieldRules_Duration_case case_FieldRules_Type = 21 +const FieldRules_Timestamp_case case_FieldRules_Type = 22 + +func (x *FieldRules) WhichType() case_FieldRules_Type { + if x == nil { + return FieldRules_Type_not_set_case + } + switch x.xxx_hidden_Type.(type) { + case *fieldRules_Float: + return FieldRules_Float_case + case *fieldRules_Double: + return FieldRules_Double_case + case *fieldRules_Int32: + return FieldRules_Int32_case + case *fieldRules_Int64: + return FieldRules_Int64_case + case *fieldRules_Uint32: + return FieldRules_Uint32_case + case *fieldRules_Uint64: + return FieldRules_Uint64_case + case *fieldRules_Sint32: + return FieldRules_Sint32_case + case *fieldRules_Sint64: + return FieldRules_Sint64_case + case *fieldRules_Fixed32: + return FieldRules_Fixed32_case + case *fieldRules_Fixed64: + return FieldRules_Fixed64_case + case *fieldRules_Sfixed32: + return FieldRules_Sfixed32_case + case *fieldRules_Sfixed64: + return FieldRules_Sfixed64_case + case *fieldRules_Bool: + return FieldRules_Bool_case + case *fieldRules_String_: + return FieldRules_String__case + case *fieldRules_Bytes: + return FieldRules_Bytes_case + case *fieldRules_Enum: + return FieldRules_Enum_case + case *fieldRules_Repeated: + return FieldRules_Repeated_case + case *fieldRules_Map: + return FieldRules_Map_case + case *fieldRules_Any: + return FieldRules_Any_case + case *fieldRules_Duration: + return FieldRules_Duration_case + case *fieldRules_Timestamp: + return FieldRules_Timestamp_case + default: + return FieldRules_Type_not_set_case + } +} + +type FieldRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `cel` is a repeated field used to represent a textual expression + // in the Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `value` must be greater than 42. + // optional int32 value = 1 [(buf.validate.field).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this > 42", + // }]; + // } + // + // ``` + Cel []*Rule + // If `required` is true, the field must be populated. A populated field can be + // described as "serialized in the wire format," which includes: + // + // - the following "nullable" fields must be explicitly set to be considered populated: + // - singular message fields (whose fields may be unpopulated/default values) + // - member fields of a oneof (may be their default value) + // - proto3 optional fields (may be their default value) + // - proto2 scalar fields (both optional and required) + // + // - proto3 scalar fields must be non-zero to be considered populated + // - repeated and map fields must be non-empty to be considered populated + // - map keys/values and repeated items are always considered populated + // + // ```proto + // + // message MyMessage { + // // The field `value` must be set to a non-null value. + // optional MyOtherMessage value = 1 [(buf.validate.field).required = true]; + // } + // + // ``` + Required *bool + // Skip validation on the field if its value matches the specified criteria. + // See Ignore enum for details. + // + // ```proto + // + // message UpdateRequest { + // // The uri rule only applies if the field is populated and not an empty + // // string. + // optional string url = 1 [ + // (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE, + // (buf.validate.field).string.uri = true, + // ]; + // } + // + // ``` + Ignore *Ignore + // Fields of oneof xxx_hidden_Type: + // Scalar Field Types + Float *FloatRules + Double *DoubleRules + Int32 *Int32Rules + Int64 *Int64Rules + Uint32 *UInt32Rules + Uint64 *UInt64Rules + Sint32 *SInt32Rules + Sint64 *SInt64Rules + Fixed32 *Fixed32Rules + Fixed64 *Fixed64Rules + Sfixed32 *SFixed32Rules + Sfixed64 *SFixed64Rules + Bool *BoolRules + String *StringRules + Bytes *BytesRules + // Complex Field Types + Enum *EnumRules + Repeated *RepeatedRules + Map *MapRules + // Well-Known Field Types + Any *AnyRules + Duration *DurationRules + Timestamp *TimestampRules + // -- end of xxx_hidden_Type +} + +func (b0 FieldRules_builder) Build() *FieldRules { + m0 := &FieldRules{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Cel = &b.Cel + if b.Required != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 4) + x.xxx_hidden_Required = *b.Required + } + if b.Ignore != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 4) + x.xxx_hidden_Ignore = *b.Ignore + } + if b.Float != nil { + x.xxx_hidden_Type = &fieldRules_Float{b.Float} + } + if b.Double != nil { + x.xxx_hidden_Type = &fieldRules_Double{b.Double} + } + if b.Int32 != nil { + x.xxx_hidden_Type = &fieldRules_Int32{b.Int32} + } + if b.Int64 != nil { + x.xxx_hidden_Type = &fieldRules_Int64{b.Int64} + } + if b.Uint32 != nil { + x.xxx_hidden_Type = &fieldRules_Uint32{b.Uint32} + } + if b.Uint64 != nil { + x.xxx_hidden_Type = &fieldRules_Uint64{b.Uint64} + } + if b.Sint32 != nil { + x.xxx_hidden_Type = &fieldRules_Sint32{b.Sint32} + } + if b.Sint64 != nil { + x.xxx_hidden_Type = &fieldRules_Sint64{b.Sint64} + } + if b.Fixed32 != nil { + x.xxx_hidden_Type = &fieldRules_Fixed32{b.Fixed32} + } + if b.Fixed64 != nil { + x.xxx_hidden_Type = &fieldRules_Fixed64{b.Fixed64} + } + if b.Sfixed32 != nil { + x.xxx_hidden_Type = &fieldRules_Sfixed32{b.Sfixed32} + } + if b.Sfixed64 != nil { + x.xxx_hidden_Type = &fieldRules_Sfixed64{b.Sfixed64} + } + if b.Bool != nil { + x.xxx_hidden_Type = &fieldRules_Bool{b.Bool} + } + if b.String != nil { + x.xxx_hidden_Type = &fieldRules_String_{b.String} + } + if b.Bytes != nil { + x.xxx_hidden_Type = &fieldRules_Bytes{b.Bytes} + } + if b.Enum != nil { + x.xxx_hidden_Type = &fieldRules_Enum{b.Enum} + } + if b.Repeated != nil { + x.xxx_hidden_Type = &fieldRules_Repeated{b.Repeated} + } + if b.Map != nil { + x.xxx_hidden_Type = &fieldRules_Map{b.Map} + } + if b.Any != nil { + x.xxx_hidden_Type = &fieldRules_Any{b.Any} + } + if b.Duration != nil { + x.xxx_hidden_Type = &fieldRules_Duration{b.Duration} + } + if b.Timestamp != nil { + x.xxx_hidden_Type = &fieldRules_Timestamp{b.Timestamp} + } + return m0 +} + +type case_FieldRules_Type protoreflect.FieldNumber + +func (x case_FieldRules_Type) String() string { + md := file_buf_validate_validate_proto_msgTypes[4].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFieldRules_Type interface { + isFieldRules_Type() +} + +type fieldRules_Float struct { + // Scalar Field Types + Float *FloatRules `protobuf:"bytes,1,opt,name=float,oneof"` +} + +type fieldRules_Double struct { + Double *DoubleRules `protobuf:"bytes,2,opt,name=double,oneof"` +} + +type fieldRules_Int32 struct { + Int32 *Int32Rules `protobuf:"bytes,3,opt,name=int32,oneof"` +} + +type fieldRules_Int64 struct { + Int64 *Int64Rules `protobuf:"bytes,4,opt,name=int64,oneof"` +} + +type fieldRules_Uint32 struct { + Uint32 *UInt32Rules `protobuf:"bytes,5,opt,name=uint32,oneof"` +} + +type fieldRules_Uint64 struct { + Uint64 *UInt64Rules `protobuf:"bytes,6,opt,name=uint64,oneof"` +} + +type fieldRules_Sint32 struct { + Sint32 *SInt32Rules `protobuf:"bytes,7,opt,name=sint32,oneof"` +} + +type fieldRules_Sint64 struct { + Sint64 *SInt64Rules `protobuf:"bytes,8,opt,name=sint64,oneof"` +} + +type fieldRules_Fixed32 struct { + Fixed32 *Fixed32Rules `protobuf:"bytes,9,opt,name=fixed32,oneof"` +} + +type fieldRules_Fixed64 struct { + Fixed64 *Fixed64Rules `protobuf:"bytes,10,opt,name=fixed64,oneof"` +} + +type fieldRules_Sfixed32 struct { + Sfixed32 *SFixed32Rules `protobuf:"bytes,11,opt,name=sfixed32,oneof"` +} + +type fieldRules_Sfixed64 struct { + Sfixed64 *SFixed64Rules `protobuf:"bytes,12,opt,name=sfixed64,oneof"` +} + +type fieldRules_Bool struct { + Bool *BoolRules `protobuf:"bytes,13,opt,name=bool,oneof"` +} + +type fieldRules_String_ struct { + String_ *StringRules `protobuf:"bytes,14,opt,name=string,oneof"` +} + +type fieldRules_Bytes struct { + Bytes *BytesRules `protobuf:"bytes,15,opt,name=bytes,oneof"` +} + +type fieldRules_Enum struct { + // Complex Field Types + Enum *EnumRules `protobuf:"bytes,16,opt,name=enum,oneof"` +} + +type fieldRules_Repeated struct { + Repeated *RepeatedRules `protobuf:"bytes,18,opt,name=repeated,oneof"` +} + +type fieldRules_Map struct { + Map *MapRules `protobuf:"bytes,19,opt,name=map,oneof"` +} + +type fieldRules_Any struct { + // Well-Known Field Types + Any *AnyRules `protobuf:"bytes,20,opt,name=any,oneof"` +} + +type fieldRules_Duration struct { + Duration *DurationRules `protobuf:"bytes,21,opt,name=duration,oneof"` +} + +type fieldRules_Timestamp struct { + Timestamp *TimestampRules `protobuf:"bytes,22,opt,name=timestamp,oneof"` +} + +func (*fieldRules_Float) isFieldRules_Type() {} + +func (*fieldRules_Double) isFieldRules_Type() {} + +func (*fieldRules_Int32) isFieldRules_Type() {} + +func (*fieldRules_Int64) isFieldRules_Type() {} + +func (*fieldRules_Uint32) isFieldRules_Type() {} + +func (*fieldRules_Uint64) isFieldRules_Type() {} + +func (*fieldRules_Sint32) isFieldRules_Type() {} + +func (*fieldRules_Sint64) isFieldRules_Type() {} + +func (*fieldRules_Fixed32) isFieldRules_Type() {} + +func (*fieldRules_Fixed64) isFieldRules_Type() {} + +func (*fieldRules_Sfixed32) isFieldRules_Type() {} + +func (*fieldRules_Sfixed64) isFieldRules_Type() {} + +func (*fieldRules_Bool) isFieldRules_Type() {} + +func (*fieldRules_String_) isFieldRules_Type() {} + +func (*fieldRules_Bytes) isFieldRules_Type() {} + +func (*fieldRules_Enum) isFieldRules_Type() {} + +func (*fieldRules_Repeated) isFieldRules_Type() {} + +func (*fieldRules_Map) isFieldRules_Type() {} + +func (*fieldRules_Any) isFieldRules_Type() {} + +func (*fieldRules_Duration) isFieldRules_Type() {} + +func (*fieldRules_Timestamp) isFieldRules_Type() {} + +// PredefinedRules are custom rules that can be re-used with +// multiple fields. +type PredefinedRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Cel *[]*Rule `protobuf:"bytes,1,rep,name=cel"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PredefinedRules) Reset() { + *x = PredefinedRules{} + mi := &file_buf_validate_validate_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PredefinedRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredefinedRules) ProtoMessage() {} + +func (x *PredefinedRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *PredefinedRules) GetCel() []*Rule { + if x != nil { + if x.xxx_hidden_Cel != nil { + return *x.xxx_hidden_Cel + } + } + return nil +} + +func (x *PredefinedRules) SetCel(v []*Rule) { + x.xxx_hidden_Cel = &v +} + +type PredefinedRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `cel` is a repeated field used to represent a textual expression + // in the Common Expression Language (CEL) syntax. For more information, + // [see our documentation](https://buf.build/docs/protovalidate/schemas/predefined-rules/). + // + // ```proto + // + // message MyMessage { + // // The field `value` must be greater than 42. + // optional int32 value = 1 [(buf.validate.predefined).cel = { + // id: "my_message.value", + // message: "value must be greater than 42", + // expression: "this > 42", + // }]; + // } + // + // ``` + Cel []*Rule +} + +func (b0 PredefinedRules_builder) Build() *PredefinedRules { + m0 := &PredefinedRules{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Cel = &b.Cel + return m0 +} + +// FloatRules describes the rules applied to `float` values. These +// rules may also be applied to the `google.protobuf.FloatValue` Well-Known-Type. +type FloatRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const float32 `protobuf:"fixed32,1,opt,name=const"` + xxx_hidden_LessThan isFloatRules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isFloatRules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []float32 `protobuf:"fixed32,6,rep,name=in"` + xxx_hidden_NotIn []float32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn"` + xxx_hidden_Finite bool `protobuf:"varint,8,opt,name=finite"` + xxx_hidden_Example []float32 `protobuf:"fixed32,9,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FloatRules) Reset() { + *x = FloatRules{} + mi := &file_buf_validate_validate_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FloatRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FloatRules) ProtoMessage() {} + +func (x *FloatRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *FloatRules) GetConst() float32 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *FloatRules) GetLt() float32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*floatRules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *FloatRules) GetLte() float32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*floatRules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *FloatRules) GetGt() float32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*floatRules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *FloatRules) GetGte() float32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*floatRules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *FloatRules) GetIn() []float32 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *FloatRules) GetNotIn() []float32 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *FloatRules) GetFinite() bool { + if x != nil { + return x.xxx_hidden_Finite + } + return false +} + +func (x *FloatRules) GetExample() []float32 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *FloatRules) SetConst(v float32) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 7) +} + +func (x *FloatRules) SetLt(v float32) { + x.xxx_hidden_LessThan = &floatRules_Lt{v} +} + +func (x *FloatRules) SetLte(v float32) { + x.xxx_hidden_LessThan = &floatRules_Lte{v} +} + +func (x *FloatRules) SetGt(v float32) { + x.xxx_hidden_GreaterThan = &floatRules_Gt{v} +} + +func (x *FloatRules) SetGte(v float32) { + x.xxx_hidden_GreaterThan = &floatRules_Gte{v} +} + +func (x *FloatRules) SetIn(v []float32) { + x.xxx_hidden_In = v +} + +func (x *FloatRules) SetNotIn(v []float32) { + x.xxx_hidden_NotIn = v +} + +func (x *FloatRules) SetFinite(v bool) { + x.xxx_hidden_Finite = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 7) +} + +func (x *FloatRules) SetExample(v []float32) { + x.xxx_hidden_Example = v +} + +func (x *FloatRules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *FloatRules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *FloatRules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*floatRules_Lt) + return ok +} + +func (x *FloatRules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*floatRules_Lte) + return ok +} + +func (x *FloatRules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *FloatRules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*floatRules_Gt) + return ok +} + +func (x *FloatRules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*floatRules_Gte) + return ok +} + +func (x *FloatRules) HasFinite() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 5) +} + +func (x *FloatRules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *FloatRules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *FloatRules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*floatRules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *FloatRules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*floatRules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *FloatRules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *FloatRules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*floatRules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *FloatRules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*floatRules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *FloatRules) ClearFinite() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5) + x.xxx_hidden_Finite = false +} + +const FloatRules_LessThan_not_set_case case_FloatRules_LessThan = 0 +const FloatRules_Lt_case case_FloatRules_LessThan = 2 +const FloatRules_Lte_case case_FloatRules_LessThan = 3 + +func (x *FloatRules) WhichLessThan() case_FloatRules_LessThan { + if x == nil { + return FloatRules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *floatRules_Lt: + return FloatRules_Lt_case + case *floatRules_Lte: + return FloatRules_Lte_case + default: + return FloatRules_LessThan_not_set_case + } +} + +const FloatRules_GreaterThan_not_set_case case_FloatRules_GreaterThan = 0 +const FloatRules_Gt_case case_FloatRules_GreaterThan = 4 +const FloatRules_Gte_case case_FloatRules_GreaterThan = 5 + +func (x *FloatRules) WhichGreaterThan() case_FloatRules_GreaterThan { + if x == nil { + return FloatRules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *floatRules_Gt: + return FloatRules_Gt_case + case *floatRules_Gte: + return FloatRules_Gte_case + default: + return FloatRules_GreaterThan_not_set_case + } +} + +type FloatRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must equal 42.0 + // float value = 1 [(buf.validate.field).float.const = 42.0]; + // } + // + // ``` + Const *float32 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be less than 10.0 + // float value = 1 [(buf.validate.field).float.lt = 10.0]; + // } + // + // ``` + Lt *float32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be less than or equal to 10.0 + // float value = 1 [(buf.validate.field).float.lte = 10.0]; + // } + // + // ``` + Lte *float32 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be greater than 5.0 [float.gt] + // float value = 1 [(buf.validate.field).float.gt = 5.0]; + // + // // value must be greater than 5 and less than 10.0 [float.gt_lt] + // float other_value = 2 [(buf.validate.field).float = { gt: 5.0, lt: 10.0 }]; + // + // // value must be greater than 10 or less than 5.0 [float.gt_lt_exclusive] + // float another_value = 3 [(buf.validate.field).float = { gt: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gt *float32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be greater than or equal to 5.0 [float.gte] + // float value = 1 [(buf.validate.field).float.gte = 5.0]; + // + // // value must be greater than or equal to 5.0 and less than 10.0 [float.gte_lt] + // float other_value = 2 [(buf.validate.field).float = { gte: 5.0, lt: 10.0 }]; + // + // // value must be greater than or equal to 10.0 or less than 5.0 [float.gte_lt_exclusive] + // float another_value = 3 [(buf.validate.field).float = { gte: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gte *float32 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyFloat { + // // value must be in list [1.0, 2.0, 3.0] + // float value = 1 [(buf.validate.field).float = { in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + In []float32 + // `in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFloat { + // // value must not be in list [1.0, 2.0, 3.0] + // float value = 1 [(buf.validate.field).float = { not_in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + NotIn []float32 + // `finite` requires the field value to be finite. If the field value is + // infinite or NaN, an error message is generated. + Finite *bool + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFloat { + // float value = 1 [ + // (buf.validate.field).float.example = 1.0, + // (buf.validate.field).float.example = inf + // ]; + // } + // + // ``` + Example []float32 +} + +func (b0 FloatRules_builder) Build() *FloatRules { + m0 := &FloatRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 7) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &floatRules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &floatRules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &floatRules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &floatRules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + if b.Finite != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 7) + x.xxx_hidden_Finite = *b.Finite + } + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_FloatRules_LessThan protoreflect.FieldNumber + +func (x case_FloatRules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[6].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_FloatRules_GreaterThan protoreflect.FieldNumber + +func (x case_FloatRules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[6].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFloatRules_LessThan interface { + isFloatRules_LessThan() +} + +type floatRules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be less than 10.0 + // float value = 1 [(buf.validate.field).float.lt = 10.0]; + // } + // + // ``` + Lt float32 `protobuf:"fixed32,2,opt,name=lt,oneof"` +} + +type floatRules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be less than or equal to 10.0 + // float value = 1 [(buf.validate.field).float.lte = 10.0]; + // } + // + // ``` + Lte float32 `protobuf:"fixed32,3,opt,name=lte,oneof"` +} + +func (*floatRules_Lt) isFloatRules_LessThan() {} + +func (*floatRules_Lte) isFloatRules_LessThan() {} + +type isFloatRules_GreaterThan interface { + isFloatRules_GreaterThan() +} + +type floatRules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be greater than 5.0 [float.gt] + // float value = 1 [(buf.validate.field).float.gt = 5.0]; + // + // // value must be greater than 5 and less than 10.0 [float.gt_lt] + // float other_value = 2 [(buf.validate.field).float = { gt: 5.0, lt: 10.0 }]; + // + // // value must be greater than 10 or less than 5.0 [float.gt_lt_exclusive] + // float another_value = 3 [(buf.validate.field).float = { gt: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gt float32 `protobuf:"fixed32,4,opt,name=gt,oneof"` +} + +type floatRules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFloat { + // // value must be greater than or equal to 5.0 [float.gte] + // float value = 1 [(buf.validate.field).float.gte = 5.0]; + // + // // value must be greater than or equal to 5.0 and less than 10.0 [float.gte_lt] + // float other_value = 2 [(buf.validate.field).float = { gte: 5.0, lt: 10.0 }]; + // + // // value must be greater than or equal to 10.0 or less than 5.0 [float.gte_lt_exclusive] + // float another_value = 3 [(buf.validate.field).float = { gte: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gte float32 `protobuf:"fixed32,5,opt,name=gte,oneof"` +} + +func (*floatRules_Gt) isFloatRules_GreaterThan() {} + +func (*floatRules_Gte) isFloatRules_GreaterThan() {} + +// DoubleRules describes the rules applied to `double` values. These +// rules may also be applied to the `google.protobuf.DoubleValue` Well-Known-Type. +type DoubleRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const float64 `protobuf:"fixed64,1,opt,name=const"` + xxx_hidden_LessThan isDoubleRules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isDoubleRules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []float64 `protobuf:"fixed64,6,rep,name=in"` + xxx_hidden_NotIn []float64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn"` + xxx_hidden_Finite bool `protobuf:"varint,8,opt,name=finite"` + xxx_hidden_Example []float64 `protobuf:"fixed64,9,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DoubleRules) Reset() { + *x = DoubleRules{} + mi := &file_buf_validate_validate_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DoubleRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleRules) ProtoMessage() {} + +func (x *DoubleRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DoubleRules) GetConst() float64 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *DoubleRules) GetLt() float64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*doubleRules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *DoubleRules) GetLte() float64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*doubleRules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *DoubleRules) GetGt() float64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*doubleRules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *DoubleRules) GetGte() float64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*doubleRules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *DoubleRules) GetIn() []float64 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *DoubleRules) GetNotIn() []float64 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *DoubleRules) GetFinite() bool { + if x != nil { + return x.xxx_hidden_Finite + } + return false +} + +func (x *DoubleRules) GetExample() []float64 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *DoubleRules) SetConst(v float64) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 7) +} + +func (x *DoubleRules) SetLt(v float64) { + x.xxx_hidden_LessThan = &doubleRules_Lt{v} +} + +func (x *DoubleRules) SetLte(v float64) { + x.xxx_hidden_LessThan = &doubleRules_Lte{v} +} + +func (x *DoubleRules) SetGt(v float64) { + x.xxx_hidden_GreaterThan = &doubleRules_Gt{v} +} + +func (x *DoubleRules) SetGte(v float64) { + x.xxx_hidden_GreaterThan = &doubleRules_Gte{v} +} + +func (x *DoubleRules) SetIn(v []float64) { + x.xxx_hidden_In = v +} + +func (x *DoubleRules) SetNotIn(v []float64) { + x.xxx_hidden_NotIn = v +} + +func (x *DoubleRules) SetFinite(v bool) { + x.xxx_hidden_Finite = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 7) +} + +func (x *DoubleRules) SetExample(v []float64) { + x.xxx_hidden_Example = v +} + +func (x *DoubleRules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *DoubleRules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *DoubleRules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*doubleRules_Lt) + return ok +} + +func (x *DoubleRules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*doubleRules_Lte) + return ok +} + +func (x *DoubleRules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *DoubleRules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*doubleRules_Gt) + return ok +} + +func (x *DoubleRules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*doubleRules_Gte) + return ok +} + +func (x *DoubleRules) HasFinite() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 5) +} + +func (x *DoubleRules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *DoubleRules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *DoubleRules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*doubleRules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *DoubleRules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*doubleRules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *DoubleRules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *DoubleRules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*doubleRules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *DoubleRules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*doubleRules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *DoubleRules) ClearFinite() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5) + x.xxx_hidden_Finite = false +} + +const DoubleRules_LessThan_not_set_case case_DoubleRules_LessThan = 0 +const DoubleRules_Lt_case case_DoubleRules_LessThan = 2 +const DoubleRules_Lte_case case_DoubleRules_LessThan = 3 + +func (x *DoubleRules) WhichLessThan() case_DoubleRules_LessThan { + if x == nil { + return DoubleRules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *doubleRules_Lt: + return DoubleRules_Lt_case + case *doubleRules_Lte: + return DoubleRules_Lte_case + default: + return DoubleRules_LessThan_not_set_case + } +} + +const DoubleRules_GreaterThan_not_set_case case_DoubleRules_GreaterThan = 0 +const DoubleRules_Gt_case case_DoubleRules_GreaterThan = 4 +const DoubleRules_Gte_case case_DoubleRules_GreaterThan = 5 + +func (x *DoubleRules) WhichGreaterThan() case_DoubleRules_GreaterThan { + if x == nil { + return DoubleRules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *doubleRules_Gt: + return DoubleRules_Gt_case + case *doubleRules_Gte: + return DoubleRules_Gte_case + default: + return DoubleRules_GreaterThan_not_set_case + } +} + +type DoubleRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must equal 42.0 + // double value = 1 [(buf.validate.field).double.const = 42.0]; + // } + // + // ``` + Const *float64 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be less than 10.0 + // double value = 1 [(buf.validate.field).double.lt = 10.0]; + // } + // + // ``` + Lt *float64 + // `lte` requires the field value to be less than or equal to the specified value + // (field <= value). If the field value is greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be less than or equal to 10.0 + // double value = 1 [(buf.validate.field).double.lte = 10.0]; + // } + // + // ``` + Lte *float64 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or `lte`, + // the range is reversed, and the field value must be outside the specified + // range. If the field value doesn't meet the required conditions, an error + // message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be greater than 5.0 [double.gt] + // double value = 1 [(buf.validate.field).double.gt = 5.0]; + // + // // value must be greater than 5 and less than 10.0 [double.gt_lt] + // double other_value = 2 [(buf.validate.field).double = { gt: 5.0, lt: 10.0 }]; + // + // // value must be greater than 10 or less than 5.0 [double.gt_lt_exclusive] + // double another_value = 3 [(buf.validate.field).double = { gt: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gt *float64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be greater than or equal to 5.0 [double.gte] + // double value = 1 [(buf.validate.field).double.gte = 5.0]; + // + // // value must be greater than or equal to 5.0 and less than 10.0 [double.gte_lt] + // double other_value = 2 [(buf.validate.field).double = { gte: 5.0, lt: 10.0 }]; + // + // // value must be greater than or equal to 10.0 or less than 5.0 [double.gte_lt_exclusive] + // double another_value = 3 [(buf.validate.field).double = { gte: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gte *float64 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyDouble { + // // value must be in list [1.0, 2.0, 3.0] + // double value = 1 [(buf.validate.field).double = { in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + In []float64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyDouble { + // // value must not be in list [1.0, 2.0, 3.0] + // double value = 1 [(buf.validate.field).double = { not_in: [1.0, 2.0, 3.0] }]; + // } + // + // ``` + NotIn []float64 + // `finite` requires the field value to be finite. If the field value is + // infinite or NaN, an error message is generated. + Finite *bool + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyDouble { + // double value = 1 [ + // (buf.validate.field).double.example = 1.0, + // (buf.validate.field).double.example = inf + // ]; + // } + // + // ``` + Example []float64 +} + +func (b0 DoubleRules_builder) Build() *DoubleRules { + m0 := &DoubleRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 7) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &doubleRules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &doubleRules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &doubleRules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &doubleRules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + if b.Finite != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 7) + x.xxx_hidden_Finite = *b.Finite + } + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_DoubleRules_LessThan protoreflect.FieldNumber + +func (x case_DoubleRules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[7].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_DoubleRules_GreaterThan protoreflect.FieldNumber + +func (x case_DoubleRules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[7].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isDoubleRules_LessThan interface { + isDoubleRules_LessThan() +} + +type doubleRules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be less than 10.0 + // double value = 1 [(buf.validate.field).double.lt = 10.0]; + // } + // + // ``` + Lt float64 `protobuf:"fixed64,2,opt,name=lt,oneof"` +} + +type doubleRules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified value + // (field <= value). If the field value is greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be less than or equal to 10.0 + // double value = 1 [(buf.validate.field).double.lte = 10.0]; + // } + // + // ``` + Lte float64 `protobuf:"fixed64,3,opt,name=lte,oneof"` +} + +func (*doubleRules_Lt) isDoubleRules_LessThan() {} + +func (*doubleRules_Lte) isDoubleRules_LessThan() {} + +type isDoubleRules_GreaterThan interface { + isDoubleRules_GreaterThan() +} + +type doubleRules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or `lte`, + // the range is reversed, and the field value must be outside the specified + // range. If the field value doesn't meet the required conditions, an error + // message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be greater than 5.0 [double.gt] + // double value = 1 [(buf.validate.field).double.gt = 5.0]; + // + // // value must be greater than 5 and less than 10.0 [double.gt_lt] + // double other_value = 2 [(buf.validate.field).double = { gt: 5.0, lt: 10.0 }]; + // + // // value must be greater than 10 or less than 5.0 [double.gt_lt_exclusive] + // double another_value = 3 [(buf.validate.field).double = { gt: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gt float64 `protobuf:"fixed64,4,opt,name=gt,oneof"` +} + +type doubleRules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyDouble { + // // value must be greater than or equal to 5.0 [double.gte] + // double value = 1 [(buf.validate.field).double.gte = 5.0]; + // + // // value must be greater than or equal to 5.0 and less than 10.0 [double.gte_lt] + // double other_value = 2 [(buf.validate.field).double = { gte: 5.0, lt: 10.0 }]; + // + // // value must be greater than or equal to 10.0 or less than 5.0 [double.gte_lt_exclusive] + // double another_value = 3 [(buf.validate.field).double = { gte: 10.0, lt: 5.0 }]; + // } + // + // ``` + Gte float64 `protobuf:"fixed64,5,opt,name=gte,oneof"` +} + +func (*doubleRules_Gt) isDoubleRules_GreaterThan() {} + +func (*doubleRules_Gte) isDoubleRules_GreaterThan() {} + +// Int32Rules describes the rules applied to `int32` values. These +// rules may also be applied to the `google.protobuf.Int32Value` Well-Known-Type. +type Int32Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const int32 `protobuf:"varint,1,opt,name=const"` + xxx_hidden_LessThan isInt32Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isInt32Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []int32 `protobuf:"varint,6,rep,name=in"` + xxx_hidden_NotIn []int32 `protobuf:"varint,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []int32 `protobuf:"varint,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Int32Rules) Reset() { + *x = Int32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int32Rules) ProtoMessage() {} + +func (x *Int32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Int32Rules) GetConst() int32 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *Int32Rules) GetLt() int32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*int32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *Int32Rules) GetLte() int32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*int32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *Int32Rules) GetGt() int32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*int32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *Int32Rules) GetGte() int32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*int32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *Int32Rules) GetIn() []int32 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *Int32Rules) GetNotIn() []int32 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *Int32Rules) GetExample() []int32 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *Int32Rules) SetConst(v int32) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *Int32Rules) SetLt(v int32) { + x.xxx_hidden_LessThan = &int32Rules_Lt{v} +} + +func (x *Int32Rules) SetLte(v int32) { + x.xxx_hidden_LessThan = &int32Rules_Lte{v} +} + +func (x *Int32Rules) SetGt(v int32) { + x.xxx_hidden_GreaterThan = &int32Rules_Gt{v} +} + +func (x *Int32Rules) SetGte(v int32) { + x.xxx_hidden_GreaterThan = &int32Rules_Gte{v} +} + +func (x *Int32Rules) SetIn(v []int32) { + x.xxx_hidden_In = v +} + +func (x *Int32Rules) SetNotIn(v []int32) { + x.xxx_hidden_NotIn = v +} + +func (x *Int32Rules) SetExample(v []int32) { + x.xxx_hidden_Example = v +} + +func (x *Int32Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *Int32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *Int32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*int32Rules_Lt) + return ok +} + +func (x *Int32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*int32Rules_Lte) + return ok +} + +func (x *Int32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *Int32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*int32Rules_Gt) + return ok +} + +func (x *Int32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*int32Rules_Gte) + return ok +} + +func (x *Int32Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *Int32Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *Int32Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*int32Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *Int32Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*int32Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *Int32Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *Int32Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*int32Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *Int32Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*int32Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const Int32Rules_LessThan_not_set_case case_Int32Rules_LessThan = 0 +const Int32Rules_Lt_case case_Int32Rules_LessThan = 2 +const Int32Rules_Lte_case case_Int32Rules_LessThan = 3 + +func (x *Int32Rules) WhichLessThan() case_Int32Rules_LessThan { + if x == nil { + return Int32Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *int32Rules_Lt: + return Int32Rules_Lt_case + case *int32Rules_Lte: + return Int32Rules_Lte_case + default: + return Int32Rules_LessThan_not_set_case + } +} + +const Int32Rules_GreaterThan_not_set_case case_Int32Rules_GreaterThan = 0 +const Int32Rules_Gt_case case_Int32Rules_GreaterThan = 4 +const Int32Rules_Gte_case case_Int32Rules_GreaterThan = 5 + +func (x *Int32Rules) WhichGreaterThan() case_Int32Rules_GreaterThan { + if x == nil { + return Int32Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *int32Rules_Gt: + return Int32Rules_Gt_case + case *int32Rules_Gte: + return Int32Rules_Gte_case + default: + return Int32Rules_GreaterThan_not_set_case + } +} + +type Int32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must equal 42 + // int32 value = 1 [(buf.validate.field).int32.const = 42]; + // } + // + // ``` + Const *int32 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be less than 10 + // int32 value = 1 [(buf.validate.field).int32.lt = 10]; + // } + // + // ``` + Lt *int32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be less than or equal to 10 + // int32 value = 1 [(buf.validate.field).int32.lte = 10]; + // } + // + // ``` + Lte *int32 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be greater than 5 [int32.gt] + // int32 value = 1 [(buf.validate.field).int32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [int32.gt_lt] + // int32 other_value = 2 [(buf.validate.field).int32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [int32.gt_lt_exclusive] + // int32 another_value = 3 [(buf.validate.field).int32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int32 + // `gte` requires the field value to be greater than or equal to the specified value + // (exclusive). If the value of `gte` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be greater than or equal to 5 [int32.gte] + // int32 value = 1 [(buf.validate.field).int32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [int32.gte_lt] + // int32 other_value = 2 [(buf.validate.field).int32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [int32.gte_lt_exclusive] + // int32 another_value = 3 [(buf.validate.field).int32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int32 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyInt32 { + // // value must be in list [1, 2, 3] + // int32 value = 1 [(buf.validate.field).int32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyInt32 { + // // value must not be in list [1, 2, 3] + // int32 value = 1 [(buf.validate.field).int32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyInt32 { + // int32 value = 1 [ + // (buf.validate.field).int32.example = 1, + // (buf.validate.field).int32.example = -10 + // ]; + // } + // + // ``` + Example []int32 +} + +func (b0 Int32Rules_builder) Build() *Int32Rules { + m0 := &Int32Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &int32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &int32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &int32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &int32Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_Int32Rules_LessThan protoreflect.FieldNumber + +func (x case_Int32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[8].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_Int32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_Int32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[8].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isInt32Rules_LessThan interface { + isInt32Rules_LessThan() +} + +type int32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be less than 10 + // int32 value = 1 [(buf.validate.field).int32.lt = 10]; + // } + // + // ``` + Lt int32 `protobuf:"varint,2,opt,name=lt,oneof"` +} + +type int32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be less than or equal to 10 + // int32 value = 1 [(buf.validate.field).int32.lte = 10]; + // } + // + // ``` + Lte int32 `protobuf:"varint,3,opt,name=lte,oneof"` +} + +func (*int32Rules_Lt) isInt32Rules_LessThan() {} + +func (*int32Rules_Lte) isInt32Rules_LessThan() {} + +type isInt32Rules_GreaterThan interface { + isInt32Rules_GreaterThan() +} + +type int32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be greater than 5 [int32.gt] + // int32 value = 1 [(buf.validate.field).int32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [int32.gt_lt] + // int32 other_value = 2 [(buf.validate.field).int32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [int32.gt_lt_exclusive] + // int32 another_value = 3 [(buf.validate.field).int32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int32 `protobuf:"varint,4,opt,name=gt,oneof"` +} + +type int32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified value + // (exclusive). If the value of `gte` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt32 { + // // value must be greater than or equal to 5 [int32.gte] + // int32 value = 1 [(buf.validate.field).int32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [int32.gte_lt] + // int32 other_value = 2 [(buf.validate.field).int32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [int32.gte_lt_exclusive] + // int32 another_value = 3 [(buf.validate.field).int32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int32 `protobuf:"varint,5,opt,name=gte,oneof"` +} + +func (*int32Rules_Gt) isInt32Rules_GreaterThan() {} + +func (*int32Rules_Gte) isInt32Rules_GreaterThan() {} + +// Int64Rules describes the rules applied to `int64` values. These +// rules may also be applied to the `google.protobuf.Int64Value` Well-Known-Type. +type Int64Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const int64 `protobuf:"varint,1,opt,name=const"` + xxx_hidden_LessThan isInt64Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isInt64Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []int64 `protobuf:"varint,6,rep,name=in"` + xxx_hidden_NotIn []int64 `protobuf:"varint,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []int64 `protobuf:"varint,9,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Int64Rules) Reset() { + *x = Int64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int64Rules) ProtoMessage() {} + +func (x *Int64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Int64Rules) GetConst() int64 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *Int64Rules) GetLt() int64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*int64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *Int64Rules) GetLte() int64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*int64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *Int64Rules) GetGt() int64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*int64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *Int64Rules) GetGte() int64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*int64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *Int64Rules) GetIn() []int64 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *Int64Rules) GetNotIn() []int64 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *Int64Rules) GetExample() []int64 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *Int64Rules) SetConst(v int64) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *Int64Rules) SetLt(v int64) { + x.xxx_hidden_LessThan = &int64Rules_Lt{v} +} + +func (x *Int64Rules) SetLte(v int64) { + x.xxx_hidden_LessThan = &int64Rules_Lte{v} +} + +func (x *Int64Rules) SetGt(v int64) { + x.xxx_hidden_GreaterThan = &int64Rules_Gt{v} +} + +func (x *Int64Rules) SetGte(v int64) { + x.xxx_hidden_GreaterThan = &int64Rules_Gte{v} +} + +func (x *Int64Rules) SetIn(v []int64) { + x.xxx_hidden_In = v +} + +func (x *Int64Rules) SetNotIn(v []int64) { + x.xxx_hidden_NotIn = v +} + +func (x *Int64Rules) SetExample(v []int64) { + x.xxx_hidden_Example = v +} + +func (x *Int64Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *Int64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *Int64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*int64Rules_Lt) + return ok +} + +func (x *Int64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*int64Rules_Lte) + return ok +} + +func (x *Int64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *Int64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*int64Rules_Gt) + return ok +} + +func (x *Int64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*int64Rules_Gte) + return ok +} + +func (x *Int64Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *Int64Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *Int64Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*int64Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *Int64Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*int64Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *Int64Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *Int64Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*int64Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *Int64Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*int64Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const Int64Rules_LessThan_not_set_case case_Int64Rules_LessThan = 0 +const Int64Rules_Lt_case case_Int64Rules_LessThan = 2 +const Int64Rules_Lte_case case_Int64Rules_LessThan = 3 + +func (x *Int64Rules) WhichLessThan() case_Int64Rules_LessThan { + if x == nil { + return Int64Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *int64Rules_Lt: + return Int64Rules_Lt_case + case *int64Rules_Lte: + return Int64Rules_Lte_case + default: + return Int64Rules_LessThan_not_set_case + } +} + +const Int64Rules_GreaterThan_not_set_case case_Int64Rules_GreaterThan = 0 +const Int64Rules_Gt_case case_Int64Rules_GreaterThan = 4 +const Int64Rules_Gte_case case_Int64Rules_GreaterThan = 5 + +func (x *Int64Rules) WhichGreaterThan() case_Int64Rules_GreaterThan { + if x == nil { + return Int64Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *int64Rules_Gt: + return Int64Rules_Gt_case + case *int64Rules_Gte: + return Int64Rules_Gte_case + default: + return Int64Rules_GreaterThan_not_set_case + } +} + +type Int64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must equal 42 + // int64 value = 1 [(buf.validate.field).int64.const = 42]; + // } + // + // ``` + Const *int64 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be less than 10 + // int64 value = 1 [(buf.validate.field).int64.lt = 10]; + // } + // + // ``` + Lt *int64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be less than or equal to 10 + // int64 value = 1 [(buf.validate.field).int64.lte = 10]; + // } + // + // ``` + Lte *int64 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be greater than 5 [int64.gt] + // int64 value = 1 [(buf.validate.field).int64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [int64.gt_lt] + // int64 other_value = 2 [(buf.validate.field).int64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [int64.gt_lt_exclusive] + // int64 another_value = 3 [(buf.validate.field).int64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be greater than or equal to 5 [int64.gte] + // int64 value = 1 [(buf.validate.field).int64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [int64.gte_lt] + // int64 other_value = 2 [(buf.validate.field).int64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [int64.gte_lt_exclusive] + // int64 another_value = 3 [(buf.validate.field).int64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int64 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyInt64 { + // // value must be in list [1, 2, 3] + // int64 value = 1 [(buf.validate.field).int64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must not be in list [1, 2, 3] + // int64 value = 1 [(buf.validate.field).int64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyInt64 { + // int64 value = 1 [ + // (buf.validate.field).int64.example = 1, + // (buf.validate.field).int64.example = -10 + // ]; + // } + // + // ``` + Example []int64 +} + +func (b0 Int64Rules_builder) Build() *Int64Rules { + m0 := &Int64Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &int64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &int64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &int64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &int64Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_Int64Rules_LessThan protoreflect.FieldNumber + +func (x case_Int64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[9].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_Int64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_Int64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[9].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isInt64Rules_LessThan interface { + isInt64Rules_LessThan() +} + +type int64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be less than 10 + // int64 value = 1 [(buf.validate.field).int64.lt = 10]; + // } + // + // ``` + Lt int64 `protobuf:"varint,2,opt,name=lt,oneof"` +} + +type int64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be less than or equal to 10 + // int64 value = 1 [(buf.validate.field).int64.lte = 10]; + // } + // + // ``` + Lte int64 `protobuf:"varint,3,opt,name=lte,oneof"` +} + +func (*int64Rules_Lt) isInt64Rules_LessThan() {} + +func (*int64Rules_Lte) isInt64Rules_LessThan() {} + +type isInt64Rules_GreaterThan interface { + isInt64Rules_GreaterThan() +} + +type int64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be greater than 5 [int64.gt] + // int64 value = 1 [(buf.validate.field).int64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [int64.gt_lt] + // int64 other_value = 2 [(buf.validate.field).int64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [int64.gt_lt_exclusive] + // int64 another_value = 3 [(buf.validate.field).int64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int64 `protobuf:"varint,4,opt,name=gt,oneof"` +} + +type int64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyInt64 { + // // value must be greater than or equal to 5 [int64.gte] + // int64 value = 1 [(buf.validate.field).int64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [int64.gte_lt] + // int64 other_value = 2 [(buf.validate.field).int64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [int64.gte_lt_exclusive] + // int64 another_value = 3 [(buf.validate.field).int64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int64 `protobuf:"varint,5,opt,name=gte,oneof"` +} + +func (*int64Rules_Gt) isInt64Rules_GreaterThan() {} + +func (*int64Rules_Gte) isInt64Rules_GreaterThan() {} + +// UInt32Rules describes the rules applied to `uint32` values. These +// rules may also be applied to the `google.protobuf.UInt32Value` Well-Known-Type. +type UInt32Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const uint32 `protobuf:"varint,1,opt,name=const"` + xxx_hidden_LessThan isUInt32Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isUInt32Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []uint32 `protobuf:"varint,6,rep,name=in"` + xxx_hidden_NotIn []uint32 `protobuf:"varint,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []uint32 `protobuf:"varint,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UInt32Rules) Reset() { + *x = UInt32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UInt32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt32Rules) ProtoMessage() {} + +func (x *UInt32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *UInt32Rules) GetConst() uint32 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *UInt32Rules) GetLt() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*uInt32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *UInt32Rules) GetLte() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*uInt32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *UInt32Rules) GetGt() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*uInt32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *UInt32Rules) GetGte() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*uInt32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *UInt32Rules) GetIn() []uint32 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *UInt32Rules) GetNotIn() []uint32 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *UInt32Rules) GetExample() []uint32 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *UInt32Rules) SetConst(v uint32) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *UInt32Rules) SetLt(v uint32) { + x.xxx_hidden_LessThan = &uInt32Rules_Lt{v} +} + +func (x *UInt32Rules) SetLte(v uint32) { + x.xxx_hidden_LessThan = &uInt32Rules_Lte{v} +} + +func (x *UInt32Rules) SetGt(v uint32) { + x.xxx_hidden_GreaterThan = &uInt32Rules_Gt{v} +} + +func (x *UInt32Rules) SetGte(v uint32) { + x.xxx_hidden_GreaterThan = &uInt32Rules_Gte{v} +} + +func (x *UInt32Rules) SetIn(v []uint32) { + x.xxx_hidden_In = v +} + +func (x *UInt32Rules) SetNotIn(v []uint32) { + x.xxx_hidden_NotIn = v +} + +func (x *UInt32Rules) SetExample(v []uint32) { + x.xxx_hidden_Example = v +} + +func (x *UInt32Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *UInt32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *UInt32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*uInt32Rules_Lt) + return ok +} + +func (x *UInt32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*uInt32Rules_Lte) + return ok +} + +func (x *UInt32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *UInt32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*uInt32Rules_Gt) + return ok +} + +func (x *UInt32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*uInt32Rules_Gte) + return ok +} + +func (x *UInt32Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *UInt32Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *UInt32Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*uInt32Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *UInt32Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*uInt32Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *UInt32Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *UInt32Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*uInt32Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *UInt32Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*uInt32Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const UInt32Rules_LessThan_not_set_case case_UInt32Rules_LessThan = 0 +const UInt32Rules_Lt_case case_UInt32Rules_LessThan = 2 +const UInt32Rules_Lte_case case_UInt32Rules_LessThan = 3 + +func (x *UInt32Rules) WhichLessThan() case_UInt32Rules_LessThan { + if x == nil { + return UInt32Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *uInt32Rules_Lt: + return UInt32Rules_Lt_case + case *uInt32Rules_Lte: + return UInt32Rules_Lte_case + default: + return UInt32Rules_LessThan_not_set_case + } +} + +const UInt32Rules_GreaterThan_not_set_case case_UInt32Rules_GreaterThan = 0 +const UInt32Rules_Gt_case case_UInt32Rules_GreaterThan = 4 +const UInt32Rules_Gte_case case_UInt32Rules_GreaterThan = 5 + +func (x *UInt32Rules) WhichGreaterThan() case_UInt32Rules_GreaterThan { + if x == nil { + return UInt32Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *uInt32Rules_Gt: + return UInt32Rules_Gt_case + case *uInt32Rules_Gte: + return UInt32Rules_Gte_case + default: + return UInt32Rules_GreaterThan_not_set_case + } +} + +type UInt32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must equal 42 + // uint32 value = 1 [(buf.validate.field).uint32.const = 42]; + // } + // + // ``` + Const *uint32 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be less than 10 + // uint32 value = 1 [(buf.validate.field).uint32.lt = 10]; + // } + // + // ``` + Lt *uint32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be less than or equal to 10 + // uint32 value = 1 [(buf.validate.field).uint32.lte = 10]; + // } + // + // ``` + Lte *uint32 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be greater than 5 [uint32.gt] + // uint32 value = 1 [(buf.validate.field).uint32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [uint32.gt_lt] + // uint32 other_value = 2 [(buf.validate.field).uint32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [uint32.gt_lt_exclusive] + // uint32 another_value = 3 [(buf.validate.field).uint32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *uint32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be greater than or equal to 5 [uint32.gte] + // uint32 value = 1 [(buf.validate.field).uint32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [uint32.gte_lt] + // uint32 other_value = 2 [(buf.validate.field).uint32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [uint32.gte_lt_exclusive] + // uint32 another_value = 3 [(buf.validate.field).uint32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *uint32 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be in list [1, 2, 3] + // uint32 value = 1 [(buf.validate.field).uint32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must not be in list [1, 2, 3] + // uint32 value = 1 [(buf.validate.field).uint32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyUInt32 { + // uint32 value = 1 [ + // (buf.validate.field).uint32.example = 1, + // (buf.validate.field).uint32.example = 10 + // ]; + // } + // + // ``` + Example []uint32 +} + +func (b0 UInt32Rules_builder) Build() *UInt32Rules { + m0 := &UInt32Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &uInt32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &uInt32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &uInt32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &uInt32Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_UInt32Rules_LessThan protoreflect.FieldNumber + +func (x case_UInt32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[10].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_UInt32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_UInt32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[10].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isUInt32Rules_LessThan interface { + isUInt32Rules_LessThan() +} + +type uInt32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be less than 10 + // uint32 value = 1 [(buf.validate.field).uint32.lt = 10]; + // } + // + // ``` + Lt uint32 `protobuf:"varint,2,opt,name=lt,oneof"` +} + +type uInt32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be less than or equal to 10 + // uint32 value = 1 [(buf.validate.field).uint32.lte = 10]; + // } + // + // ``` + Lte uint32 `protobuf:"varint,3,opt,name=lte,oneof"` +} + +func (*uInt32Rules_Lt) isUInt32Rules_LessThan() {} + +func (*uInt32Rules_Lte) isUInt32Rules_LessThan() {} + +type isUInt32Rules_GreaterThan interface { + isUInt32Rules_GreaterThan() +} + +type uInt32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be greater than 5 [uint32.gt] + // uint32 value = 1 [(buf.validate.field).uint32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [uint32.gt_lt] + // uint32 other_value = 2 [(buf.validate.field).uint32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [uint32.gt_lt_exclusive] + // uint32 another_value = 3 [(buf.validate.field).uint32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt uint32 `protobuf:"varint,4,opt,name=gt,oneof"` +} + +type uInt32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt32 { + // // value must be greater than or equal to 5 [uint32.gte] + // uint32 value = 1 [(buf.validate.field).uint32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [uint32.gte_lt] + // uint32 other_value = 2 [(buf.validate.field).uint32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [uint32.gte_lt_exclusive] + // uint32 another_value = 3 [(buf.validate.field).uint32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte uint32 `protobuf:"varint,5,opt,name=gte,oneof"` +} + +func (*uInt32Rules_Gt) isUInt32Rules_GreaterThan() {} + +func (*uInt32Rules_Gte) isUInt32Rules_GreaterThan() {} + +// UInt64Rules describes the rules applied to `uint64` values. These +// rules may also be applied to the `google.protobuf.UInt64Value` Well-Known-Type. +type UInt64Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const uint64 `protobuf:"varint,1,opt,name=const"` + xxx_hidden_LessThan isUInt64Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isUInt64Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []uint64 `protobuf:"varint,6,rep,name=in"` + xxx_hidden_NotIn []uint64 `protobuf:"varint,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []uint64 `protobuf:"varint,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UInt64Rules) Reset() { + *x = UInt64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UInt64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt64Rules) ProtoMessage() {} + +func (x *UInt64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *UInt64Rules) GetConst() uint64 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *UInt64Rules) GetLt() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*uInt64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *UInt64Rules) GetLte() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*uInt64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *UInt64Rules) GetGt() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*uInt64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *UInt64Rules) GetGte() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*uInt64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *UInt64Rules) GetIn() []uint64 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *UInt64Rules) GetNotIn() []uint64 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *UInt64Rules) GetExample() []uint64 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *UInt64Rules) SetConst(v uint64) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *UInt64Rules) SetLt(v uint64) { + x.xxx_hidden_LessThan = &uInt64Rules_Lt{v} +} + +func (x *UInt64Rules) SetLte(v uint64) { + x.xxx_hidden_LessThan = &uInt64Rules_Lte{v} +} + +func (x *UInt64Rules) SetGt(v uint64) { + x.xxx_hidden_GreaterThan = &uInt64Rules_Gt{v} +} + +func (x *UInt64Rules) SetGte(v uint64) { + x.xxx_hidden_GreaterThan = &uInt64Rules_Gte{v} +} + +func (x *UInt64Rules) SetIn(v []uint64) { + x.xxx_hidden_In = v +} + +func (x *UInt64Rules) SetNotIn(v []uint64) { + x.xxx_hidden_NotIn = v +} + +func (x *UInt64Rules) SetExample(v []uint64) { + x.xxx_hidden_Example = v +} + +func (x *UInt64Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *UInt64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *UInt64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*uInt64Rules_Lt) + return ok +} + +func (x *UInt64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*uInt64Rules_Lte) + return ok +} + +func (x *UInt64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *UInt64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*uInt64Rules_Gt) + return ok +} + +func (x *UInt64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*uInt64Rules_Gte) + return ok +} + +func (x *UInt64Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *UInt64Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *UInt64Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*uInt64Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *UInt64Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*uInt64Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *UInt64Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *UInt64Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*uInt64Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *UInt64Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*uInt64Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const UInt64Rules_LessThan_not_set_case case_UInt64Rules_LessThan = 0 +const UInt64Rules_Lt_case case_UInt64Rules_LessThan = 2 +const UInt64Rules_Lte_case case_UInt64Rules_LessThan = 3 + +func (x *UInt64Rules) WhichLessThan() case_UInt64Rules_LessThan { + if x == nil { + return UInt64Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *uInt64Rules_Lt: + return UInt64Rules_Lt_case + case *uInt64Rules_Lte: + return UInt64Rules_Lte_case + default: + return UInt64Rules_LessThan_not_set_case + } +} + +const UInt64Rules_GreaterThan_not_set_case case_UInt64Rules_GreaterThan = 0 +const UInt64Rules_Gt_case case_UInt64Rules_GreaterThan = 4 +const UInt64Rules_Gte_case case_UInt64Rules_GreaterThan = 5 + +func (x *UInt64Rules) WhichGreaterThan() case_UInt64Rules_GreaterThan { + if x == nil { + return UInt64Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *uInt64Rules_Gt: + return UInt64Rules_Gt_case + case *uInt64Rules_Gte: + return UInt64Rules_Gte_case + default: + return UInt64Rules_GreaterThan_not_set_case + } +} + +type UInt64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must equal 42 + // uint64 value = 1 [(buf.validate.field).uint64.const = 42]; + // } + // + // ``` + Const *uint64 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be less than 10 + // uint64 value = 1 [(buf.validate.field).uint64.lt = 10]; + // } + // + // ``` + Lt *uint64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be less than or equal to 10 + // uint64 value = 1 [(buf.validate.field).uint64.lte = 10]; + // } + // + // ``` + Lte *uint64 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be greater than 5 [uint64.gt] + // uint64 value = 1 [(buf.validate.field).uint64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [uint64.gt_lt] + // uint64 other_value = 2 [(buf.validate.field).uint64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [uint64.gt_lt_exclusive] + // uint64 another_value = 3 [(buf.validate.field).uint64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *uint64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be greater than or equal to 5 [uint64.gte] + // uint64 value = 1 [(buf.validate.field).uint64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [uint64.gte_lt] + // uint64 other_value = 2 [(buf.validate.field).uint64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [uint64.gte_lt_exclusive] + // uint64 another_value = 3 [(buf.validate.field).uint64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *uint64 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be in list [1, 2, 3] + // uint64 value = 1 [(buf.validate.field).uint64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must not be in list [1, 2, 3] + // uint64 value = 1 [(buf.validate.field).uint64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyUInt64 { + // uint64 value = 1 [ + // (buf.validate.field).uint64.example = 1, + // (buf.validate.field).uint64.example = -10 + // ]; + // } + // + // ``` + Example []uint64 +} + +func (b0 UInt64Rules_builder) Build() *UInt64Rules { + m0 := &UInt64Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &uInt64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &uInt64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &uInt64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &uInt64Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_UInt64Rules_LessThan protoreflect.FieldNumber + +func (x case_UInt64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[11].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_UInt64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_UInt64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[11].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isUInt64Rules_LessThan interface { + isUInt64Rules_LessThan() +} + +type uInt64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be less than 10 + // uint64 value = 1 [(buf.validate.field).uint64.lt = 10]; + // } + // + // ``` + Lt uint64 `protobuf:"varint,2,opt,name=lt,oneof"` +} + +type uInt64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be less than or equal to 10 + // uint64 value = 1 [(buf.validate.field).uint64.lte = 10]; + // } + // + // ``` + Lte uint64 `protobuf:"varint,3,opt,name=lte,oneof"` +} + +func (*uInt64Rules_Lt) isUInt64Rules_LessThan() {} + +func (*uInt64Rules_Lte) isUInt64Rules_LessThan() {} + +type isUInt64Rules_GreaterThan interface { + isUInt64Rules_GreaterThan() +} + +type uInt64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be greater than 5 [uint64.gt] + // uint64 value = 1 [(buf.validate.field).uint64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [uint64.gt_lt] + // uint64 other_value = 2 [(buf.validate.field).uint64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [uint64.gt_lt_exclusive] + // uint64 another_value = 3 [(buf.validate.field).uint64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt uint64 `protobuf:"varint,4,opt,name=gt,oneof"` +} + +type uInt64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyUInt64 { + // // value must be greater than or equal to 5 [uint64.gte] + // uint64 value = 1 [(buf.validate.field).uint64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [uint64.gte_lt] + // uint64 other_value = 2 [(buf.validate.field).uint64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [uint64.gte_lt_exclusive] + // uint64 another_value = 3 [(buf.validate.field).uint64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte uint64 `protobuf:"varint,5,opt,name=gte,oneof"` +} + +func (*uInt64Rules_Gt) isUInt64Rules_GreaterThan() {} + +func (*uInt64Rules_Gte) isUInt64Rules_GreaterThan() {} + +// SInt32Rules describes the rules applied to `sint32` values. +type SInt32Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const int32 `protobuf:"zigzag32,1,opt,name=const"` + xxx_hidden_LessThan isSInt32Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isSInt32Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []int32 `protobuf:"zigzag32,6,rep,name=in"` + xxx_hidden_NotIn []int32 `protobuf:"zigzag32,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []int32 `protobuf:"zigzag32,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SInt32Rules) Reset() { + *x = SInt32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SInt32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SInt32Rules) ProtoMessage() {} + +func (x *SInt32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SInt32Rules) GetConst() int32 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *SInt32Rules) GetLt() int32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*sInt32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *SInt32Rules) GetLte() int32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*sInt32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *SInt32Rules) GetGt() int32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*sInt32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *SInt32Rules) GetGte() int32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*sInt32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *SInt32Rules) GetIn() []int32 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *SInt32Rules) GetNotIn() []int32 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *SInt32Rules) GetExample() []int32 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *SInt32Rules) SetConst(v int32) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *SInt32Rules) SetLt(v int32) { + x.xxx_hidden_LessThan = &sInt32Rules_Lt{v} +} + +func (x *SInt32Rules) SetLte(v int32) { + x.xxx_hidden_LessThan = &sInt32Rules_Lte{v} +} + +func (x *SInt32Rules) SetGt(v int32) { + x.xxx_hidden_GreaterThan = &sInt32Rules_Gt{v} +} + +func (x *SInt32Rules) SetGte(v int32) { + x.xxx_hidden_GreaterThan = &sInt32Rules_Gte{v} +} + +func (x *SInt32Rules) SetIn(v []int32) { + x.xxx_hidden_In = v +} + +func (x *SInt32Rules) SetNotIn(v []int32) { + x.xxx_hidden_NotIn = v +} + +func (x *SInt32Rules) SetExample(v []int32) { + x.xxx_hidden_Example = v +} + +func (x *SInt32Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *SInt32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *SInt32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*sInt32Rules_Lt) + return ok +} + +func (x *SInt32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*sInt32Rules_Lte) + return ok +} + +func (x *SInt32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *SInt32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*sInt32Rules_Gt) + return ok +} + +func (x *SInt32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*sInt32Rules_Gte) + return ok +} + +func (x *SInt32Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *SInt32Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *SInt32Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*sInt32Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *SInt32Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*sInt32Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *SInt32Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *SInt32Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*sInt32Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *SInt32Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*sInt32Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const SInt32Rules_LessThan_not_set_case case_SInt32Rules_LessThan = 0 +const SInt32Rules_Lt_case case_SInt32Rules_LessThan = 2 +const SInt32Rules_Lte_case case_SInt32Rules_LessThan = 3 + +func (x *SInt32Rules) WhichLessThan() case_SInt32Rules_LessThan { + if x == nil { + return SInt32Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *sInt32Rules_Lt: + return SInt32Rules_Lt_case + case *sInt32Rules_Lte: + return SInt32Rules_Lte_case + default: + return SInt32Rules_LessThan_not_set_case + } +} + +const SInt32Rules_GreaterThan_not_set_case case_SInt32Rules_GreaterThan = 0 +const SInt32Rules_Gt_case case_SInt32Rules_GreaterThan = 4 +const SInt32Rules_Gte_case case_SInt32Rules_GreaterThan = 5 + +func (x *SInt32Rules) WhichGreaterThan() case_SInt32Rules_GreaterThan { + if x == nil { + return SInt32Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *sInt32Rules_Gt: + return SInt32Rules_Gt_case + case *sInt32Rules_Gte: + return SInt32Rules_Gte_case + default: + return SInt32Rules_GreaterThan_not_set_case + } +} + +type SInt32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must equal 42 + // sint32 value = 1 [(buf.validate.field).sint32.const = 42]; + // } + // + // ``` + Const *int32 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be less than 10 + // sint32 value = 1 [(buf.validate.field).sint32.lt = 10]; + // } + // + // ``` + Lt *int32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be less than or equal to 10 + // sint32 value = 1 [(buf.validate.field).sint32.lte = 10]; + // } + // + // ``` + Lte *int32 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be greater than 5 [sint32.gt] + // sint32 value = 1 [(buf.validate.field).sint32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sint32.gt_lt] + // sint32 other_value = 2 [(buf.validate.field).sint32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sint32.gt_lt_exclusive] + // sint32 another_value = 3 [(buf.validate.field).sint32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be greater than or equal to 5 [sint32.gte] + // sint32 value = 1 [(buf.validate.field).sint32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sint32.gte_lt] + // sint32 other_value = 2 [(buf.validate.field).sint32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sint32.gte_lt_exclusive] + // sint32 another_value = 3 [(buf.validate.field).sint32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int32 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySInt32 { + // // value must be in list [1, 2, 3] + // sint32 value = 1 [(buf.validate.field).sint32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must not be in list [1, 2, 3] + // sint32 value = 1 [(buf.validate.field).sint32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySInt32 { + // sint32 value = 1 [ + // (buf.validate.field).sint32.example = 1, + // (buf.validate.field).sint32.example = -10 + // ]; + // } + // + // ``` + Example []int32 +} + +func (b0 SInt32Rules_builder) Build() *SInt32Rules { + m0 := &SInt32Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &sInt32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &sInt32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &sInt32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &sInt32Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_SInt32Rules_LessThan protoreflect.FieldNumber + +func (x case_SInt32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[12].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_SInt32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_SInt32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[12].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isSInt32Rules_LessThan interface { + isSInt32Rules_LessThan() +} + +type sInt32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be less than 10 + // sint32 value = 1 [(buf.validate.field).sint32.lt = 10]; + // } + // + // ``` + Lt int32 `protobuf:"zigzag32,2,opt,name=lt,oneof"` +} + +type sInt32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be less than or equal to 10 + // sint32 value = 1 [(buf.validate.field).sint32.lte = 10]; + // } + // + // ``` + Lte int32 `protobuf:"zigzag32,3,opt,name=lte,oneof"` +} + +func (*sInt32Rules_Lt) isSInt32Rules_LessThan() {} + +func (*sInt32Rules_Lte) isSInt32Rules_LessThan() {} + +type isSInt32Rules_GreaterThan interface { + isSInt32Rules_GreaterThan() +} + +type sInt32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be greater than 5 [sint32.gt] + // sint32 value = 1 [(buf.validate.field).sint32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sint32.gt_lt] + // sint32 other_value = 2 [(buf.validate.field).sint32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sint32.gt_lt_exclusive] + // sint32 another_value = 3 [(buf.validate.field).sint32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int32 `protobuf:"zigzag32,4,opt,name=gt,oneof"` +} + +type sInt32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt32 { + // // value must be greater than or equal to 5 [sint32.gte] + // sint32 value = 1 [(buf.validate.field).sint32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sint32.gte_lt] + // sint32 other_value = 2 [(buf.validate.field).sint32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sint32.gte_lt_exclusive] + // sint32 another_value = 3 [(buf.validate.field).sint32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int32 `protobuf:"zigzag32,5,opt,name=gte,oneof"` +} + +func (*sInt32Rules_Gt) isSInt32Rules_GreaterThan() {} + +func (*sInt32Rules_Gte) isSInt32Rules_GreaterThan() {} + +// SInt64Rules describes the rules applied to `sint64` values. +type SInt64Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const int64 `protobuf:"zigzag64,1,opt,name=const"` + xxx_hidden_LessThan isSInt64Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isSInt64Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []int64 `protobuf:"zigzag64,6,rep,name=in"` + xxx_hidden_NotIn []int64 `protobuf:"zigzag64,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []int64 `protobuf:"zigzag64,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SInt64Rules) Reset() { + *x = SInt64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SInt64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SInt64Rules) ProtoMessage() {} + +func (x *SInt64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SInt64Rules) GetConst() int64 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *SInt64Rules) GetLt() int64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*sInt64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *SInt64Rules) GetLte() int64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*sInt64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *SInt64Rules) GetGt() int64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*sInt64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *SInt64Rules) GetGte() int64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*sInt64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *SInt64Rules) GetIn() []int64 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *SInt64Rules) GetNotIn() []int64 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *SInt64Rules) GetExample() []int64 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *SInt64Rules) SetConst(v int64) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *SInt64Rules) SetLt(v int64) { + x.xxx_hidden_LessThan = &sInt64Rules_Lt{v} +} + +func (x *SInt64Rules) SetLte(v int64) { + x.xxx_hidden_LessThan = &sInt64Rules_Lte{v} +} + +func (x *SInt64Rules) SetGt(v int64) { + x.xxx_hidden_GreaterThan = &sInt64Rules_Gt{v} +} + +func (x *SInt64Rules) SetGte(v int64) { + x.xxx_hidden_GreaterThan = &sInt64Rules_Gte{v} +} + +func (x *SInt64Rules) SetIn(v []int64) { + x.xxx_hidden_In = v +} + +func (x *SInt64Rules) SetNotIn(v []int64) { + x.xxx_hidden_NotIn = v +} + +func (x *SInt64Rules) SetExample(v []int64) { + x.xxx_hidden_Example = v +} + +func (x *SInt64Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *SInt64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *SInt64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*sInt64Rules_Lt) + return ok +} + +func (x *SInt64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*sInt64Rules_Lte) + return ok +} + +func (x *SInt64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *SInt64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*sInt64Rules_Gt) + return ok +} + +func (x *SInt64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*sInt64Rules_Gte) + return ok +} + +func (x *SInt64Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *SInt64Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *SInt64Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*sInt64Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *SInt64Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*sInt64Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *SInt64Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *SInt64Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*sInt64Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *SInt64Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*sInt64Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const SInt64Rules_LessThan_not_set_case case_SInt64Rules_LessThan = 0 +const SInt64Rules_Lt_case case_SInt64Rules_LessThan = 2 +const SInt64Rules_Lte_case case_SInt64Rules_LessThan = 3 + +func (x *SInt64Rules) WhichLessThan() case_SInt64Rules_LessThan { + if x == nil { + return SInt64Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *sInt64Rules_Lt: + return SInt64Rules_Lt_case + case *sInt64Rules_Lte: + return SInt64Rules_Lte_case + default: + return SInt64Rules_LessThan_not_set_case + } +} + +const SInt64Rules_GreaterThan_not_set_case case_SInt64Rules_GreaterThan = 0 +const SInt64Rules_Gt_case case_SInt64Rules_GreaterThan = 4 +const SInt64Rules_Gte_case case_SInt64Rules_GreaterThan = 5 + +func (x *SInt64Rules) WhichGreaterThan() case_SInt64Rules_GreaterThan { + if x == nil { + return SInt64Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *sInt64Rules_Gt: + return SInt64Rules_Gt_case + case *sInt64Rules_Gte: + return SInt64Rules_Gte_case + default: + return SInt64Rules_GreaterThan_not_set_case + } +} + +type SInt64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must equal 42 + // sint64 value = 1 [(buf.validate.field).sint64.const = 42]; + // } + // + // ``` + Const *int64 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be less than 10 + // sint64 value = 1 [(buf.validate.field).sint64.lt = 10]; + // } + // + // ``` + Lt *int64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be less than or equal to 10 + // sint64 value = 1 [(buf.validate.field).sint64.lte = 10]; + // } + // + // ``` + Lte *int64 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be greater than 5 [sint64.gt] + // sint64 value = 1 [(buf.validate.field).sint64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sint64.gt_lt] + // sint64 other_value = 2 [(buf.validate.field).sint64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sint64.gt_lt_exclusive] + // sint64 another_value = 3 [(buf.validate.field).sint64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be greater than or equal to 5 [sint64.gte] + // sint64 value = 1 [(buf.validate.field).sint64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sint64.gte_lt] + // sint64 other_value = 2 [(buf.validate.field).sint64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sint64.gte_lt_exclusive] + // sint64 another_value = 3 [(buf.validate.field).sint64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int64 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be in list [1, 2, 3] + // sint64 value = 1 [(buf.validate.field).sint64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must not be in list [1, 2, 3] + // sint64 value = 1 [(buf.validate.field).sint64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySInt64 { + // sint64 value = 1 [ + // (buf.validate.field).sint64.example = 1, + // (buf.validate.field).sint64.example = -10 + // ]; + // } + // + // ``` + Example []int64 +} + +func (b0 SInt64Rules_builder) Build() *SInt64Rules { + m0 := &SInt64Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &sInt64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &sInt64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &sInt64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &sInt64Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_SInt64Rules_LessThan protoreflect.FieldNumber + +func (x case_SInt64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[13].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_SInt64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_SInt64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[13].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isSInt64Rules_LessThan interface { + isSInt64Rules_LessThan() +} + +type sInt64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field + // < value). If the field value is equal to or greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be less than 10 + // sint64 value = 1 [(buf.validate.field).sint64.lt = 10]; + // } + // + // ``` + Lt int64 `protobuf:"zigzag64,2,opt,name=lt,oneof"` +} + +type sInt64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be less than or equal to 10 + // sint64 value = 1 [(buf.validate.field).sint64.lte = 10]; + // } + // + // ``` + Lte int64 `protobuf:"zigzag64,3,opt,name=lte,oneof"` +} + +func (*sInt64Rules_Lt) isSInt64Rules_LessThan() {} + +func (*sInt64Rules_Lte) isSInt64Rules_LessThan() {} + +type isSInt64Rules_GreaterThan interface { + isSInt64Rules_GreaterThan() +} + +type sInt64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be greater than 5 [sint64.gt] + // sint64 value = 1 [(buf.validate.field).sint64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sint64.gt_lt] + // sint64 other_value = 2 [(buf.validate.field).sint64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sint64.gt_lt_exclusive] + // sint64 another_value = 3 [(buf.validate.field).sint64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int64 `protobuf:"zigzag64,4,opt,name=gt,oneof"` +} + +type sInt64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySInt64 { + // // value must be greater than or equal to 5 [sint64.gte] + // sint64 value = 1 [(buf.validate.field).sint64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sint64.gte_lt] + // sint64 other_value = 2 [(buf.validate.field).sint64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sint64.gte_lt_exclusive] + // sint64 another_value = 3 [(buf.validate.field).sint64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int64 `protobuf:"zigzag64,5,opt,name=gte,oneof"` +} + +func (*sInt64Rules_Gt) isSInt64Rules_GreaterThan() {} + +func (*sInt64Rules_Gte) isSInt64Rules_GreaterThan() {} + +// Fixed32Rules describes the rules applied to `fixed32` values. +type Fixed32Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const uint32 `protobuf:"fixed32,1,opt,name=const"` + xxx_hidden_LessThan isFixed32Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isFixed32Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []uint32 `protobuf:"fixed32,6,rep,name=in"` + xxx_hidden_NotIn []uint32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []uint32 `protobuf:"fixed32,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Fixed32Rules) Reset() { + *x = Fixed32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Fixed32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fixed32Rules) ProtoMessage() {} + +func (x *Fixed32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Fixed32Rules) GetConst() uint32 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *Fixed32Rules) GetLt() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*fixed32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *Fixed32Rules) GetLte() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*fixed32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *Fixed32Rules) GetGt() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*fixed32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *Fixed32Rules) GetGte() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*fixed32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *Fixed32Rules) GetIn() []uint32 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *Fixed32Rules) GetNotIn() []uint32 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *Fixed32Rules) GetExample() []uint32 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *Fixed32Rules) SetConst(v uint32) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *Fixed32Rules) SetLt(v uint32) { + x.xxx_hidden_LessThan = &fixed32Rules_Lt{v} +} + +func (x *Fixed32Rules) SetLte(v uint32) { + x.xxx_hidden_LessThan = &fixed32Rules_Lte{v} +} + +func (x *Fixed32Rules) SetGt(v uint32) { + x.xxx_hidden_GreaterThan = &fixed32Rules_Gt{v} +} + +func (x *Fixed32Rules) SetGte(v uint32) { + x.xxx_hidden_GreaterThan = &fixed32Rules_Gte{v} +} + +func (x *Fixed32Rules) SetIn(v []uint32) { + x.xxx_hidden_In = v +} + +func (x *Fixed32Rules) SetNotIn(v []uint32) { + x.xxx_hidden_NotIn = v +} + +func (x *Fixed32Rules) SetExample(v []uint32) { + x.xxx_hidden_Example = v +} + +func (x *Fixed32Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *Fixed32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *Fixed32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*fixed32Rules_Lt) + return ok +} + +func (x *Fixed32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*fixed32Rules_Lte) + return ok +} + +func (x *Fixed32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *Fixed32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*fixed32Rules_Gt) + return ok +} + +func (x *Fixed32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*fixed32Rules_Gte) + return ok +} + +func (x *Fixed32Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *Fixed32Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *Fixed32Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*fixed32Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *Fixed32Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*fixed32Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *Fixed32Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *Fixed32Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*fixed32Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *Fixed32Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*fixed32Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const Fixed32Rules_LessThan_not_set_case case_Fixed32Rules_LessThan = 0 +const Fixed32Rules_Lt_case case_Fixed32Rules_LessThan = 2 +const Fixed32Rules_Lte_case case_Fixed32Rules_LessThan = 3 + +func (x *Fixed32Rules) WhichLessThan() case_Fixed32Rules_LessThan { + if x == nil { + return Fixed32Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *fixed32Rules_Lt: + return Fixed32Rules_Lt_case + case *fixed32Rules_Lte: + return Fixed32Rules_Lte_case + default: + return Fixed32Rules_LessThan_not_set_case + } +} + +const Fixed32Rules_GreaterThan_not_set_case case_Fixed32Rules_GreaterThan = 0 +const Fixed32Rules_Gt_case case_Fixed32Rules_GreaterThan = 4 +const Fixed32Rules_Gte_case case_Fixed32Rules_GreaterThan = 5 + +func (x *Fixed32Rules) WhichGreaterThan() case_Fixed32Rules_GreaterThan { + if x == nil { + return Fixed32Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *fixed32Rules_Gt: + return Fixed32Rules_Gt_case + case *fixed32Rules_Gte: + return Fixed32Rules_Gte_case + default: + return Fixed32Rules_GreaterThan_not_set_case + } +} + +type Fixed32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must equal 42 + // fixed32 value = 1 [(buf.validate.field).fixed32.const = 42]; + // } + // + // ``` + Const *uint32 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be less than 10 + // fixed32 value = 1 [(buf.validate.field).fixed32.lt = 10]; + // } + // + // ``` + Lt *uint32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be less than or equal to 10 + // fixed32 value = 1 [(buf.validate.field).fixed32.lte = 10]; + // } + // + // ``` + Lte *uint32 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be greater than 5 [fixed32.gt] + // fixed32 value = 1 [(buf.validate.field).fixed32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [fixed32.gt_lt] + // fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [fixed32.gt_lt_exclusive] + // fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *uint32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be greater than or equal to 5 [fixed32.gte] + // fixed32 value = 1 [(buf.validate.field).fixed32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [fixed32.gte_lt] + // fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [fixed32.gte_lt_exclusive] + // fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *uint32 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message + // is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be in list [1, 2, 3] + // fixed32 value = 1 [(buf.validate.field).fixed32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must not be in list [1, 2, 3] + // fixed32 value = 1 [(buf.validate.field).fixed32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFixed32 { + // fixed32 value = 1 [ + // (buf.validate.field).fixed32.example = 1, + // (buf.validate.field).fixed32.example = 2 + // ]; + // } + // + // ``` + Example []uint32 +} + +func (b0 Fixed32Rules_builder) Build() *Fixed32Rules { + m0 := &Fixed32Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &fixed32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &fixed32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &fixed32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &fixed32Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_Fixed32Rules_LessThan protoreflect.FieldNumber + +func (x case_Fixed32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[14].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_Fixed32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_Fixed32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[14].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFixed32Rules_LessThan interface { + isFixed32Rules_LessThan() +} + +type fixed32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be less than 10 + // fixed32 value = 1 [(buf.validate.field).fixed32.lt = 10]; + // } + // + // ``` + Lt uint32 `protobuf:"fixed32,2,opt,name=lt,oneof"` +} + +type fixed32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be less than or equal to 10 + // fixed32 value = 1 [(buf.validate.field).fixed32.lte = 10]; + // } + // + // ``` + Lte uint32 `protobuf:"fixed32,3,opt,name=lte,oneof"` +} + +func (*fixed32Rules_Lt) isFixed32Rules_LessThan() {} + +func (*fixed32Rules_Lte) isFixed32Rules_LessThan() {} + +type isFixed32Rules_GreaterThan interface { + isFixed32Rules_GreaterThan() +} + +type fixed32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be greater than 5 [fixed32.gt] + // fixed32 value = 1 [(buf.validate.field).fixed32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [fixed32.gt_lt] + // fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [fixed32.gt_lt_exclusive] + // fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt uint32 `protobuf:"fixed32,4,opt,name=gt,oneof"` +} + +type fixed32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed32 { + // // value must be greater than or equal to 5 [fixed32.gte] + // fixed32 value = 1 [(buf.validate.field).fixed32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [fixed32.gte_lt] + // fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [fixed32.gte_lt_exclusive] + // fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte uint32 `protobuf:"fixed32,5,opt,name=gte,oneof"` +} + +func (*fixed32Rules_Gt) isFixed32Rules_GreaterThan() {} + +func (*fixed32Rules_Gte) isFixed32Rules_GreaterThan() {} + +// Fixed64Rules describes the rules applied to `fixed64` values. +type Fixed64Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const uint64 `protobuf:"fixed64,1,opt,name=const"` + xxx_hidden_LessThan isFixed64Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isFixed64Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []uint64 `protobuf:"fixed64,6,rep,name=in"` + xxx_hidden_NotIn []uint64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []uint64 `protobuf:"fixed64,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Fixed64Rules) Reset() { + *x = Fixed64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Fixed64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fixed64Rules) ProtoMessage() {} + +func (x *Fixed64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Fixed64Rules) GetConst() uint64 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *Fixed64Rules) GetLt() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*fixed64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *Fixed64Rules) GetLte() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*fixed64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *Fixed64Rules) GetGt() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*fixed64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *Fixed64Rules) GetGte() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*fixed64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *Fixed64Rules) GetIn() []uint64 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *Fixed64Rules) GetNotIn() []uint64 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *Fixed64Rules) GetExample() []uint64 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *Fixed64Rules) SetConst(v uint64) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *Fixed64Rules) SetLt(v uint64) { + x.xxx_hidden_LessThan = &fixed64Rules_Lt{v} +} + +func (x *Fixed64Rules) SetLte(v uint64) { + x.xxx_hidden_LessThan = &fixed64Rules_Lte{v} +} + +func (x *Fixed64Rules) SetGt(v uint64) { + x.xxx_hidden_GreaterThan = &fixed64Rules_Gt{v} +} + +func (x *Fixed64Rules) SetGte(v uint64) { + x.xxx_hidden_GreaterThan = &fixed64Rules_Gte{v} +} + +func (x *Fixed64Rules) SetIn(v []uint64) { + x.xxx_hidden_In = v +} + +func (x *Fixed64Rules) SetNotIn(v []uint64) { + x.xxx_hidden_NotIn = v +} + +func (x *Fixed64Rules) SetExample(v []uint64) { + x.xxx_hidden_Example = v +} + +func (x *Fixed64Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *Fixed64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *Fixed64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*fixed64Rules_Lt) + return ok +} + +func (x *Fixed64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*fixed64Rules_Lte) + return ok +} + +func (x *Fixed64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *Fixed64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*fixed64Rules_Gt) + return ok +} + +func (x *Fixed64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*fixed64Rules_Gte) + return ok +} + +func (x *Fixed64Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *Fixed64Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *Fixed64Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*fixed64Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *Fixed64Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*fixed64Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *Fixed64Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *Fixed64Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*fixed64Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *Fixed64Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*fixed64Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const Fixed64Rules_LessThan_not_set_case case_Fixed64Rules_LessThan = 0 +const Fixed64Rules_Lt_case case_Fixed64Rules_LessThan = 2 +const Fixed64Rules_Lte_case case_Fixed64Rules_LessThan = 3 + +func (x *Fixed64Rules) WhichLessThan() case_Fixed64Rules_LessThan { + if x == nil { + return Fixed64Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *fixed64Rules_Lt: + return Fixed64Rules_Lt_case + case *fixed64Rules_Lte: + return Fixed64Rules_Lte_case + default: + return Fixed64Rules_LessThan_not_set_case + } +} + +const Fixed64Rules_GreaterThan_not_set_case case_Fixed64Rules_GreaterThan = 0 +const Fixed64Rules_Gt_case case_Fixed64Rules_GreaterThan = 4 +const Fixed64Rules_Gte_case case_Fixed64Rules_GreaterThan = 5 + +func (x *Fixed64Rules) WhichGreaterThan() case_Fixed64Rules_GreaterThan { + if x == nil { + return Fixed64Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *fixed64Rules_Gt: + return Fixed64Rules_Gt_case + case *fixed64Rules_Gte: + return Fixed64Rules_Gte_case + default: + return Fixed64Rules_GreaterThan_not_set_case + } +} + +type Fixed64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must equal 42 + // fixed64 value = 1 [(buf.validate.field).fixed64.const = 42]; + // } + // + // ``` + Const *uint64 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be less than 10 + // fixed64 value = 1 [(buf.validate.field).fixed64.lt = 10]; + // } + // + // ``` + Lt *uint64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be less than or equal to 10 + // fixed64 value = 1 [(buf.validate.field).fixed64.lte = 10]; + // } + // + // ``` + Lte *uint64 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be greater than 5 [fixed64.gt] + // fixed64 value = 1 [(buf.validate.field).fixed64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [fixed64.gt_lt] + // fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [fixed64.gt_lt_exclusive] + // fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *uint64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be greater than or equal to 5 [fixed64.gte] + // fixed64 value = 1 [(buf.validate.field).fixed64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [fixed64.gte_lt] + // fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [fixed64.gte_lt_exclusive] + // fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *uint64 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be in list [1, 2, 3] + // fixed64 value = 1 [(buf.validate.field).fixed64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []uint64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must not be in list [1, 2, 3] + // fixed64 value = 1 [(buf.validate.field).fixed64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []uint64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyFixed64 { + // fixed64 value = 1 [ + // (buf.validate.field).fixed64.example = 1, + // (buf.validate.field).fixed64.example = 2 + // ]; + // } + // + // ``` + Example []uint64 +} + +func (b0 Fixed64Rules_builder) Build() *Fixed64Rules { + m0 := &Fixed64Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &fixed64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &fixed64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &fixed64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &fixed64Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_Fixed64Rules_LessThan protoreflect.FieldNumber + +func (x case_Fixed64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[15].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_Fixed64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_Fixed64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[15].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFixed64Rules_LessThan interface { + isFixed64Rules_LessThan() +} + +type fixed64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be less than 10 + // fixed64 value = 1 [(buf.validate.field).fixed64.lt = 10]; + // } + // + // ``` + Lt uint64 `protobuf:"fixed64,2,opt,name=lt,oneof"` +} + +type fixed64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be less than or equal to 10 + // fixed64 value = 1 [(buf.validate.field).fixed64.lte = 10]; + // } + // + // ``` + Lte uint64 `protobuf:"fixed64,3,opt,name=lte,oneof"` +} + +func (*fixed64Rules_Lt) isFixed64Rules_LessThan() {} + +func (*fixed64Rules_Lte) isFixed64Rules_LessThan() {} + +type isFixed64Rules_GreaterThan interface { + isFixed64Rules_GreaterThan() +} + +type fixed64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be greater than 5 [fixed64.gt] + // fixed64 value = 1 [(buf.validate.field).fixed64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [fixed64.gt_lt] + // fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [fixed64.gt_lt_exclusive] + // fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt uint64 `protobuf:"fixed64,4,opt,name=gt,oneof"` +} + +type fixed64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyFixed64 { + // // value must be greater than or equal to 5 [fixed64.gte] + // fixed64 value = 1 [(buf.validate.field).fixed64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [fixed64.gte_lt] + // fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [fixed64.gte_lt_exclusive] + // fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte uint64 `protobuf:"fixed64,5,opt,name=gte,oneof"` +} + +func (*fixed64Rules_Gt) isFixed64Rules_GreaterThan() {} + +func (*fixed64Rules_Gte) isFixed64Rules_GreaterThan() {} + +// SFixed32Rules describes the rules applied to `fixed32` values. +type SFixed32Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const int32 `protobuf:"fixed32,1,opt,name=const"` + xxx_hidden_LessThan isSFixed32Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isSFixed32Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []int32 `protobuf:"fixed32,6,rep,name=in"` + xxx_hidden_NotIn []int32 `protobuf:"fixed32,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []int32 `protobuf:"fixed32,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SFixed32Rules) Reset() { + *x = SFixed32Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SFixed32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SFixed32Rules) ProtoMessage() {} + +func (x *SFixed32Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SFixed32Rules) GetConst() int32 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *SFixed32Rules) GetLt() int32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*sFixed32Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *SFixed32Rules) GetLte() int32 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*sFixed32Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *SFixed32Rules) GetGt() int32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*sFixed32Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *SFixed32Rules) GetGte() int32 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*sFixed32Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *SFixed32Rules) GetIn() []int32 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *SFixed32Rules) GetNotIn() []int32 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *SFixed32Rules) GetExample() []int32 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *SFixed32Rules) SetConst(v int32) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *SFixed32Rules) SetLt(v int32) { + x.xxx_hidden_LessThan = &sFixed32Rules_Lt{v} +} + +func (x *SFixed32Rules) SetLte(v int32) { + x.xxx_hidden_LessThan = &sFixed32Rules_Lte{v} +} + +func (x *SFixed32Rules) SetGt(v int32) { + x.xxx_hidden_GreaterThan = &sFixed32Rules_Gt{v} +} + +func (x *SFixed32Rules) SetGte(v int32) { + x.xxx_hidden_GreaterThan = &sFixed32Rules_Gte{v} +} + +func (x *SFixed32Rules) SetIn(v []int32) { + x.xxx_hidden_In = v +} + +func (x *SFixed32Rules) SetNotIn(v []int32) { + x.xxx_hidden_NotIn = v +} + +func (x *SFixed32Rules) SetExample(v []int32) { + x.xxx_hidden_Example = v +} + +func (x *SFixed32Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *SFixed32Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *SFixed32Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*sFixed32Rules_Lt) + return ok +} + +func (x *SFixed32Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*sFixed32Rules_Lte) + return ok +} + +func (x *SFixed32Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *SFixed32Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*sFixed32Rules_Gt) + return ok +} + +func (x *SFixed32Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*sFixed32Rules_Gte) + return ok +} + +func (x *SFixed32Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *SFixed32Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *SFixed32Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*sFixed32Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *SFixed32Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*sFixed32Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *SFixed32Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *SFixed32Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*sFixed32Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *SFixed32Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*sFixed32Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const SFixed32Rules_LessThan_not_set_case case_SFixed32Rules_LessThan = 0 +const SFixed32Rules_Lt_case case_SFixed32Rules_LessThan = 2 +const SFixed32Rules_Lte_case case_SFixed32Rules_LessThan = 3 + +func (x *SFixed32Rules) WhichLessThan() case_SFixed32Rules_LessThan { + if x == nil { + return SFixed32Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *sFixed32Rules_Lt: + return SFixed32Rules_Lt_case + case *sFixed32Rules_Lte: + return SFixed32Rules_Lte_case + default: + return SFixed32Rules_LessThan_not_set_case + } +} + +const SFixed32Rules_GreaterThan_not_set_case case_SFixed32Rules_GreaterThan = 0 +const SFixed32Rules_Gt_case case_SFixed32Rules_GreaterThan = 4 +const SFixed32Rules_Gte_case case_SFixed32Rules_GreaterThan = 5 + +func (x *SFixed32Rules) WhichGreaterThan() case_SFixed32Rules_GreaterThan { + if x == nil { + return SFixed32Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *sFixed32Rules_Gt: + return SFixed32Rules_Gt_case + case *sFixed32Rules_Gte: + return SFixed32Rules_Gte_case + default: + return SFixed32Rules_GreaterThan_not_set_case + } +} + +type SFixed32Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must equal 42 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.const = 42]; + // } + // + // ``` + Const *int32 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be less than 10 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.lt = 10]; + // } + // + // ``` + Lt *int32 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be less than or equal to 10 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.lte = 10]; + // } + // + // ``` + Lte *int32 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be greater than 5 [sfixed32.gt] + // sfixed32 value = 1 [(buf.validate.field).sfixed32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sfixed32.gt_lt] + // sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sfixed32.gt_lt_exclusive] + // sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int32 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be greater than or equal to 5 [sfixed32.gte] + // sfixed32 value = 1 [(buf.validate.field).sfixed32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sfixed32.gte_lt] + // sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sfixed32.gte_lt_exclusive] + // sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int32 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be in list [1, 2, 3] + // sfixed32 value = 1 [(buf.validate.field).sfixed32 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int32 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must not be in list [1, 2, 3] + // sfixed32 value = 1 [(buf.validate.field).sfixed32 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySFixed32 { + // sfixed32 value = 1 [ + // (buf.validate.field).sfixed32.example = 1, + // (buf.validate.field).sfixed32.example = 2 + // ]; + // } + // + // ``` + Example []int32 +} + +func (b0 SFixed32Rules_builder) Build() *SFixed32Rules { + m0 := &SFixed32Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &sFixed32Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &sFixed32Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &sFixed32Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &sFixed32Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_SFixed32Rules_LessThan protoreflect.FieldNumber + +func (x case_SFixed32Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[16].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_SFixed32Rules_GreaterThan protoreflect.FieldNumber + +func (x case_SFixed32Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[16].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isSFixed32Rules_LessThan interface { + isSFixed32Rules_LessThan() +} + +type sFixed32Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be less than 10 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.lt = 10]; + // } + // + // ``` + Lt int32 `protobuf:"fixed32,2,opt,name=lt,oneof"` +} + +type sFixed32Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be less than or equal to 10 + // sfixed32 value = 1 [(buf.validate.field).sfixed32.lte = 10]; + // } + // + // ``` + Lte int32 `protobuf:"fixed32,3,opt,name=lte,oneof"` +} + +func (*sFixed32Rules_Lt) isSFixed32Rules_LessThan() {} + +func (*sFixed32Rules_Lte) isSFixed32Rules_LessThan() {} + +type isSFixed32Rules_GreaterThan interface { + isSFixed32Rules_GreaterThan() +} + +type sFixed32Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be greater than 5 [sfixed32.gt] + // sfixed32 value = 1 [(buf.validate.field).sfixed32.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sfixed32.gt_lt] + // sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sfixed32.gt_lt_exclusive] + // sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int32 `protobuf:"fixed32,4,opt,name=gt,oneof"` +} + +type sFixed32Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed32 { + // // value must be greater than or equal to 5 [sfixed32.gte] + // sfixed32 value = 1 [(buf.validate.field).sfixed32.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sfixed32.gte_lt] + // sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sfixed32.gte_lt_exclusive] + // sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int32 `protobuf:"fixed32,5,opt,name=gte,oneof"` +} + +func (*sFixed32Rules_Gt) isSFixed32Rules_GreaterThan() {} + +func (*sFixed32Rules_Gte) isSFixed32Rules_GreaterThan() {} + +// SFixed64Rules describes the rules applied to `fixed64` values. +type SFixed64Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const int64 `protobuf:"fixed64,1,opt,name=const"` + xxx_hidden_LessThan isSFixed64Rules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isSFixed64Rules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In []int64 `protobuf:"fixed64,6,rep,name=in"` + xxx_hidden_NotIn []int64 `protobuf:"fixed64,7,rep,name=not_in,json=notIn"` + xxx_hidden_Example []int64 `protobuf:"fixed64,8,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SFixed64Rules) Reset() { + *x = SFixed64Rules{} + mi := &file_buf_validate_validate_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SFixed64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SFixed64Rules) ProtoMessage() {} + +func (x *SFixed64Rules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SFixed64Rules) GetConst() int64 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *SFixed64Rules) GetLt() int64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*sFixed64Rules_Lt); ok { + return x.Lt + } + } + return 0 +} + +func (x *SFixed64Rules) GetLte() int64 { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*sFixed64Rules_Lte); ok { + return x.Lte + } + } + return 0 +} + +func (x *SFixed64Rules) GetGt() int64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*sFixed64Rules_Gt); ok { + return x.Gt + } + } + return 0 +} + +func (x *SFixed64Rules) GetGte() int64 { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*sFixed64Rules_Gte); ok { + return x.Gte + } + } + return 0 +} + +func (x *SFixed64Rules) GetIn() []int64 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *SFixed64Rules) GetNotIn() []int64 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *SFixed64Rules) GetExample() []int64 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *SFixed64Rules) SetConst(v int64) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *SFixed64Rules) SetLt(v int64) { + x.xxx_hidden_LessThan = &sFixed64Rules_Lt{v} +} + +func (x *SFixed64Rules) SetLte(v int64) { + x.xxx_hidden_LessThan = &sFixed64Rules_Lte{v} +} + +func (x *SFixed64Rules) SetGt(v int64) { + x.xxx_hidden_GreaterThan = &sFixed64Rules_Gt{v} +} + +func (x *SFixed64Rules) SetGte(v int64) { + x.xxx_hidden_GreaterThan = &sFixed64Rules_Gte{v} +} + +func (x *SFixed64Rules) SetIn(v []int64) { + x.xxx_hidden_In = v +} + +func (x *SFixed64Rules) SetNotIn(v []int64) { + x.xxx_hidden_NotIn = v +} + +func (x *SFixed64Rules) SetExample(v []int64) { + x.xxx_hidden_Example = v +} + +func (x *SFixed64Rules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *SFixed64Rules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *SFixed64Rules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*sFixed64Rules_Lt) + return ok +} + +func (x *SFixed64Rules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*sFixed64Rules_Lte) + return ok +} + +func (x *SFixed64Rules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *SFixed64Rules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*sFixed64Rules_Gt) + return ok +} + +func (x *SFixed64Rules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*sFixed64Rules_Gte) + return ok +} + +func (x *SFixed64Rules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *SFixed64Rules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *SFixed64Rules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*sFixed64Rules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *SFixed64Rules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*sFixed64Rules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *SFixed64Rules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *SFixed64Rules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*sFixed64Rules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *SFixed64Rules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*sFixed64Rules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const SFixed64Rules_LessThan_not_set_case case_SFixed64Rules_LessThan = 0 +const SFixed64Rules_Lt_case case_SFixed64Rules_LessThan = 2 +const SFixed64Rules_Lte_case case_SFixed64Rules_LessThan = 3 + +func (x *SFixed64Rules) WhichLessThan() case_SFixed64Rules_LessThan { + if x == nil { + return SFixed64Rules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *sFixed64Rules_Lt: + return SFixed64Rules_Lt_case + case *sFixed64Rules_Lte: + return SFixed64Rules_Lte_case + default: + return SFixed64Rules_LessThan_not_set_case + } +} + +const SFixed64Rules_GreaterThan_not_set_case case_SFixed64Rules_GreaterThan = 0 +const SFixed64Rules_Gt_case case_SFixed64Rules_GreaterThan = 4 +const SFixed64Rules_Gte_case case_SFixed64Rules_GreaterThan = 5 + +func (x *SFixed64Rules) WhichGreaterThan() case_SFixed64Rules_GreaterThan { + if x == nil { + return SFixed64Rules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *sFixed64Rules_Gt: + return SFixed64Rules_Gt_case + case *sFixed64Rules_Gte: + return SFixed64Rules_Gte_case + default: + return SFixed64Rules_GreaterThan_not_set_case + } +} + +type SFixed64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must equal 42 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.const = 42]; + // } + // + // ``` + Const *int64 + // Fields of oneof xxx_hidden_LessThan: + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be less than 10 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.lt = 10]; + // } + // + // ``` + Lt *int64 + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be less than or equal to 10 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.lte = 10]; + // } + // + // ``` + Lte *int64 + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be greater than 5 [sfixed64.gt] + // sfixed64 value = 1 [(buf.validate.field).sfixed64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sfixed64.gt_lt] + // sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sfixed64.gt_lt_exclusive] + // sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt *int64 + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be greater than or equal to 5 [sfixed64.gte] + // sfixed64 value = 1 [(buf.validate.field).sfixed64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sfixed64.gte_lt] + // sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sfixed64.gte_lt_exclusive] + // sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte *int64 + // -- end of xxx_hidden_GreaterThan + // `in` requires the field value to be equal to one of the specified values. + // If the field value isn't one of the specified values, an error message is + // generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be in list [1, 2, 3] + // sfixed64 value = 1 [(buf.validate.field).sfixed64 = { in: [1, 2, 3] }]; + // } + // + // ``` + In []int64 + // `not_in` requires the field value to not be equal to any of the specified + // values. If the field value is one of the specified values, an error + // message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must not be in list [1, 2, 3] + // sfixed64 value = 1 [(buf.validate.field).sfixed64 = { not_in: [1, 2, 3] }]; + // } + // + // ``` + NotIn []int64 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MySFixed64 { + // sfixed64 value = 1 [ + // (buf.validate.field).sfixed64.example = 1, + // (buf.validate.field).sfixed64.example = 2 + // ]; + // } + // + // ``` + Example []int64 +} + +func (b0 SFixed64Rules_builder) Build() *SFixed64Rules { + m0 := &SFixed64Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_Const = *b.Const + } + if b.Lt != nil { + x.xxx_hidden_LessThan = &sFixed64Rules_Lt{*b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &sFixed64Rules_Lte{*b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &sFixed64Rules_Gt{*b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &sFixed64Rules_Gte{*b.Gte} + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_SFixed64Rules_LessThan protoreflect.FieldNumber + +func (x case_SFixed64Rules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[17].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_SFixed64Rules_GreaterThan protoreflect.FieldNumber + +func (x case_SFixed64Rules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[17].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isSFixed64Rules_LessThan interface { + isSFixed64Rules_LessThan() +} + +type sFixed64Rules_Lt struct { + // `lt` requires the field value to be less than the specified value (field < + // value). If the field value is equal to or greater than the specified value, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be less than 10 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.lt = 10]; + // } + // + // ``` + Lt int64 `protobuf:"fixed64,2,opt,name=lt,oneof"` +} + +type sFixed64Rules_Lte struct { + // `lte` requires the field value to be less than or equal to the specified + // value (field <= value). If the field value is greater than the specified + // value, an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be less than or equal to 10 + // sfixed64 value = 1 [(buf.validate.field).sfixed64.lte = 10]; + // } + // + // ``` + Lte int64 `protobuf:"fixed64,3,opt,name=lte,oneof"` +} + +func (*sFixed64Rules_Lt) isSFixed64Rules_LessThan() {} + +func (*sFixed64Rules_Lte) isSFixed64Rules_LessThan() {} + +type isSFixed64Rules_GreaterThan interface { + isSFixed64Rules_GreaterThan() +} + +type sFixed64Rules_Gt struct { + // `gt` requires the field value to be greater than the specified value + // (exclusive). If the value of `gt` is larger than a specified `lt` or + // `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be greater than 5 [sfixed64.gt] + // sfixed64 value = 1 [(buf.validate.field).sfixed64.gt = 5]; + // + // // value must be greater than 5 and less than 10 [sfixed64.gt_lt] + // sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gt: 5, lt: 10 }]; + // + // // value must be greater than 10 or less than 5 [sfixed64.gt_lt_exclusive] + // sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gt: 10, lt: 5 }]; + // } + // + // ``` + Gt int64 `protobuf:"fixed64,4,opt,name=gt,oneof"` +} + +type sFixed64Rules_Gte struct { + // `gte` requires the field value to be greater than or equal to the specified + // value (exclusive). If the value of `gte` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MySFixed64 { + // // value must be greater than or equal to 5 [sfixed64.gte] + // sfixed64 value = 1 [(buf.validate.field).sfixed64.gte = 5]; + // + // // value must be greater than or equal to 5 and less than 10 [sfixed64.gte_lt] + // sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gte: 5, lt: 10 }]; + // + // // value must be greater than or equal to 10 or less than 5 [sfixed64.gte_lt_exclusive] + // sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gte: 10, lt: 5 }]; + // } + // + // ``` + Gte int64 `protobuf:"fixed64,5,opt,name=gte,oneof"` +} + +func (*sFixed64Rules_Gt) isSFixed64Rules_GreaterThan() {} + +func (*sFixed64Rules_Gte) isSFixed64Rules_GreaterThan() {} + +// BoolRules describes the rules applied to `bool` values. These rules +// may also be applied to the `google.protobuf.BoolValue` Well-Known-Type. +type BoolRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const bool `protobuf:"varint,1,opt,name=const"` + xxx_hidden_Example []bool `protobuf:"varint,2,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BoolRules) Reset() { + *x = BoolRules{} + mi := &file_buf_validate_validate_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BoolRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolRules) ProtoMessage() {} + +func (x *BoolRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BoolRules) GetConst() bool { + if x != nil { + return x.xxx_hidden_Const + } + return false +} + +func (x *BoolRules) GetExample() []bool { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *BoolRules) SetConst(v bool) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2) +} + +func (x *BoolRules) SetExample(v []bool) { + x.xxx_hidden_Example = v +} + +func (x *BoolRules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *BoolRules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = false +} + +type BoolRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified boolean value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBool { + // // value must equal true + // bool value = 1 [(buf.validate.field).bool.const = true]; + // } + // + // ``` + Const *bool + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyBool { + // bool value = 1 [ + // (buf.validate.field).bool.example = 1, + // (buf.validate.field).bool.example = 2 + // ]; + // } + // + // ``` + Example []bool +} + +func (b0 BoolRules_builder) Build() *BoolRules { + m0 := &BoolRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2) + x.xxx_hidden_Const = *b.Const + } + x.xxx_hidden_Example = b.Example + return m0 +} + +// StringRules describes the rules applied to `string` values These +// rules may also be applied to the `google.protobuf.StringValue` Well-Known-Type. +type StringRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const *string `protobuf:"bytes,1,opt,name=const"` + xxx_hidden_Len uint64 `protobuf:"varint,19,opt,name=len"` + xxx_hidden_MinLen uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen"` + xxx_hidden_MaxLen uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen"` + xxx_hidden_LenBytes uint64 `protobuf:"varint,20,opt,name=len_bytes,json=lenBytes"` + xxx_hidden_MinBytes uint64 `protobuf:"varint,4,opt,name=min_bytes,json=minBytes"` + xxx_hidden_MaxBytes uint64 `protobuf:"varint,5,opt,name=max_bytes,json=maxBytes"` + xxx_hidden_Pattern *string `protobuf:"bytes,6,opt,name=pattern"` + xxx_hidden_Prefix *string `protobuf:"bytes,7,opt,name=prefix"` + xxx_hidden_Suffix *string `protobuf:"bytes,8,opt,name=suffix"` + xxx_hidden_Contains *string `protobuf:"bytes,9,opt,name=contains"` + xxx_hidden_NotContains *string `protobuf:"bytes,23,opt,name=not_contains,json=notContains"` + xxx_hidden_In []string `protobuf:"bytes,10,rep,name=in"` + xxx_hidden_NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn"` + xxx_hidden_WellKnown isStringRules_WellKnown `protobuf_oneof:"well_known"` + xxx_hidden_Strict bool `protobuf:"varint,25,opt,name=strict"` + xxx_hidden_Example []string `protobuf:"bytes,34,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringRules) Reset() { + *x = StringRules{} + mi := &file_buf_validate_validate_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringRules) ProtoMessage() {} + +func (x *StringRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *StringRules) GetConst() string { + if x != nil { + if x.xxx_hidden_Const != nil { + return *x.xxx_hidden_Const + } + return "" + } + return "" +} + +func (x *StringRules) GetLen() uint64 { + if x != nil { + return x.xxx_hidden_Len + } + return 0 +} + +func (x *StringRules) GetMinLen() uint64 { + if x != nil { + return x.xxx_hidden_MinLen + } + return 0 +} + +func (x *StringRules) GetMaxLen() uint64 { + if x != nil { + return x.xxx_hidden_MaxLen + } + return 0 +} + +func (x *StringRules) GetLenBytes() uint64 { + if x != nil { + return x.xxx_hidden_LenBytes + } + return 0 +} + +func (x *StringRules) GetMinBytes() uint64 { + if x != nil { + return x.xxx_hidden_MinBytes + } + return 0 +} + +func (x *StringRules) GetMaxBytes() uint64 { + if x != nil { + return x.xxx_hidden_MaxBytes + } + return 0 +} + +func (x *StringRules) GetPattern() string { + if x != nil { + if x.xxx_hidden_Pattern != nil { + return *x.xxx_hidden_Pattern + } + return "" + } + return "" +} + +func (x *StringRules) GetPrefix() string { + if x != nil { + if x.xxx_hidden_Prefix != nil { + return *x.xxx_hidden_Prefix + } + return "" + } + return "" +} + +func (x *StringRules) GetSuffix() string { + if x != nil { + if x.xxx_hidden_Suffix != nil { + return *x.xxx_hidden_Suffix + } + return "" + } + return "" +} + +func (x *StringRules) GetContains() string { + if x != nil { + if x.xxx_hidden_Contains != nil { + return *x.xxx_hidden_Contains + } + return "" + } + return "" +} + +func (x *StringRules) GetNotContains() string { + if x != nil { + if x.xxx_hidden_NotContains != nil { + return *x.xxx_hidden_NotContains + } + return "" + } + return "" +} + +func (x *StringRules) GetIn() []string { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *StringRules) GetNotIn() []string { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *StringRules) GetEmail() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Email); ok { + return x.Email + } + } + return false +} + +func (x *StringRules) GetHostname() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Hostname); ok { + return x.Hostname + } + } + return false +} + +func (x *StringRules) GetIp() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Ip); ok { + return x.Ip + } + } + return false +} + +func (x *StringRules) GetIpv4() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4); ok { + return x.Ipv4 + } + } + return false +} + +func (x *StringRules) GetIpv6() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6); ok { + return x.Ipv6 + } + } + return false +} + +func (x *StringRules) GetUri() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Uri); ok { + return x.Uri + } + } + return false +} + +func (x *StringRules) GetUriRef() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_UriRef); ok { + return x.UriRef + } + } + return false +} + +func (x *StringRules) GetAddress() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Address); ok { + return x.Address + } + } + return false +} + +func (x *StringRules) GetUuid() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Uuid); ok { + return x.Uuid + } + } + return false +} + +func (x *StringRules) GetTuuid() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Tuuid); ok { + return x.Tuuid + } + } + return false +} + +func (x *StringRules) GetIpWithPrefixlen() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_IpWithPrefixlen); ok { + return x.IpWithPrefixlen + } + } + return false +} + +func (x *StringRules) GetIpv4WithPrefixlen() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4WithPrefixlen); ok { + return x.Ipv4WithPrefixlen + } + } + return false +} + +func (x *StringRules) GetIpv6WithPrefixlen() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6WithPrefixlen); ok { + return x.Ipv6WithPrefixlen + } + } + return false +} + +func (x *StringRules) GetIpPrefix() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_IpPrefix); ok { + return x.IpPrefix + } + } + return false +} + +func (x *StringRules) GetIpv4Prefix() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4Prefix); ok { + return x.Ipv4Prefix + } + } + return false +} + +func (x *StringRules) GetIpv6Prefix() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6Prefix); ok { + return x.Ipv6Prefix + } + } + return false +} + +func (x *StringRules) GetHostAndPort() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_HostAndPort); ok { + return x.HostAndPort + } + } + return false +} + +func (x *StringRules) GetWellKnownRegex() KnownRegex { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*stringRules_WellKnownRegex); ok { + return x.WellKnownRegex + } + } + return KnownRegex_KNOWN_REGEX_UNSPECIFIED +} + +func (x *StringRules) GetStrict() bool { + if x != nil { + return x.xxx_hidden_Strict + } + return false +} + +func (x *StringRules) GetExample() []string { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *StringRules) SetConst(v string) { + x.xxx_hidden_Const = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 17) +} + +func (x *StringRules) SetLen(v uint64) { + x.xxx_hidden_Len = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 17) +} + +func (x *StringRules) SetMinLen(v uint64) { + x.xxx_hidden_MinLen = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 17) +} + +func (x *StringRules) SetMaxLen(v uint64) { + x.xxx_hidden_MaxLen = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 17) +} + +func (x *StringRules) SetLenBytes(v uint64) { + x.xxx_hidden_LenBytes = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 17) +} + +func (x *StringRules) SetMinBytes(v uint64) { + x.xxx_hidden_MinBytes = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 17) +} + +func (x *StringRules) SetMaxBytes(v uint64) { + x.xxx_hidden_MaxBytes = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 17) +} + +func (x *StringRules) SetPattern(v string) { + x.xxx_hidden_Pattern = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 17) +} + +func (x *StringRules) SetPrefix(v string) { + x.xxx_hidden_Prefix = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 8, 17) +} + +func (x *StringRules) SetSuffix(v string) { + x.xxx_hidden_Suffix = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 9, 17) +} + +func (x *StringRules) SetContains(v string) { + x.xxx_hidden_Contains = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 10, 17) +} + +func (x *StringRules) SetNotContains(v string) { + x.xxx_hidden_NotContains = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 11, 17) +} + +func (x *StringRules) SetIn(v []string) { + x.xxx_hidden_In = v +} + +func (x *StringRules) SetNotIn(v []string) { + x.xxx_hidden_NotIn = v +} + +func (x *StringRules) SetEmail(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Email{v} +} + +func (x *StringRules) SetHostname(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Hostname{v} +} + +func (x *StringRules) SetIp(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Ip{v} +} + +func (x *StringRules) SetIpv4(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Ipv4{v} +} + +func (x *StringRules) SetIpv6(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Ipv6{v} +} + +func (x *StringRules) SetUri(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Uri{v} +} + +func (x *StringRules) SetUriRef(v bool) { + x.xxx_hidden_WellKnown = &stringRules_UriRef{v} +} + +func (x *StringRules) SetAddress(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Address{v} +} + +func (x *StringRules) SetUuid(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Uuid{v} +} + +func (x *StringRules) SetTuuid(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Tuuid{v} +} + +func (x *StringRules) SetIpWithPrefixlen(v bool) { + x.xxx_hidden_WellKnown = &stringRules_IpWithPrefixlen{v} +} + +func (x *StringRules) SetIpv4WithPrefixlen(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Ipv4WithPrefixlen{v} +} + +func (x *StringRules) SetIpv6WithPrefixlen(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Ipv6WithPrefixlen{v} +} + +func (x *StringRules) SetIpPrefix(v bool) { + x.xxx_hidden_WellKnown = &stringRules_IpPrefix{v} +} + +func (x *StringRules) SetIpv4Prefix(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Ipv4Prefix{v} +} + +func (x *StringRules) SetIpv6Prefix(v bool) { + x.xxx_hidden_WellKnown = &stringRules_Ipv6Prefix{v} +} + +func (x *StringRules) SetHostAndPort(v bool) { + x.xxx_hidden_WellKnown = &stringRules_HostAndPort{v} +} + +func (x *StringRules) SetWellKnownRegex(v KnownRegex) { + x.xxx_hidden_WellKnown = &stringRules_WellKnownRegex{v} +} + +func (x *StringRules) SetStrict(v bool) { + x.xxx_hidden_Strict = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 15, 17) +} + +func (x *StringRules) SetExample(v []string) { + x.xxx_hidden_Example = v +} + +func (x *StringRules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *StringRules) HasLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *StringRules) HasMinLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *StringRules) HasMaxLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 3) +} + +func (x *StringRules) HasLenBytes() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 4) +} + +func (x *StringRules) HasMinBytes() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 5) +} + +func (x *StringRules) HasMaxBytes() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 6) +} + +func (x *StringRules) HasPattern() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 7) +} + +func (x *StringRules) HasPrefix() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 8) +} + +func (x *StringRules) HasSuffix() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 9) +} + +func (x *StringRules) HasContains() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 10) +} + +func (x *StringRules) HasNotContains() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 11) +} + +func (x *StringRules) HasWellKnown() bool { + if x == nil { + return false + } + return x.xxx_hidden_WellKnown != nil +} + +func (x *StringRules) HasEmail() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Email) + return ok +} + +func (x *StringRules) HasHostname() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Hostname) + return ok +} + +func (x *StringRules) HasIp() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ip) + return ok +} + +func (x *StringRules) HasIpv4() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4) + return ok +} + +func (x *StringRules) HasIpv6() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6) + return ok +} + +func (x *StringRules) HasUri() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Uri) + return ok +} + +func (x *StringRules) HasUriRef() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_UriRef) + return ok +} + +func (x *StringRules) HasAddress() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Address) + return ok +} + +func (x *StringRules) HasUuid() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Uuid) + return ok +} + +func (x *StringRules) HasTuuid() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Tuuid) + return ok +} + +func (x *StringRules) HasIpWithPrefixlen() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_IpWithPrefixlen) + return ok +} + +func (x *StringRules) HasIpv4WithPrefixlen() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4WithPrefixlen) + return ok +} + +func (x *StringRules) HasIpv6WithPrefixlen() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6WithPrefixlen) + return ok +} + +func (x *StringRules) HasIpPrefix() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_IpPrefix) + return ok +} + +func (x *StringRules) HasIpv4Prefix() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4Prefix) + return ok +} + +func (x *StringRules) HasIpv6Prefix() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6Prefix) + return ok +} + +func (x *StringRules) HasHostAndPort() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_HostAndPort) + return ok +} + +func (x *StringRules) HasWellKnownRegex() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*stringRules_WellKnownRegex) + return ok +} + +func (x *StringRules) HasStrict() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 15) +} + +func (x *StringRules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = nil +} + +func (x *StringRules) ClearLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_Len = 0 +} + +func (x *StringRules) ClearMinLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_MinLen = 0 +} + +func (x *StringRules) ClearMaxLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3) + x.xxx_hidden_MaxLen = 0 +} + +func (x *StringRules) ClearLenBytes() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4) + x.xxx_hidden_LenBytes = 0 +} + +func (x *StringRules) ClearMinBytes() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5) + x.xxx_hidden_MinBytes = 0 +} + +func (x *StringRules) ClearMaxBytes() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6) + x.xxx_hidden_MaxBytes = 0 +} + +func (x *StringRules) ClearPattern() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7) + x.xxx_hidden_Pattern = nil +} + +func (x *StringRules) ClearPrefix() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 8) + x.xxx_hidden_Prefix = nil +} + +func (x *StringRules) ClearSuffix() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 9) + x.xxx_hidden_Suffix = nil +} + +func (x *StringRules) ClearContains() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 10) + x.xxx_hidden_Contains = nil +} + +func (x *StringRules) ClearNotContains() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 11) + x.xxx_hidden_NotContains = nil +} + +func (x *StringRules) ClearWellKnown() { + x.xxx_hidden_WellKnown = nil +} + +func (x *StringRules) ClearEmail() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Email); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearHostname() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Hostname); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIp() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ip); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIpv4() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIpv6() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearUri() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Uri); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearUriRef() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_UriRef); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearAddress() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Address); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearUuid() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Uuid); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearTuuid() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Tuuid); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIpWithPrefixlen() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_IpWithPrefixlen); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIpv4WithPrefixlen() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4WithPrefixlen); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIpv6WithPrefixlen() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6WithPrefixlen); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIpPrefix() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_IpPrefix); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIpv4Prefix() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv4Prefix); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearIpv6Prefix() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_Ipv6Prefix); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearHostAndPort() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_HostAndPort); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearWellKnownRegex() { + if _, ok := x.xxx_hidden_WellKnown.(*stringRules_WellKnownRegex); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *StringRules) ClearStrict() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 15) + x.xxx_hidden_Strict = false +} + +const StringRules_WellKnown_not_set_case case_StringRules_WellKnown = 0 +const StringRules_Email_case case_StringRules_WellKnown = 12 +const StringRules_Hostname_case case_StringRules_WellKnown = 13 +const StringRules_Ip_case case_StringRules_WellKnown = 14 +const StringRules_Ipv4_case case_StringRules_WellKnown = 15 +const StringRules_Ipv6_case case_StringRules_WellKnown = 16 +const StringRules_Uri_case case_StringRules_WellKnown = 17 +const StringRules_UriRef_case case_StringRules_WellKnown = 18 +const StringRules_Address_case case_StringRules_WellKnown = 21 +const StringRules_Uuid_case case_StringRules_WellKnown = 22 +const StringRules_Tuuid_case case_StringRules_WellKnown = 33 +const StringRules_IpWithPrefixlen_case case_StringRules_WellKnown = 26 +const StringRules_Ipv4WithPrefixlen_case case_StringRules_WellKnown = 27 +const StringRules_Ipv6WithPrefixlen_case case_StringRules_WellKnown = 28 +const StringRules_IpPrefix_case case_StringRules_WellKnown = 29 +const StringRules_Ipv4Prefix_case case_StringRules_WellKnown = 30 +const StringRules_Ipv6Prefix_case case_StringRules_WellKnown = 31 +const StringRules_HostAndPort_case case_StringRules_WellKnown = 32 +const StringRules_WellKnownRegex_case case_StringRules_WellKnown = 24 + +func (x *StringRules) WhichWellKnown() case_StringRules_WellKnown { + if x == nil { + return StringRules_WellKnown_not_set_case + } + switch x.xxx_hidden_WellKnown.(type) { + case *stringRules_Email: + return StringRules_Email_case + case *stringRules_Hostname: + return StringRules_Hostname_case + case *stringRules_Ip: + return StringRules_Ip_case + case *stringRules_Ipv4: + return StringRules_Ipv4_case + case *stringRules_Ipv6: + return StringRules_Ipv6_case + case *stringRules_Uri: + return StringRules_Uri_case + case *stringRules_UriRef: + return StringRules_UriRef_case + case *stringRules_Address: + return StringRules_Address_case + case *stringRules_Uuid: + return StringRules_Uuid_case + case *stringRules_Tuuid: + return StringRules_Tuuid_case + case *stringRules_IpWithPrefixlen: + return StringRules_IpWithPrefixlen_case + case *stringRules_Ipv4WithPrefixlen: + return StringRules_Ipv4WithPrefixlen_case + case *stringRules_Ipv6WithPrefixlen: + return StringRules_Ipv6WithPrefixlen_case + case *stringRules_IpPrefix: + return StringRules_IpPrefix_case + case *stringRules_Ipv4Prefix: + return StringRules_Ipv4Prefix_case + case *stringRules_Ipv6Prefix: + return StringRules_Ipv6Prefix_case + case *stringRules_HostAndPort: + return StringRules_HostAndPort_case + case *stringRules_WellKnownRegex: + return StringRules_WellKnownRegex_case + default: + return StringRules_WellKnown_not_set_case + } +} + +type StringRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified value. If + // the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyString { + // // value must equal `hello` + // string value = 1 [(buf.validate.field).string.const = "hello"]; + // } + // + // ``` + Const *string + // `len` dictates that the field value must have the specified + // number of characters (Unicode code points), which may differ from the number + // of bytes in the string. If the field value does not meet the specified + // length, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be 5 characters + // string value = 1 [(buf.validate.field).string.len = 5]; + // } + // + // ``` + Len *uint64 + // `min_len` specifies that the field value must have at least the specified + // number of characters (Unicode code points), which may differ from the number + // of bytes in the string. If the field value contains fewer characters, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at least 3 characters + // string value = 1 [(buf.validate.field).string.min_len = 3]; + // } + // + // ``` + MinLen *uint64 + // `max_len` specifies that the field value must have no more than the specified + // number of characters (Unicode code points), which may differ from the + // number of bytes in the string. If the field value contains more characters, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at most 10 characters + // string value = 1 [(buf.validate.field).string.max_len = 10]; + // } + // + // ``` + MaxLen *uint64 + // `len_bytes` dictates that the field value must have the specified number of + // bytes. If the field value does not match the specified length in bytes, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be 6 bytes + // string value = 1 [(buf.validate.field).string.len_bytes = 6]; + // } + // + // ``` + LenBytes *uint64 + // `min_bytes` specifies that the field value must have at least the specified + // number of bytes. If the field value contains fewer bytes, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at least 4 bytes + // string value = 1 [(buf.validate.field).string.min_bytes = 4]; + // } + // + // ``` + MinBytes *uint64 + // `max_bytes` specifies that the field value must have no more than the + // specified number of bytes. If the field value contains more bytes, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value length must be at most 8 bytes + // string value = 1 [(buf.validate.field).string.max_bytes = 8]; + // } + // + // ``` + MaxBytes *uint64 + // `pattern` specifies that the field value must match the specified + // regular expression (RE2 syntax), with the expression provided without any + // delimiters. If the field value doesn't match the regular expression, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not match regex pattern `^[a-zA-Z]//$` + // string value = 1 [(buf.validate.field).string.pattern = "^[a-zA-Z]//$"]; + // } + // + // ``` + Pattern *string + // `prefix` specifies that the field value must have the + // specified substring at the beginning of the string. If the field value + // doesn't start with the specified prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value does not have prefix `pre` + // string value = 1 [(buf.validate.field).string.prefix = "pre"]; + // } + // + // ``` + Prefix *string + // `suffix` specifies that the field value must have the + // specified substring at the end of the string. If the field value doesn't + // end with the specified suffix, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not have suffix `post` + // string value = 1 [(buf.validate.field).string.suffix = "post"]; + // } + // + // ``` + Suffix *string + // `contains` specifies that the field value must have the + // specified substring anywhere in the string. If the field value doesn't + // contain the specified substring, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value does not contain substring `inside`. + // string value = 1 [(buf.validate.field).string.contains = "inside"]; + // } + // + // ``` + Contains *string + // `not_contains` specifies that the field value must not have the + // specified substring anywhere in the string. If the field value contains + // the specified substring, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value contains substring `inside`. + // string value = 1 [(buf.validate.field).string.not_contains = "inside"]; + // } + // + // ``` + NotContains *string + // `in` specifies that the field value must be equal to one of the specified + // values. If the field value isn't one of the specified values, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value must be in list ["apple", "banana"] + // string value = 1 [(buf.validate.field).string.in = "apple", (buf.validate.field).string.in = "banana"]; + // } + // + // ``` + In []string + // `not_in` specifies that the field value cannot be equal to any + // of the specified values. If the field value is one of the specified values, + // an error message will be generated. + // ```proto + // + // message MyString { + // // value must not be in list ["orange", "grape"] + // string value = 1 [(buf.validate.field).string.not_in = "orange", (buf.validate.field).string.not_in = "grape"]; + // } + // + // ``` + NotIn []string + // `WellKnown` rules provide advanced rules against common string + // patterns. + + // Fields of oneof xxx_hidden_WellKnown: + // `email` specifies that the field value must be a valid email address, for + // example "foo@example.com". + // + // Conforms to the definition for a valid email address from the [HTML standard](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address). + // Note that this standard willfully deviates from [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322), + // which allows many unexpected forms of email addresses and will easily match + // a typographical error. + // + // If the field value isn't a valid email address, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid email address + // string value = 1 [(buf.validate.field).string.email = true]; + // } + // + // ``` + Email *bool + // `hostname` specifies that the field value must be a valid hostname, for + // example "foo.example.com". + // + // A valid hostname follows the rules below: + // - The name consists of one or more labels, separated by a dot ("."). + // - Each label can be 1 to 63 alphanumeric characters. + // - A label can contain hyphens ("-"), but must not start or end with a hyphen. + // - The right-most label must not be digits only. + // - The name can have a trailing dot—for example, "foo.example.com.". + // - The name can be 253 characters at most, excluding the optional trailing dot. + // + // If the field value isn't a valid hostname, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid hostname + // string value = 1 [(buf.validate.field).string.hostname = true]; + // } + // + // ``` + Hostname *bool + // `ip` specifies that the field value must be a valid IP (v4 or v6) address. + // + // IPv4 addresses are expected in the dotted decimal format—for example, "192.168.5.21". + // IPv6 addresses are expected in their text representation—for example, "::1", + // or "2001:0DB8:ABCD:0012::0". + // + // Both formats are well-defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). + // Zone identifiers for IPv6 addresses (for example, "fe80::a%en1") are supported. + // + // If the field value isn't a valid IP address, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP address + // string value = 1 [(buf.validate.field).string.ip = true]; + // } + // + // ``` + Ip *bool + // `ipv4` specifies that the field value must be a valid IPv4 address—for + // example "192.168.5.21". If the field value isn't a valid IPv4 address, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 address + // string value = 1 [(buf.validate.field).string.ipv4 = true]; + // } + // + // ``` + Ipv4 *bool + // `ipv6` specifies that the field value must be a valid IPv6 address—for + // example "::1", or "d7a:115c:a1e0:ab12:4843:cd96:626b:430b". If the field + // value is not a valid IPv6 address, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 address + // string value = 1 [(buf.validate.field).string.ipv6 = true]; + // } + // + // ``` + Ipv6 *bool + // `uri` specifies that the field value must be a valid URI, for example + // "https://example.com/foo/bar?baz=quux#frag". + // + // URI is defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). + // Zone Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)). + // + // If the field value isn't a valid URI, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid URI + // string value = 1 [(buf.validate.field).string.uri = true]; + // } + // + // ``` + Uri *bool + // `uri_ref` specifies that the field value must be a valid URI Reference—either + // a URI such as "https://example.com/foo/bar?baz=quux#frag", or a Relative + // Reference such as "./foo/bar?query". + // + // URI, URI Reference, and Relative Reference are defined in the internet + // standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). Zone + // Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)). + // + // If the field value isn't a valid URI Reference, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid URI Reference + // string value = 1 [(buf.validate.field).string.uri_ref = true]; + // } + // + // ``` + UriRef *bool + // `address` specifies that the field value must be either a valid hostname + // (for example, "example.com"), or a valid IP (v4 or v6) address (for example, + // "192.168.0.1", or "::1"). If the field value isn't a valid hostname or IP, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid hostname, or ip address + // string value = 1 [(buf.validate.field).string.address = true]; + // } + // + // ``` + Address *bool + // `uuid` specifies that the field value must be a valid UUID as defined by + // [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2). If the + // field value isn't a valid UUID, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid UUID + // string value = 1 [(buf.validate.field).string.uuid = true]; + // } + // + // ``` + Uuid *bool + // `tuuid` (trimmed UUID) specifies that the field value must be a valid UUID as + // defined by [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2) with all dashes + // omitted. If the field value isn't a valid UUID without dashes, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid trimmed UUID + // string value = 1 [(buf.validate.field).string.tuuid = true]; + // } + // + // ``` + Tuuid *bool + // `ip_with_prefixlen` specifies that the field value must be a valid IP + // (v4 or v6) address with prefix length—for example, "192.168.5.21/16" or + // "2001:0DB8:ABCD:0012::F1/64". If the field value isn't a valid IP with + // prefix length, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP with prefix length + // string value = 1 [(buf.validate.field).string.ip_with_prefixlen = true]; + // } + // + // ``` + IpWithPrefixlen *bool + // `ipv4_with_prefixlen` specifies that the field value must be a valid + // IPv4 address with prefix length—for example, "192.168.5.21/16". If the + // field value isn't a valid IPv4 address with prefix length, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 address with prefix length + // string value = 1 [(buf.validate.field).string.ipv4_with_prefixlen = true]; + // } + // + // ``` + Ipv4WithPrefixlen *bool + // `ipv6_with_prefixlen` specifies that the field value must be a valid + // IPv6 address with prefix length—for example, "2001:0DB8:ABCD:0012::F1/64". + // If the field value is not a valid IPv6 address with prefix length, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 address prefix length + // string value = 1 [(buf.validate.field).string.ipv6_with_prefixlen = true]; + // } + // + // ``` + Ipv6WithPrefixlen *bool + // `ip_prefix` specifies that the field value must be a valid IP (v4 or v6) + // prefix—for example, "192.168.0.0/16" or "2001:0DB8:ABCD:0012::0/64". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "2001:0DB8:ABCD:0012::0/64" designates the left-most 64 bits for the + // prefix, and the remaining 64 bits must be zero. + // + // If the field value isn't a valid IP prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP prefix + // string value = 1 [(buf.validate.field).string.ip_prefix = true]; + // } + // + // ``` + IpPrefix *bool + // `ipv4_prefix` specifies that the field value must be a valid IPv4 + // prefix, for example "192.168.0.0/16". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "192.168.0.0/16" designates the left-most 16 bits for the prefix, + // and the remaining 16 bits must be zero. + // + // If the field value isn't a valid IPv4 prefix, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 prefix + // string value = 1 [(buf.validate.field).string.ipv4_prefix = true]; + // } + // + // ``` + Ipv4Prefix *bool + // `ipv6_prefix` specifies that the field value must be a valid IPv6 prefix—for + // example, "2001:0DB8:ABCD:0012::0/64". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "2001:0DB8:ABCD:0012::0/64" designates the left-most 64 bits for the + // prefix, and the remaining 64 bits must be zero. + // + // If the field value is not a valid IPv6 prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 prefix + // string value = 1 [(buf.validate.field).string.ipv6_prefix = true]; + // } + // + // ``` + Ipv6Prefix *bool + // `host_and_port` specifies that the field value must be valid host/port + // pair—for example, "example.com:8080". + // + // The host can be one of: + // - An IPv4 address in dotted decimal format—for example, "192.168.5.21". + // - An IPv6 address enclosed in square brackets—for example, "[2001:0DB8:ABCD:0012::F1]". + // - A hostname—for example, "example.com". + // + // The port is separated by a colon. It must be non-empty, with a decimal number + // in the range of 0-65535, inclusive. + HostAndPort *bool + // `well_known_regex` specifies a common well-known pattern + // defined as a regex. If the field value doesn't match the well-known + // regex, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid HTTP header value + // string value = 1 [(buf.validate.field).string.well_known_regex = KNOWN_REGEX_HTTP_HEADER_VALUE]; + // } + // + // ``` + // + // #### KnownRegex + // + // `well_known_regex` contains some well-known patterns. + // + // | Name | Number | Description | + // |-------------------------------|--------|-------------------------------------------| + // | KNOWN_REGEX_UNSPECIFIED | 0 | | + // | KNOWN_REGEX_HTTP_HEADER_NAME | 1 | HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2) | + // | KNOWN_REGEX_HTTP_HEADER_VALUE | 2 | HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4) | + WellKnownRegex *KnownRegex + // -- end of xxx_hidden_WellKnown + // This applies to regexes `HTTP_HEADER_NAME` and `HTTP_HEADER_VALUE` to + // enable strict header validation. By default, this is true, and HTTP header + // validations are [RFC-compliant](https://datatracker.ietf.org/doc/html/rfc7230#section-3). Setting to false will enable looser + // validations that only disallow `\r\n\0` characters, which can be used to + // bypass header matching rules. + // + // ```proto + // + // message MyString { + // // The field `value` must have be a valid HTTP headers, but not enforced with strict rules. + // string value = 1 [(buf.validate.field).string.strict = false]; + // } + // + // ``` + Strict *bool + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyString { + // string value = 1 [ + // (buf.validate.field).string.example = "hello", + // (buf.validate.field).string.example = "world" + // ]; + // } + // + // ``` + Example []string +} + +func (b0 StringRules_builder) Build() *StringRules { + m0 := &StringRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 17) + x.xxx_hidden_Const = b.Const + } + if b.Len != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 17) + x.xxx_hidden_Len = *b.Len + } + if b.MinLen != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 17) + x.xxx_hidden_MinLen = *b.MinLen + } + if b.MaxLen != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 17) + x.xxx_hidden_MaxLen = *b.MaxLen + } + if b.LenBytes != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 17) + x.xxx_hidden_LenBytes = *b.LenBytes + } + if b.MinBytes != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 17) + x.xxx_hidden_MinBytes = *b.MinBytes + } + if b.MaxBytes != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 17) + x.xxx_hidden_MaxBytes = *b.MaxBytes + } + if b.Pattern != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 17) + x.xxx_hidden_Pattern = b.Pattern + } + if b.Prefix != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 8, 17) + x.xxx_hidden_Prefix = b.Prefix + } + if b.Suffix != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 9, 17) + x.xxx_hidden_Suffix = b.Suffix + } + if b.Contains != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 10, 17) + x.xxx_hidden_Contains = b.Contains + } + if b.NotContains != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 11, 17) + x.xxx_hidden_NotContains = b.NotContains + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + if b.Email != nil { + x.xxx_hidden_WellKnown = &stringRules_Email{*b.Email} + } + if b.Hostname != nil { + x.xxx_hidden_WellKnown = &stringRules_Hostname{*b.Hostname} + } + if b.Ip != nil { + x.xxx_hidden_WellKnown = &stringRules_Ip{*b.Ip} + } + if b.Ipv4 != nil { + x.xxx_hidden_WellKnown = &stringRules_Ipv4{*b.Ipv4} + } + if b.Ipv6 != nil { + x.xxx_hidden_WellKnown = &stringRules_Ipv6{*b.Ipv6} + } + if b.Uri != nil { + x.xxx_hidden_WellKnown = &stringRules_Uri{*b.Uri} + } + if b.UriRef != nil { + x.xxx_hidden_WellKnown = &stringRules_UriRef{*b.UriRef} + } + if b.Address != nil { + x.xxx_hidden_WellKnown = &stringRules_Address{*b.Address} + } + if b.Uuid != nil { + x.xxx_hidden_WellKnown = &stringRules_Uuid{*b.Uuid} + } + if b.Tuuid != nil { + x.xxx_hidden_WellKnown = &stringRules_Tuuid{*b.Tuuid} + } + if b.IpWithPrefixlen != nil { + x.xxx_hidden_WellKnown = &stringRules_IpWithPrefixlen{*b.IpWithPrefixlen} + } + if b.Ipv4WithPrefixlen != nil { + x.xxx_hidden_WellKnown = &stringRules_Ipv4WithPrefixlen{*b.Ipv4WithPrefixlen} + } + if b.Ipv6WithPrefixlen != nil { + x.xxx_hidden_WellKnown = &stringRules_Ipv6WithPrefixlen{*b.Ipv6WithPrefixlen} + } + if b.IpPrefix != nil { + x.xxx_hidden_WellKnown = &stringRules_IpPrefix{*b.IpPrefix} + } + if b.Ipv4Prefix != nil { + x.xxx_hidden_WellKnown = &stringRules_Ipv4Prefix{*b.Ipv4Prefix} + } + if b.Ipv6Prefix != nil { + x.xxx_hidden_WellKnown = &stringRules_Ipv6Prefix{*b.Ipv6Prefix} + } + if b.HostAndPort != nil { + x.xxx_hidden_WellKnown = &stringRules_HostAndPort{*b.HostAndPort} + } + if b.WellKnownRegex != nil { + x.xxx_hidden_WellKnown = &stringRules_WellKnownRegex{*b.WellKnownRegex} + } + if b.Strict != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 15, 17) + x.xxx_hidden_Strict = *b.Strict + } + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_StringRules_WellKnown protoreflect.FieldNumber + +func (x case_StringRules_WellKnown) String() string { + md := file_buf_validate_validate_proto_msgTypes[19].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isStringRules_WellKnown interface { + isStringRules_WellKnown() +} + +type stringRules_Email struct { + // `email` specifies that the field value must be a valid email address, for + // example "foo@example.com". + // + // Conforms to the definition for a valid email address from the [HTML standard](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address). + // Note that this standard willfully deviates from [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322), + // which allows many unexpected forms of email addresses and will easily match + // a typographical error. + // + // If the field value isn't a valid email address, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid email address + // string value = 1 [(buf.validate.field).string.email = true]; + // } + // + // ``` + Email bool `protobuf:"varint,12,opt,name=email,oneof"` +} + +type stringRules_Hostname struct { + // `hostname` specifies that the field value must be a valid hostname, for + // example "foo.example.com". + // + // A valid hostname follows the rules below: + // - The name consists of one or more labels, separated by a dot ("."). + // - Each label can be 1 to 63 alphanumeric characters. + // - A label can contain hyphens ("-"), but must not start or end with a hyphen. + // - The right-most label must not be digits only. + // - The name can have a trailing dot—for example, "foo.example.com.". + // - The name can be 253 characters at most, excluding the optional trailing dot. + // + // If the field value isn't a valid hostname, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid hostname + // string value = 1 [(buf.validate.field).string.hostname = true]; + // } + // + // ``` + Hostname bool `protobuf:"varint,13,opt,name=hostname,oneof"` +} + +type stringRules_Ip struct { + // `ip` specifies that the field value must be a valid IP (v4 or v6) address. + // + // IPv4 addresses are expected in the dotted decimal format—for example, "192.168.5.21". + // IPv6 addresses are expected in their text representation—for example, "::1", + // or "2001:0DB8:ABCD:0012::0". + // + // Both formats are well-defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). + // Zone identifiers for IPv6 addresses (for example, "fe80::a%en1") are supported. + // + // If the field value isn't a valid IP address, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP address + // string value = 1 [(buf.validate.field).string.ip = true]; + // } + // + // ``` + Ip bool `protobuf:"varint,14,opt,name=ip,oneof"` +} + +type stringRules_Ipv4 struct { + // `ipv4` specifies that the field value must be a valid IPv4 address—for + // example "192.168.5.21". If the field value isn't a valid IPv4 address, an + // error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 address + // string value = 1 [(buf.validate.field).string.ipv4 = true]; + // } + // + // ``` + Ipv4 bool `protobuf:"varint,15,opt,name=ipv4,oneof"` +} + +type stringRules_Ipv6 struct { + // `ipv6` specifies that the field value must be a valid IPv6 address—for + // example "::1", or "d7a:115c:a1e0:ab12:4843:cd96:626b:430b". If the field + // value is not a valid IPv6 address, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 address + // string value = 1 [(buf.validate.field).string.ipv6 = true]; + // } + // + // ``` + Ipv6 bool `protobuf:"varint,16,opt,name=ipv6,oneof"` +} + +type stringRules_Uri struct { + // `uri` specifies that the field value must be a valid URI, for example + // "https://example.com/foo/bar?baz=quux#frag". + // + // URI is defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). + // Zone Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)). + // + // If the field value isn't a valid URI, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid URI + // string value = 1 [(buf.validate.field).string.uri = true]; + // } + // + // ``` + Uri bool `protobuf:"varint,17,opt,name=uri,oneof"` +} + +type stringRules_UriRef struct { + // `uri_ref` specifies that the field value must be a valid URI Reference—either + // a URI such as "https://example.com/foo/bar?baz=quux#frag", or a Relative + // Reference such as "./foo/bar?query". + // + // URI, URI Reference, and Relative Reference are defined in the internet + // standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). Zone + // Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)). + // + // If the field value isn't a valid URI Reference, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid URI Reference + // string value = 1 [(buf.validate.field).string.uri_ref = true]; + // } + // + // ``` + UriRef bool `protobuf:"varint,18,opt,name=uri_ref,json=uriRef,oneof"` +} + +type stringRules_Address struct { + // `address` specifies that the field value must be either a valid hostname + // (for example, "example.com"), or a valid IP (v4 or v6) address (for example, + // "192.168.0.1", or "::1"). If the field value isn't a valid hostname or IP, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid hostname, or ip address + // string value = 1 [(buf.validate.field).string.address = true]; + // } + // + // ``` + Address bool `protobuf:"varint,21,opt,name=address,oneof"` +} + +type stringRules_Uuid struct { + // `uuid` specifies that the field value must be a valid UUID as defined by + // [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2). If the + // field value isn't a valid UUID, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid UUID + // string value = 1 [(buf.validate.field).string.uuid = true]; + // } + // + // ``` + Uuid bool `protobuf:"varint,22,opt,name=uuid,oneof"` +} + +type stringRules_Tuuid struct { + // `tuuid` (trimmed UUID) specifies that the field value must be a valid UUID as + // defined by [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2) with all dashes + // omitted. If the field value isn't a valid UUID without dashes, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid trimmed UUID + // string value = 1 [(buf.validate.field).string.tuuid = true]; + // } + // + // ``` + Tuuid bool `protobuf:"varint,33,opt,name=tuuid,oneof"` +} + +type stringRules_IpWithPrefixlen struct { + // `ip_with_prefixlen` specifies that the field value must be a valid IP + // (v4 or v6) address with prefix length—for example, "192.168.5.21/16" or + // "2001:0DB8:ABCD:0012::F1/64". If the field value isn't a valid IP with + // prefix length, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP with prefix length + // string value = 1 [(buf.validate.field).string.ip_with_prefixlen = true]; + // } + // + // ``` + IpWithPrefixlen bool `protobuf:"varint,26,opt,name=ip_with_prefixlen,json=ipWithPrefixlen,oneof"` +} + +type stringRules_Ipv4WithPrefixlen struct { + // `ipv4_with_prefixlen` specifies that the field value must be a valid + // IPv4 address with prefix length—for example, "192.168.5.21/16". If the + // field value isn't a valid IPv4 address with prefix length, an error + // message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 address with prefix length + // string value = 1 [(buf.validate.field).string.ipv4_with_prefixlen = true]; + // } + // + // ``` + Ipv4WithPrefixlen bool `protobuf:"varint,27,opt,name=ipv4_with_prefixlen,json=ipv4WithPrefixlen,oneof"` +} + +type stringRules_Ipv6WithPrefixlen struct { + // `ipv6_with_prefixlen` specifies that the field value must be a valid + // IPv6 address with prefix length—for example, "2001:0DB8:ABCD:0012::F1/64". + // If the field value is not a valid IPv6 address with prefix length, + // an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 address prefix length + // string value = 1 [(buf.validate.field).string.ipv6_with_prefixlen = true]; + // } + // + // ``` + Ipv6WithPrefixlen bool `protobuf:"varint,28,opt,name=ipv6_with_prefixlen,json=ipv6WithPrefixlen,oneof"` +} + +type stringRules_IpPrefix struct { + // `ip_prefix` specifies that the field value must be a valid IP (v4 or v6) + // prefix—for example, "192.168.0.0/16" or "2001:0DB8:ABCD:0012::0/64". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "2001:0DB8:ABCD:0012::0/64" designates the left-most 64 bits for the + // prefix, and the remaining 64 bits must be zero. + // + // If the field value isn't a valid IP prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IP prefix + // string value = 1 [(buf.validate.field).string.ip_prefix = true]; + // } + // + // ``` + IpPrefix bool `protobuf:"varint,29,opt,name=ip_prefix,json=ipPrefix,oneof"` +} + +type stringRules_Ipv4Prefix struct { + // `ipv4_prefix` specifies that the field value must be a valid IPv4 + // prefix, for example "192.168.0.0/16". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "192.168.0.0/16" designates the left-most 16 bits for the prefix, + // and the remaining 16 bits must be zero. + // + // If the field value isn't a valid IPv4 prefix, an error message + // will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv4 prefix + // string value = 1 [(buf.validate.field).string.ipv4_prefix = true]; + // } + // + // ``` + Ipv4Prefix bool `protobuf:"varint,30,opt,name=ipv4_prefix,json=ipv4Prefix,oneof"` +} + +type stringRules_Ipv6Prefix struct { + // `ipv6_prefix` specifies that the field value must be a valid IPv6 prefix—for + // example, "2001:0DB8:ABCD:0012::0/64". + // + // The prefix must have all zeros for the unmasked bits. For example, + // "2001:0DB8:ABCD:0012::0/64" designates the left-most 64 bits for the + // prefix, and the remaining 64 bits must be zero. + // + // If the field value is not a valid IPv6 prefix, an error message will be + // generated. + // + // ```proto + // + // message MyString { + // // value must be a valid IPv6 prefix + // string value = 1 [(buf.validate.field).string.ipv6_prefix = true]; + // } + // + // ``` + Ipv6Prefix bool `protobuf:"varint,31,opt,name=ipv6_prefix,json=ipv6Prefix,oneof"` +} + +type stringRules_HostAndPort struct { + // `host_and_port` specifies that the field value must be valid host/port + // pair—for example, "example.com:8080". + // + // The host can be one of: + // - An IPv4 address in dotted decimal format—for example, "192.168.5.21". + // - An IPv6 address enclosed in square brackets—for example, "[2001:0DB8:ABCD:0012::F1]". + // - A hostname—for example, "example.com". + // + // The port is separated by a colon. It must be non-empty, with a decimal number + // in the range of 0-65535, inclusive. + HostAndPort bool `protobuf:"varint,32,opt,name=host_and_port,json=hostAndPort,oneof"` +} + +type stringRules_WellKnownRegex struct { + // `well_known_regex` specifies a common well-known pattern + // defined as a regex. If the field value doesn't match the well-known + // regex, an error message will be generated. + // + // ```proto + // + // message MyString { + // // value must be a valid HTTP header value + // string value = 1 [(buf.validate.field).string.well_known_regex = KNOWN_REGEX_HTTP_HEADER_VALUE]; + // } + // + // ``` + // + // #### KnownRegex + // + // `well_known_regex` contains some well-known patterns. + // + // | Name | Number | Description | + // |-------------------------------|--------|-------------------------------------------| + // | KNOWN_REGEX_UNSPECIFIED | 0 | | + // | KNOWN_REGEX_HTTP_HEADER_NAME | 1 | HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2) | + // | KNOWN_REGEX_HTTP_HEADER_VALUE | 2 | HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4) | + WellKnownRegex KnownRegex `protobuf:"varint,24,opt,name=well_known_regex,json=wellKnownRegex,enum=buf.validate.KnownRegex,oneof"` +} + +func (*stringRules_Email) isStringRules_WellKnown() {} + +func (*stringRules_Hostname) isStringRules_WellKnown() {} + +func (*stringRules_Ip) isStringRules_WellKnown() {} + +func (*stringRules_Ipv4) isStringRules_WellKnown() {} + +func (*stringRules_Ipv6) isStringRules_WellKnown() {} + +func (*stringRules_Uri) isStringRules_WellKnown() {} + +func (*stringRules_UriRef) isStringRules_WellKnown() {} + +func (*stringRules_Address) isStringRules_WellKnown() {} + +func (*stringRules_Uuid) isStringRules_WellKnown() {} + +func (*stringRules_Tuuid) isStringRules_WellKnown() {} + +func (*stringRules_IpWithPrefixlen) isStringRules_WellKnown() {} + +func (*stringRules_Ipv4WithPrefixlen) isStringRules_WellKnown() {} + +func (*stringRules_Ipv6WithPrefixlen) isStringRules_WellKnown() {} + +func (*stringRules_IpPrefix) isStringRules_WellKnown() {} + +func (*stringRules_Ipv4Prefix) isStringRules_WellKnown() {} + +func (*stringRules_Ipv6Prefix) isStringRules_WellKnown() {} + +func (*stringRules_HostAndPort) isStringRules_WellKnown() {} + +func (*stringRules_WellKnownRegex) isStringRules_WellKnown() {} + +// BytesRules describe the rules applied to `bytes` values. These rules +// may also be applied to the `google.protobuf.BytesValue` Well-Known-Type. +type BytesRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const []byte `protobuf:"bytes,1,opt,name=const"` + xxx_hidden_Len uint64 `protobuf:"varint,13,opt,name=len"` + xxx_hidden_MinLen uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen"` + xxx_hidden_MaxLen uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen"` + xxx_hidden_Pattern *string `protobuf:"bytes,4,opt,name=pattern"` + xxx_hidden_Prefix []byte `protobuf:"bytes,5,opt,name=prefix"` + xxx_hidden_Suffix []byte `protobuf:"bytes,6,opt,name=suffix"` + xxx_hidden_Contains []byte `protobuf:"bytes,7,opt,name=contains"` + xxx_hidden_In [][]byte `protobuf:"bytes,8,rep,name=in"` + xxx_hidden_NotIn [][]byte `protobuf:"bytes,9,rep,name=not_in,json=notIn"` + xxx_hidden_WellKnown isBytesRules_WellKnown `protobuf_oneof:"well_known"` + xxx_hidden_Example [][]byte `protobuf:"bytes,14,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BytesRules) Reset() { + *x = BytesRules{} + mi := &file_buf_validate_validate_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BytesRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesRules) ProtoMessage() {} + +func (x *BytesRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BytesRules) GetConst() []byte { + if x != nil { + return x.xxx_hidden_Const + } + return nil +} + +func (x *BytesRules) GetLen() uint64 { + if x != nil { + return x.xxx_hidden_Len + } + return 0 +} + +func (x *BytesRules) GetMinLen() uint64 { + if x != nil { + return x.xxx_hidden_MinLen + } + return 0 +} + +func (x *BytesRules) GetMaxLen() uint64 { + if x != nil { + return x.xxx_hidden_MaxLen + } + return 0 +} + +func (x *BytesRules) GetPattern() string { + if x != nil { + if x.xxx_hidden_Pattern != nil { + return *x.xxx_hidden_Pattern + } + return "" + } + return "" +} + +func (x *BytesRules) GetPrefix() []byte { + if x != nil { + return x.xxx_hidden_Prefix + } + return nil +} + +func (x *BytesRules) GetSuffix() []byte { + if x != nil { + return x.xxx_hidden_Suffix + } + return nil +} + +func (x *BytesRules) GetContains() []byte { + if x != nil { + return x.xxx_hidden_Contains + } + return nil +} + +func (x *BytesRules) GetIn() [][]byte { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *BytesRules) GetNotIn() [][]byte { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *BytesRules) GetIp() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ip); ok { + return x.Ip + } + } + return false +} + +func (x *BytesRules) GetIpv4() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ipv4); ok { + return x.Ipv4 + } + } + return false +} + +func (x *BytesRules) GetIpv6() bool { + if x != nil { + if x, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ipv6); ok { + return x.Ipv6 + } + } + return false +} + +func (x *BytesRules) GetExample() [][]byte { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *BytesRules) SetConst(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 12) +} + +func (x *BytesRules) SetLen(v uint64) { + x.xxx_hidden_Len = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 12) +} + +func (x *BytesRules) SetMinLen(v uint64) { + x.xxx_hidden_MinLen = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 12) +} + +func (x *BytesRules) SetMaxLen(v uint64) { + x.xxx_hidden_MaxLen = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 12) +} + +func (x *BytesRules) SetPattern(v string) { + x.xxx_hidden_Pattern = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 12) +} + +func (x *BytesRules) SetPrefix(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Prefix = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 12) +} + +func (x *BytesRules) SetSuffix(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Suffix = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 12) +} + +func (x *BytesRules) SetContains(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Contains = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 12) +} + +func (x *BytesRules) SetIn(v [][]byte) { + x.xxx_hidden_In = v +} + +func (x *BytesRules) SetNotIn(v [][]byte) { + x.xxx_hidden_NotIn = v +} + +func (x *BytesRules) SetIp(v bool) { + x.xxx_hidden_WellKnown = &bytesRules_Ip{v} +} + +func (x *BytesRules) SetIpv4(v bool) { + x.xxx_hidden_WellKnown = &bytesRules_Ipv4{v} +} + +func (x *BytesRules) SetIpv6(v bool) { + x.xxx_hidden_WellKnown = &bytesRules_Ipv6{v} +} + +func (x *BytesRules) SetExample(v [][]byte) { + x.xxx_hidden_Example = v +} + +func (x *BytesRules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *BytesRules) HasLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *BytesRules) HasMinLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *BytesRules) HasMaxLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 3) +} + +func (x *BytesRules) HasPattern() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 4) +} + +func (x *BytesRules) HasPrefix() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 5) +} + +func (x *BytesRules) HasSuffix() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 6) +} + +func (x *BytesRules) HasContains() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 7) +} + +func (x *BytesRules) HasWellKnown() bool { + if x == nil { + return false + } + return x.xxx_hidden_WellKnown != nil +} + +func (x *BytesRules) HasIp() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ip) + return ok +} + +func (x *BytesRules) HasIpv4() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ipv4) + return ok +} + +func (x *BytesRules) HasIpv6() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ipv6) + return ok +} + +func (x *BytesRules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = nil +} + +func (x *BytesRules) ClearLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_Len = 0 +} + +func (x *BytesRules) ClearMinLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_MinLen = 0 +} + +func (x *BytesRules) ClearMaxLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3) + x.xxx_hidden_MaxLen = 0 +} + +func (x *BytesRules) ClearPattern() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4) + x.xxx_hidden_Pattern = nil +} + +func (x *BytesRules) ClearPrefix() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5) + x.xxx_hidden_Prefix = nil +} + +func (x *BytesRules) ClearSuffix() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6) + x.xxx_hidden_Suffix = nil +} + +func (x *BytesRules) ClearContains() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7) + x.xxx_hidden_Contains = nil +} + +func (x *BytesRules) ClearWellKnown() { + x.xxx_hidden_WellKnown = nil +} + +func (x *BytesRules) ClearIp() { + if _, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ip); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *BytesRules) ClearIpv4() { + if _, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ipv4); ok { + x.xxx_hidden_WellKnown = nil + } +} + +func (x *BytesRules) ClearIpv6() { + if _, ok := x.xxx_hidden_WellKnown.(*bytesRules_Ipv6); ok { + x.xxx_hidden_WellKnown = nil + } +} + +const BytesRules_WellKnown_not_set_case case_BytesRules_WellKnown = 0 +const BytesRules_Ip_case case_BytesRules_WellKnown = 10 +const BytesRules_Ipv4_case case_BytesRules_WellKnown = 11 +const BytesRules_Ipv6_case case_BytesRules_WellKnown = 12 + +func (x *BytesRules) WhichWellKnown() case_BytesRules_WellKnown { + if x == nil { + return BytesRules_WellKnown_not_set_case + } + switch x.xxx_hidden_WellKnown.(type) { + case *bytesRules_Ip: + return BytesRules_Ip_case + case *bytesRules_Ipv4: + return BytesRules_Ipv4_case + case *bytesRules_Ipv6: + return BytesRules_Ipv6_case + default: + return BytesRules_WellKnown_not_set_case + } +} + +type BytesRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified bytes + // value. If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be "\x01\x02\x03\x04" + // bytes value = 1 [(buf.validate.field).bytes.const = "\x01\x02\x03\x04"]; + // } + // + // ``` + Const []byte + // `len` requires the field value to have the specified length in bytes. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value length must be 4 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.len = 4]; + // } + // + // ``` + Len *uint64 + // `min_len` requires the field value to have at least the specified minimum + // length in bytes. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value length must be at least 2 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.min_len = 2]; + // } + // + // ``` + MinLen *uint64 + // `max_len` requires the field value to have at most the specified maximum + // length in bytes. + // If the field value exceeds the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be at most 6 bytes. + // optional bytes value = 1 [(buf.validate.field).bytes.max_len = 6]; + // } + // + // ``` + MaxLen *uint64 + // `pattern` requires the field value to match the specified regular + // expression ([RE2 syntax](https://github.com/google/re2/wiki/Syntax)). + // The value of the field must be valid UTF-8 or validation will fail with a + // runtime error. + // If the field value doesn't match the pattern, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must match regex pattern "^[a-zA-Z0-9]+$". + // optional bytes value = 1 [(buf.validate.field).bytes.pattern = "^[a-zA-Z0-9]+$"]; + // } + // + // ``` + Pattern *string + // `prefix` requires the field value to have the specified bytes at the + // beginning of the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value does not have prefix \x01\x02 + // optional bytes value = 1 [(buf.validate.field).bytes.prefix = "\x01\x02"]; + // } + // + // ``` + Prefix []byte + // `suffix` requires the field value to have the specified bytes at the end + // of the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value does not have suffix \x03\x04 + // optional bytes value = 1 [(buf.validate.field).bytes.suffix = "\x03\x04"]; + // } + // + // ``` + Suffix []byte + // `contains` requires the field value to have the specified bytes anywhere in + // the string. + // If the field value doesn't meet the requirement, an error message is generated. + // + // ```protobuf + // + // message MyBytes { + // // value does not contain \x02\x03 + // optional bytes value = 1 [(buf.validate.field).bytes.contains = "\x02\x03"]; + // } + // + // ``` + Contains []byte + // `in` requires the field value to be equal to one of the specified + // values. If the field value doesn't match any of the specified values, an + // error message is generated. + // + // ```protobuf + // + // message MyBytes { + // // value must in ["\x01\x02", "\x02\x03", "\x03\x04"] + // optional bytes value = 1 [(buf.validate.field).bytes.in = {"\x01\x02", "\x02\x03", "\x03\x04"}]; + // } + // + // ``` + In [][]byte + // `not_in` requires the field value to be not equal to any of the specified + // values. + // If the field value matches any of the specified values, an error message is + // generated. + // + // ```proto + // + // message MyBytes { + // // value must not in ["\x01\x02", "\x02\x03", "\x03\x04"] + // optional bytes value = 1 [(buf.validate.field).bytes.not_in = {"\x01\x02", "\x02\x03", "\x03\x04"}]; + // } + // + // ``` + NotIn [][]byte + // WellKnown rules provide advanced rules against common byte + // patterns + + // Fields of oneof xxx_hidden_WellKnown: + // `ip` ensures that the field `value` is a valid IP address (v4 or v6) in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be a valid IP address + // optional bytes value = 1 [(buf.validate.field).bytes.ip = true]; + // } + // + // ``` + Ip *bool + // `ipv4` ensures that the field `value` is a valid IPv4 address in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be a valid IPv4 address + // optional bytes value = 1 [(buf.validate.field).bytes.ipv4 = true]; + // } + // + // ``` + Ipv4 *bool + // `ipv6` ensures that the field `value` is a valid IPv6 address in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // ```proto + // + // message MyBytes { + // // value must be a valid IPv6 address + // optional bytes value = 1 [(buf.validate.field).bytes.ipv6 = true]; + // } + // + // ``` + Ipv6 *bool + // -- end of xxx_hidden_WellKnown + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyBytes { + // bytes value = 1 [ + // (buf.validate.field).bytes.example = "\x01\x02", + // (buf.validate.field).bytes.example = "\x02\x03" + // ]; + // } + // + // ``` + Example [][]byte +} + +func (b0 BytesRules_builder) Build() *BytesRules { + m0 := &BytesRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 12) + x.xxx_hidden_Const = b.Const + } + if b.Len != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 12) + x.xxx_hidden_Len = *b.Len + } + if b.MinLen != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 12) + x.xxx_hidden_MinLen = *b.MinLen + } + if b.MaxLen != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 12) + x.xxx_hidden_MaxLen = *b.MaxLen + } + if b.Pattern != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 12) + x.xxx_hidden_Pattern = b.Pattern + } + if b.Prefix != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 12) + x.xxx_hidden_Prefix = b.Prefix + } + if b.Suffix != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 12) + x.xxx_hidden_Suffix = b.Suffix + } + if b.Contains != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 12) + x.xxx_hidden_Contains = b.Contains + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + if b.Ip != nil { + x.xxx_hidden_WellKnown = &bytesRules_Ip{*b.Ip} + } + if b.Ipv4 != nil { + x.xxx_hidden_WellKnown = &bytesRules_Ipv4{*b.Ipv4} + } + if b.Ipv6 != nil { + x.xxx_hidden_WellKnown = &bytesRules_Ipv6{*b.Ipv6} + } + x.xxx_hidden_Example = b.Example + return m0 +} + +type case_BytesRules_WellKnown protoreflect.FieldNumber + +func (x case_BytesRules_WellKnown) String() string { + md := file_buf_validate_validate_proto_msgTypes[20].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isBytesRules_WellKnown interface { + isBytesRules_WellKnown() +} + +type bytesRules_Ip struct { + // `ip` ensures that the field `value` is a valid IP address (v4 or v6) in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be a valid IP address + // optional bytes value = 1 [(buf.validate.field).bytes.ip = true]; + // } + // + // ``` + Ip bool `protobuf:"varint,10,opt,name=ip,oneof"` +} + +type bytesRules_Ipv4 struct { + // `ipv4` ensures that the field `value` is a valid IPv4 address in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // + // ```proto + // + // message MyBytes { + // // value must be a valid IPv4 address + // optional bytes value = 1 [(buf.validate.field).bytes.ipv4 = true]; + // } + // + // ``` + Ipv4 bool `protobuf:"varint,11,opt,name=ipv4,oneof"` +} + +type bytesRules_Ipv6 struct { + // `ipv6` ensures that the field `value` is a valid IPv6 address in byte format. + // If the field value doesn't meet this rule, an error message is generated. + // ```proto + // + // message MyBytes { + // // value must be a valid IPv6 address + // optional bytes value = 1 [(buf.validate.field).bytes.ipv6 = true]; + // } + // + // ``` + Ipv6 bool `protobuf:"varint,12,opt,name=ipv6,oneof"` +} + +func (*bytesRules_Ip) isBytesRules_WellKnown() {} + +func (*bytesRules_Ipv4) isBytesRules_WellKnown() {} + +func (*bytesRules_Ipv6) isBytesRules_WellKnown() {} + +// EnumRules describe the rules applied to `enum` values. +type EnumRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const int32 `protobuf:"varint,1,opt,name=const"` + xxx_hidden_DefinedOnly bool `protobuf:"varint,2,opt,name=defined_only,json=definedOnly"` + xxx_hidden_In []int32 `protobuf:"varint,3,rep,name=in"` + xxx_hidden_NotIn []int32 `protobuf:"varint,4,rep,name=not_in,json=notIn"` + xxx_hidden_Example []int32 `protobuf:"varint,5,rep,name=example"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnumRules) Reset() { + *x = EnumRules{} + mi := &file_buf_validate_validate_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnumRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumRules) ProtoMessage() {} + +func (x *EnumRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *EnumRules) GetConst() int32 { + if x != nil { + return x.xxx_hidden_Const + } + return 0 +} + +func (x *EnumRules) GetDefinedOnly() bool { + if x != nil { + return x.xxx_hidden_DefinedOnly + } + return false +} + +func (x *EnumRules) GetIn() []int32 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *EnumRules) GetNotIn() []int32 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *EnumRules) GetExample() []int32 { + if x != nil { + return x.xxx_hidden_Example + } + return nil +} + +func (x *EnumRules) SetConst(v int32) { + x.xxx_hidden_Const = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 5) +} + +func (x *EnumRules) SetDefinedOnly(v bool) { + x.xxx_hidden_DefinedOnly = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 5) +} + +func (x *EnumRules) SetIn(v []int32) { + x.xxx_hidden_In = v +} + +func (x *EnumRules) SetNotIn(v []int32) { + x.xxx_hidden_NotIn = v +} + +func (x *EnumRules) SetExample(v []int32) { + x.xxx_hidden_Example = v +} + +func (x *EnumRules) HasConst() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *EnumRules) HasDefinedOnly() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *EnumRules) ClearConst() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Const = 0 +} + +func (x *EnumRules) ClearDefinedOnly() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_DefinedOnly = false +} + +type EnumRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` requires the field value to exactly match the specified enum value. + // If the field value doesn't match, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be exactly MY_ENUM_VALUE1. + // MyEnum value = 1 [(buf.validate.field).enum.const = 1]; + // } + // + // ``` + Const *int32 + // `defined_only` requires the field value to be one of the defined values for + // this enum, failing on any undefined value. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be a defined value of MyEnum. + // MyEnum value = 1 [(buf.validate.field).enum.defined_only = true]; + // } + // + // ``` + DefinedOnly *bool + // `in` requires the field value to be equal to one of the + // specified enum values. If the field value doesn't match any of the + // specified values, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must be equal to one of the specified values. + // MyEnum value = 1 [(buf.validate.field).enum = { in: [1, 2]}]; + // } + // + // ``` + In []int32 + // `not_in` requires the field value to be not equal to any of the + // specified enum values. If the field value matches one of the specified + // values, an error message is generated. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // // The field `value` must not be equal to any of the specified values. + // MyEnum value = 1 [(buf.validate.field).enum = { not_in: [1, 2]}]; + // } + // + // ``` + NotIn []int32 + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // enum MyEnum { + // MY_ENUM_UNSPECIFIED = 0; + // MY_ENUM_VALUE1 = 1; + // MY_ENUM_VALUE2 = 2; + // } + // + // message MyMessage { + // (buf.validate.field).enum.example = 1, + // (buf.validate.field).enum.example = 2 + // } + // + // ``` + Example []int32 +} + +func (b0 EnumRules_builder) Build() *EnumRules { + m0 := &EnumRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Const != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 5) + x.xxx_hidden_Const = *b.Const + } + if b.DefinedOnly != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 5) + x.xxx_hidden_DefinedOnly = *b.DefinedOnly + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_Example = b.Example + return m0 +} + +// RepeatedRules describe the rules applied to `repeated` values. +type RepeatedRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_MinItems uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems"` + xxx_hidden_MaxItems uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems"` + xxx_hidden_Unique bool `protobuf:"varint,3,opt,name=unique"` + xxx_hidden_Items *FieldRules `protobuf:"bytes,4,opt,name=items"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepeatedRules) Reset() { + *x = RepeatedRules{} + mi := &file_buf_validate_validate_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepeatedRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepeatedRules) ProtoMessage() {} + +func (x *RepeatedRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RepeatedRules) GetMinItems() uint64 { + if x != nil { + return x.xxx_hidden_MinItems + } + return 0 +} + +func (x *RepeatedRules) GetMaxItems() uint64 { + if x != nil { + return x.xxx_hidden_MaxItems + } + return 0 +} + +func (x *RepeatedRules) GetUnique() bool { + if x != nil { + return x.xxx_hidden_Unique + } + return false +} + +func (x *RepeatedRules) GetItems() *FieldRules { + if x != nil { + return x.xxx_hidden_Items + } + return nil +} + +func (x *RepeatedRules) SetMinItems(v uint64) { + x.xxx_hidden_MinItems = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 4) +} + +func (x *RepeatedRules) SetMaxItems(v uint64) { + x.xxx_hidden_MaxItems = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 4) +} + +func (x *RepeatedRules) SetUnique(v bool) { + x.xxx_hidden_Unique = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 4) +} + +func (x *RepeatedRules) SetItems(v *FieldRules) { + x.xxx_hidden_Items = v +} + +func (x *RepeatedRules) HasMinItems() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *RepeatedRules) HasMaxItems() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *RepeatedRules) HasUnique() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *RepeatedRules) HasItems() bool { + if x == nil { + return false + } + return x.xxx_hidden_Items != nil +} + +func (x *RepeatedRules) ClearMinItems() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_MinItems = 0 +} + +func (x *RepeatedRules) ClearMaxItems() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_MaxItems = 0 +} + +func (x *RepeatedRules) ClearUnique() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_Unique = false +} + +func (x *RepeatedRules) ClearItems() { + x.xxx_hidden_Items = nil +} + +type RepeatedRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `min_items` requires that this field must contain at least the specified + // minimum number of items. + // + // Note that `min_items = 1` is equivalent to setting a field as `required`. + // + // ```proto + // + // message MyRepeated { + // // value must contain at least 2 items + // repeated string value = 1 [(buf.validate.field).repeated.min_items = 2]; + // } + // + // ``` + MinItems *uint64 + // `max_items` denotes that this field must not exceed a + // certain number of items as the upper limit. If the field contains more + // items than specified, an error message will be generated, requiring the + // field to maintain no more than the specified number of items. + // + // ```proto + // + // message MyRepeated { + // // value must contain no more than 3 item(s) + // repeated string value = 1 [(buf.validate.field).repeated.max_items = 3]; + // } + // + // ``` + MaxItems *uint64 + // `unique` indicates that all elements in this field must + // be unique. This rule is strictly applicable to scalar and enum + // types, with message types not being supported. + // + // ```proto + // + // message MyRepeated { + // // repeated value must contain unique items + // repeated string value = 1 [(buf.validate.field).repeated.unique = true]; + // } + // + // ``` + Unique *bool + // `items` details the rules to be applied to each item + // in the field. Even for repeated message fields, validation is executed + // against each item unless skip is explicitly specified. + // + // Note that repeated items are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyRepeated { + // // The items in the field `value` must follow the specified rules. + // repeated string value = 1 [(buf.validate.field).repeated.items = { + // string: { + // min_len: 3 + // max_len: 10 + // } + // }]; + // } + // + // ``` + Items *FieldRules +} + +func (b0 RepeatedRules_builder) Build() *RepeatedRules { + m0 := &RepeatedRules{} + b, x := &b0, m0 + _, _ = b, x + if b.MinItems != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 4) + x.xxx_hidden_MinItems = *b.MinItems + } + if b.MaxItems != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 4) + x.xxx_hidden_MaxItems = *b.MaxItems + } + if b.Unique != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 4) + x.xxx_hidden_Unique = *b.Unique + } + x.xxx_hidden_Items = b.Items + return m0 +} + +// MapRules describe the rules applied to `map` values. +type MapRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_MinPairs uint64 `protobuf:"varint,1,opt,name=min_pairs,json=minPairs"` + xxx_hidden_MaxPairs uint64 `protobuf:"varint,2,opt,name=max_pairs,json=maxPairs"` + xxx_hidden_Keys *FieldRules `protobuf:"bytes,4,opt,name=keys"` + xxx_hidden_Values *FieldRules `protobuf:"bytes,5,opt,name=values"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MapRules) Reset() { + *x = MapRules{} + mi := &file_buf_validate_validate_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MapRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapRules) ProtoMessage() {} + +func (x *MapRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *MapRules) GetMinPairs() uint64 { + if x != nil { + return x.xxx_hidden_MinPairs + } + return 0 +} + +func (x *MapRules) GetMaxPairs() uint64 { + if x != nil { + return x.xxx_hidden_MaxPairs + } + return 0 +} + +func (x *MapRules) GetKeys() *FieldRules { + if x != nil { + return x.xxx_hidden_Keys + } + return nil +} + +func (x *MapRules) GetValues() *FieldRules { + if x != nil { + return x.xxx_hidden_Values + } + return nil +} + +func (x *MapRules) SetMinPairs(v uint64) { + x.xxx_hidden_MinPairs = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 4) +} + +func (x *MapRules) SetMaxPairs(v uint64) { + x.xxx_hidden_MaxPairs = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 4) +} + +func (x *MapRules) SetKeys(v *FieldRules) { + x.xxx_hidden_Keys = v +} + +func (x *MapRules) SetValues(v *FieldRules) { + x.xxx_hidden_Values = v +} + +func (x *MapRules) HasMinPairs() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *MapRules) HasMaxPairs() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *MapRules) HasKeys() bool { + if x == nil { + return false + } + return x.xxx_hidden_Keys != nil +} + +func (x *MapRules) HasValues() bool { + if x == nil { + return false + } + return x.xxx_hidden_Values != nil +} + +func (x *MapRules) ClearMinPairs() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_MinPairs = 0 +} + +func (x *MapRules) ClearMaxPairs() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_MaxPairs = 0 +} + +func (x *MapRules) ClearKeys() { + x.xxx_hidden_Keys = nil +} + +func (x *MapRules) ClearValues() { + x.xxx_hidden_Values = nil +} + +type MapRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Specifies the minimum number of key-value pairs allowed. If the field has + // fewer key-value pairs than specified, an error message is generated. + // + // ```proto + // + // message MyMap { + // // The field `value` must have at least 2 key-value pairs. + // map<string, string> value = 1 [(buf.validate.field).map.min_pairs = 2]; + // } + // + // ``` + MinPairs *uint64 + // Specifies the maximum number of key-value pairs allowed. If the field has + // more key-value pairs than specified, an error message is generated. + // + // ```proto + // + // message MyMap { + // // The field `value` must have at most 3 key-value pairs. + // map<string, string> value = 1 [(buf.validate.field).map.max_pairs = 3]; + // } + // + // ``` + MaxPairs *uint64 + // Specifies the rules to be applied to each key in the field. + // + // Note that map keys are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyMap { + // // The keys in the field `value` must follow the specified rules. + // map<string, string> value = 1 [(buf.validate.field).map.keys = { + // string: { + // min_len: 3 + // max_len: 10 + // } + // }]; + // } + // + // ``` + Keys *FieldRules + // Specifies the rules to be applied to the value of each key in the + // field. Message values will still have their validations evaluated unless + // skip is specified here. + // + // Note that map values are always considered populated. The `required` + // rule does not apply. + // + // ```proto + // + // message MyMap { + // // The values in the field `value` must follow the specified rules. + // map<string, string> value = 1 [(buf.validate.field).map.values = { + // string: { + // min_len: 5 + // max_len: 20 + // } + // }]; + // } + // + // ``` + Values *FieldRules +} + +func (b0 MapRules_builder) Build() *MapRules { + m0 := &MapRules{} + b, x := &b0, m0 + _, _ = b, x + if b.MinPairs != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 4) + x.xxx_hidden_MinPairs = *b.MinPairs + } + if b.MaxPairs != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 4) + x.xxx_hidden_MaxPairs = *b.MaxPairs + } + x.xxx_hidden_Keys = b.Keys + x.xxx_hidden_Values = b.Values + return m0 +} + +// AnyRules describe rules applied exclusively to the `google.protobuf.Any` well-known type. +type AnyRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_In []string `protobuf:"bytes,2,rep,name=in"` + xxx_hidden_NotIn []string `protobuf:"bytes,3,rep,name=not_in,json=notIn"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AnyRules) Reset() { + *x = AnyRules{} + mi := &file_buf_validate_validate_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AnyRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnyRules) ProtoMessage() {} + +func (x *AnyRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *AnyRules) GetIn() []string { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *AnyRules) GetNotIn() []string { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *AnyRules) SetIn(v []string) { + x.xxx_hidden_In = v +} + +func (x *AnyRules) SetNotIn(v []string) { + x.xxx_hidden_NotIn = v +} + +type AnyRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `in` requires the field's `type_url` to be equal to one of the + // specified values. If it doesn't match any of the specified values, an error + // message is generated. + // + // ```proto + // + // message MyAny { + // // The `value` field must have a `type_url` equal to one of the specified values. + // google.protobuf.Any value = 1 [(buf.validate.field).any = { + // in: ["type.googleapis.com/MyType1", "type.googleapis.com/MyType2"] + // }]; + // } + // + // ``` + In []string + // requires the field's type_url to be not equal to any of the specified values. If it matches any of the specified values, an error message is generated. + // + // ```proto + // + // message MyAny { + // // The `value` field must not have a `type_url` equal to any of the specified values. + // google.protobuf.Any value = 1 [(buf.validate.field).any = { + // not_in: ["type.googleapis.com/ForbiddenType1", "type.googleapis.com/ForbiddenType2"] + // }]; + // } + // + // ``` + NotIn []string +} + +func (b0 AnyRules_builder) Build() *AnyRules { + m0 := &AnyRules{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + return m0 +} + +// DurationRules describe the rules applied exclusively to the `google.protobuf.Duration` well-known type. +type DurationRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const *durationpb.Duration `protobuf:"bytes,2,opt,name=const"` + xxx_hidden_LessThan isDurationRules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isDurationRules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_In *[]*durationpb.Duration `protobuf:"bytes,7,rep,name=in"` + xxx_hidden_NotIn *[]*durationpb.Duration `protobuf:"bytes,8,rep,name=not_in,json=notIn"` + xxx_hidden_Example *[]*durationpb.Duration `protobuf:"bytes,9,rep,name=example"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DurationRules) Reset() { + *x = DurationRules{} + mi := &file_buf_validate_validate_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DurationRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DurationRules) ProtoMessage() {} + +func (x *DurationRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DurationRules) GetConst() *durationpb.Duration { + if x != nil { + return x.xxx_hidden_Const + } + return nil +} + +func (x *DurationRules) GetLt() *durationpb.Duration { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*durationRules_Lt); ok { + return x.Lt + } + } + return nil +} + +func (x *DurationRules) GetLte() *durationpb.Duration { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*durationRules_Lte); ok { + return x.Lte + } + } + return nil +} + +func (x *DurationRules) GetGt() *durationpb.Duration { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*durationRules_Gt); ok { + return x.Gt + } + } + return nil +} + +func (x *DurationRules) GetGte() *durationpb.Duration { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*durationRules_Gte); ok { + return x.Gte + } + } + return nil +} + +func (x *DurationRules) GetIn() []*durationpb.Duration { + if x != nil { + if x.xxx_hidden_In != nil { + return *x.xxx_hidden_In + } + } + return nil +} + +func (x *DurationRules) GetNotIn() []*durationpb.Duration { + if x != nil { + if x.xxx_hidden_NotIn != nil { + return *x.xxx_hidden_NotIn + } + } + return nil +} + +func (x *DurationRules) GetExample() []*durationpb.Duration { + if x != nil { + if x.xxx_hidden_Example != nil { + return *x.xxx_hidden_Example + } + } + return nil +} + +func (x *DurationRules) SetConst(v *durationpb.Duration) { + x.xxx_hidden_Const = v +} + +func (x *DurationRules) SetLt(v *durationpb.Duration) { + if v == nil { + x.xxx_hidden_LessThan = nil + return + } + x.xxx_hidden_LessThan = &durationRules_Lt{v} +} + +func (x *DurationRules) SetLte(v *durationpb.Duration) { + if v == nil { + x.xxx_hidden_LessThan = nil + return + } + x.xxx_hidden_LessThan = &durationRules_Lte{v} +} + +func (x *DurationRules) SetGt(v *durationpb.Duration) { + if v == nil { + x.xxx_hidden_GreaterThan = nil + return + } + x.xxx_hidden_GreaterThan = &durationRules_Gt{v} +} + +func (x *DurationRules) SetGte(v *durationpb.Duration) { + if v == nil { + x.xxx_hidden_GreaterThan = nil + return + } + x.xxx_hidden_GreaterThan = &durationRules_Gte{v} +} + +func (x *DurationRules) SetIn(v []*durationpb.Duration) { + x.xxx_hidden_In = &v +} + +func (x *DurationRules) SetNotIn(v []*durationpb.Duration) { + x.xxx_hidden_NotIn = &v +} + +func (x *DurationRules) SetExample(v []*durationpb.Duration) { + x.xxx_hidden_Example = &v +} + +func (x *DurationRules) HasConst() bool { + if x == nil { + return false + } + return x.xxx_hidden_Const != nil +} + +func (x *DurationRules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *DurationRules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*durationRules_Lt) + return ok +} + +func (x *DurationRules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*durationRules_Lte) + return ok +} + +func (x *DurationRules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *DurationRules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*durationRules_Gt) + return ok +} + +func (x *DurationRules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*durationRules_Gte) + return ok +} + +func (x *DurationRules) ClearConst() { + x.xxx_hidden_Const = nil +} + +func (x *DurationRules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *DurationRules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*durationRules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *DurationRules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*durationRules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *DurationRules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *DurationRules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*durationRules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *DurationRules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*durationRules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +const DurationRules_LessThan_not_set_case case_DurationRules_LessThan = 0 +const DurationRules_Lt_case case_DurationRules_LessThan = 3 +const DurationRules_Lte_case case_DurationRules_LessThan = 4 + +func (x *DurationRules) WhichLessThan() case_DurationRules_LessThan { + if x == nil { + return DurationRules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *durationRules_Lt: + return DurationRules_Lt_case + case *durationRules_Lte: + return DurationRules_Lte_case + default: + return DurationRules_LessThan_not_set_case + } +} + +const DurationRules_GreaterThan_not_set_case case_DurationRules_GreaterThan = 0 +const DurationRules_Gt_case case_DurationRules_GreaterThan = 5 +const DurationRules_Gte_case case_DurationRules_GreaterThan = 6 + +func (x *DurationRules) WhichGreaterThan() case_DurationRules_GreaterThan { + if x == nil { + return DurationRules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *durationRules_Gt: + return DurationRules_Gt_case + case *durationRules_Gte: + return DurationRules_Gte_case + default: + return DurationRules_GreaterThan_not_set_case + } +} + +type DurationRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` dictates that the field must match the specified value of the `google.protobuf.Duration` type exactly. + // If the field's value deviates from the specified value, an error message + // will be generated. + // + // ```proto + // + // message MyDuration { + // // value must equal 5s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.const = "5s"]; + // } + // + // ``` + Const *durationpb.Duration + // Fields of oneof xxx_hidden_LessThan: + // `lt` stipulates that the field must be less than the specified value of the `google.protobuf.Duration` type, + // exclusive. If the field's value is greater than or equal to the specified + // value, an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be less than 5s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = "5s"]; + // } + // + // ``` + Lt *durationpb.Duration + // `lte` indicates that the field must be less than or equal to the specified + // value of the `google.protobuf.Duration` type, inclusive. If the field's value is greater than the specified value, + // an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be less than or equal to 10s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lte = "10s"]; + // } + // + // ``` + Lte *durationpb.Duration + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the duration field value to be greater than the specified + // value (exclusive). If the value of `gt` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be greater than 5s [duration.gt] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.gt = { seconds: 5 }]; + // + // // duration must be greater than 5s and less than 10s [duration.gt_lt] + // google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gt: { seconds: 5 }, lt: { seconds: 10 } }]; + // + // // duration must be greater than 10s or less than 5s [duration.gt_lt_exclusive] + // google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gt: { seconds: 10 }, lt: { seconds: 5 } }]; + // } + // + // ``` + Gt *durationpb.Duration + // `gte` requires the duration field value to be greater than or equal to the + // specified value (exclusive). If the value of `gte` is larger than a + // specified `lt` or `lte`, the range is reversed, and the field value must + // be outside the specified range. If the field value doesn't meet the + // required conditions, an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be greater than or equal to 5s [duration.gte] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.gte = { seconds: 5 }]; + // + // // duration must be greater than or equal to 5s and less than 10s [duration.gte_lt] + // google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gte: { seconds: 5 }, lt: { seconds: 10 } }]; + // + // // duration must be greater than or equal to 10s or less than 5s [duration.gte_lt_exclusive] + // google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gte: { seconds: 10 }, lt: { seconds: 5 } }]; + // } + // + // ``` + Gte *durationpb.Duration + // -- end of xxx_hidden_GreaterThan + // `in` asserts that the field must be equal to one of the specified values of the `google.protobuf.Duration` type. + // If the field's value doesn't correspond to any of the specified values, + // an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be in list [1s, 2s, 3s] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.in = ["1s", "2s", "3s"]]; + // } + // + // ``` + In []*durationpb.Duration + // `not_in` denotes that the field must not be equal to + // any of the specified values of the `google.protobuf.Duration` type. + // If the field's value matches any of these values, an error message will be + // generated. + // + // ```proto + // + // message MyDuration { + // // value must not be in list [1s, 2s, 3s] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.not_in = ["1s", "2s", "3s"]]; + // } + // + // ``` + NotIn []*durationpb.Duration + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyDuration { + // google.protobuf.Duration value = 1 [ + // (buf.validate.field).duration.example = { seconds: 1 }, + // (buf.validate.field).duration.example = { seconds: 2 }, + // ]; + // } + // + // ``` + Example []*durationpb.Duration +} + +func (b0 DurationRules_builder) Build() *DurationRules { + m0 := &DurationRules{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Const = b.Const + if b.Lt != nil { + x.xxx_hidden_LessThan = &durationRules_Lt{b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = &durationRules_Lte{b.Lte} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = &durationRules_Gt{b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = &durationRules_Gte{b.Gte} + } + x.xxx_hidden_In = &b.In + x.xxx_hidden_NotIn = &b.NotIn + x.xxx_hidden_Example = &b.Example + return m0 +} + +type case_DurationRules_LessThan protoreflect.FieldNumber + +func (x case_DurationRules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[25].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_DurationRules_GreaterThan protoreflect.FieldNumber + +func (x case_DurationRules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[25].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isDurationRules_LessThan interface { + isDurationRules_LessThan() +} + +type durationRules_Lt struct { + // `lt` stipulates that the field must be less than the specified value of the `google.protobuf.Duration` type, + // exclusive. If the field's value is greater than or equal to the specified + // value, an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be less than 5s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = "5s"]; + // } + // + // ``` + Lt *durationpb.Duration `protobuf:"bytes,3,opt,name=lt,oneof"` +} + +type durationRules_Lte struct { + // `lte` indicates that the field must be less than or equal to the specified + // value of the `google.protobuf.Duration` type, inclusive. If the field's value is greater than the specified value, + // an error message will be generated. + // + // ```proto + // + // message MyDuration { + // // value must be less than or equal to 10s + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lte = "10s"]; + // } + // + // ``` + Lte *durationpb.Duration `protobuf:"bytes,4,opt,name=lte,oneof"` +} + +func (*durationRules_Lt) isDurationRules_LessThan() {} + +func (*durationRules_Lte) isDurationRules_LessThan() {} + +type isDurationRules_GreaterThan interface { + isDurationRules_GreaterThan() +} + +type durationRules_Gt struct { + // `gt` requires the duration field value to be greater than the specified + // value (exclusive). If the value of `gt` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be greater than 5s [duration.gt] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.gt = { seconds: 5 }]; + // + // // duration must be greater than 5s and less than 10s [duration.gt_lt] + // google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gt: { seconds: 5 }, lt: { seconds: 10 } }]; + // + // // duration must be greater than 10s or less than 5s [duration.gt_lt_exclusive] + // google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gt: { seconds: 10 }, lt: { seconds: 5 } }]; + // } + // + // ``` + Gt *durationpb.Duration `protobuf:"bytes,5,opt,name=gt,oneof"` +} + +type durationRules_Gte struct { + // `gte` requires the duration field value to be greater than or equal to the + // specified value (exclusive). If the value of `gte` is larger than a + // specified `lt` or `lte`, the range is reversed, and the field value must + // be outside the specified range. If the field value doesn't meet the + // required conditions, an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be greater than or equal to 5s [duration.gte] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.gte = { seconds: 5 }]; + // + // // duration must be greater than or equal to 5s and less than 10s [duration.gte_lt] + // google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gte: { seconds: 5 }, lt: { seconds: 10 } }]; + // + // // duration must be greater than or equal to 10s or less than 5s [duration.gte_lt_exclusive] + // google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gte: { seconds: 10 }, lt: { seconds: 5 } }]; + // } + // + // ``` + Gte *durationpb.Duration `protobuf:"bytes,6,opt,name=gte,oneof"` +} + +func (*durationRules_Gt) isDurationRules_GreaterThan() {} + +func (*durationRules_Gte) isDurationRules_GreaterThan() {} + +// TimestampRules describe the rules applied exclusively to the `google.protobuf.Timestamp` well-known type. +type TimestampRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Const *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=const"` + xxx_hidden_LessThan isTimestampRules_LessThan `protobuf_oneof:"less_than"` + xxx_hidden_GreaterThan isTimestampRules_GreaterThan `protobuf_oneof:"greater_than"` + xxx_hidden_Within *durationpb.Duration `protobuf:"bytes,9,opt,name=within"` + xxx_hidden_Example *[]*timestamppb.Timestamp `protobuf:"bytes,10,rep,name=example"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimestampRules) Reset() { + *x = TimestampRules{} + mi := &file_buf_validate_validate_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimestampRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimestampRules) ProtoMessage() {} + +func (x *TimestampRules) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TimestampRules) GetConst() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_Const + } + return nil +} + +func (x *TimestampRules) GetLt() *timestamppb.Timestamp { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*timestampRules_Lt); ok { + return x.Lt + } + } + return nil +} + +func (x *TimestampRules) GetLte() *timestamppb.Timestamp { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*timestampRules_Lte); ok { + return x.Lte + } + } + return nil +} + +func (x *TimestampRules) GetLtNow() bool { + if x != nil { + if x, ok := x.xxx_hidden_LessThan.(*timestampRules_LtNow); ok { + return x.LtNow + } + } + return false +} + +func (x *TimestampRules) GetGt() *timestamppb.Timestamp { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*timestampRules_Gt); ok { + return x.Gt + } + } + return nil +} + +func (x *TimestampRules) GetGte() *timestamppb.Timestamp { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*timestampRules_Gte); ok { + return x.Gte + } + } + return nil +} + +func (x *TimestampRules) GetGtNow() bool { + if x != nil { + if x, ok := x.xxx_hidden_GreaterThan.(*timestampRules_GtNow); ok { + return x.GtNow + } + } + return false +} + +func (x *TimestampRules) GetWithin() *durationpb.Duration { + if x != nil { + return x.xxx_hidden_Within + } + return nil +} + +func (x *TimestampRules) GetExample() []*timestamppb.Timestamp { + if x != nil { + if x.xxx_hidden_Example != nil { + return *x.xxx_hidden_Example + } + } + return nil +} + +func (x *TimestampRules) SetConst(v *timestamppb.Timestamp) { + x.xxx_hidden_Const = v +} + +func (x *TimestampRules) SetLt(v *timestamppb.Timestamp) { + if v == nil { + x.xxx_hidden_LessThan = nil + return + } + x.xxx_hidden_LessThan = ×tampRules_Lt{v} +} + +func (x *TimestampRules) SetLte(v *timestamppb.Timestamp) { + if v == nil { + x.xxx_hidden_LessThan = nil + return + } + x.xxx_hidden_LessThan = ×tampRules_Lte{v} +} + +func (x *TimestampRules) SetLtNow(v bool) { + x.xxx_hidden_LessThan = ×tampRules_LtNow{v} +} + +func (x *TimestampRules) SetGt(v *timestamppb.Timestamp) { + if v == nil { + x.xxx_hidden_GreaterThan = nil + return + } + x.xxx_hidden_GreaterThan = ×tampRules_Gt{v} +} + +func (x *TimestampRules) SetGte(v *timestamppb.Timestamp) { + if v == nil { + x.xxx_hidden_GreaterThan = nil + return + } + x.xxx_hidden_GreaterThan = ×tampRules_Gte{v} +} + +func (x *TimestampRules) SetGtNow(v bool) { + x.xxx_hidden_GreaterThan = ×tampRules_GtNow{v} +} + +func (x *TimestampRules) SetWithin(v *durationpb.Duration) { + x.xxx_hidden_Within = v +} + +func (x *TimestampRules) SetExample(v []*timestamppb.Timestamp) { + x.xxx_hidden_Example = &v +} + +func (x *TimestampRules) HasConst() bool { + if x == nil { + return false + } + return x.xxx_hidden_Const != nil +} + +func (x *TimestampRules) HasLessThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_LessThan != nil +} + +func (x *TimestampRules) HasLt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*timestampRules_Lt) + return ok +} + +func (x *TimestampRules) HasLte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*timestampRules_Lte) + return ok +} + +func (x *TimestampRules) HasLtNow() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_LessThan.(*timestampRules_LtNow) + return ok +} + +func (x *TimestampRules) HasGreaterThan() bool { + if x == nil { + return false + } + return x.xxx_hidden_GreaterThan != nil +} + +func (x *TimestampRules) HasGt() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*timestampRules_Gt) + return ok +} + +func (x *TimestampRules) HasGte() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*timestampRules_Gte) + return ok +} + +func (x *TimestampRules) HasGtNow() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_GreaterThan.(*timestampRules_GtNow) + return ok +} + +func (x *TimestampRules) HasWithin() bool { + if x == nil { + return false + } + return x.xxx_hidden_Within != nil +} + +func (x *TimestampRules) ClearConst() { + x.xxx_hidden_Const = nil +} + +func (x *TimestampRules) ClearLessThan() { + x.xxx_hidden_LessThan = nil +} + +func (x *TimestampRules) ClearLt() { + if _, ok := x.xxx_hidden_LessThan.(*timestampRules_Lt); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *TimestampRules) ClearLte() { + if _, ok := x.xxx_hidden_LessThan.(*timestampRules_Lte); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *TimestampRules) ClearLtNow() { + if _, ok := x.xxx_hidden_LessThan.(*timestampRules_LtNow); ok { + x.xxx_hidden_LessThan = nil + } +} + +func (x *TimestampRules) ClearGreaterThan() { + x.xxx_hidden_GreaterThan = nil +} + +func (x *TimestampRules) ClearGt() { + if _, ok := x.xxx_hidden_GreaterThan.(*timestampRules_Gt); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *TimestampRules) ClearGte() { + if _, ok := x.xxx_hidden_GreaterThan.(*timestampRules_Gte); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *TimestampRules) ClearGtNow() { + if _, ok := x.xxx_hidden_GreaterThan.(*timestampRules_GtNow); ok { + x.xxx_hidden_GreaterThan = nil + } +} + +func (x *TimestampRules) ClearWithin() { + x.xxx_hidden_Within = nil +} + +const TimestampRules_LessThan_not_set_case case_TimestampRules_LessThan = 0 +const TimestampRules_Lt_case case_TimestampRules_LessThan = 3 +const TimestampRules_Lte_case case_TimestampRules_LessThan = 4 +const TimestampRules_LtNow_case case_TimestampRules_LessThan = 7 + +func (x *TimestampRules) WhichLessThan() case_TimestampRules_LessThan { + if x == nil { + return TimestampRules_LessThan_not_set_case + } + switch x.xxx_hidden_LessThan.(type) { + case *timestampRules_Lt: + return TimestampRules_Lt_case + case *timestampRules_Lte: + return TimestampRules_Lte_case + case *timestampRules_LtNow: + return TimestampRules_LtNow_case + default: + return TimestampRules_LessThan_not_set_case + } +} + +const TimestampRules_GreaterThan_not_set_case case_TimestampRules_GreaterThan = 0 +const TimestampRules_Gt_case case_TimestampRules_GreaterThan = 5 +const TimestampRules_Gte_case case_TimestampRules_GreaterThan = 6 +const TimestampRules_GtNow_case case_TimestampRules_GreaterThan = 8 + +func (x *TimestampRules) WhichGreaterThan() case_TimestampRules_GreaterThan { + if x == nil { + return TimestampRules_GreaterThan_not_set_case + } + switch x.xxx_hidden_GreaterThan.(type) { + case *timestampRules_Gt: + return TimestampRules_Gt_case + case *timestampRules_Gte: + return TimestampRules_Gte_case + case *timestampRules_GtNow: + return TimestampRules_GtNow_case + default: + return TimestampRules_GreaterThan_not_set_case + } +} + +type TimestampRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `const` dictates that this field, of the `google.protobuf.Timestamp` type, must exactly match the specified value. If the field value doesn't correspond to the specified timestamp, an error message will be generated. + // + // ```proto + // + // message MyTimestamp { + // // value must equal 2023-05-03T10:00:00Z + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.const = {seconds: 1727998800}]; + // } + // + // ``` + Const *timestamppb.Timestamp + // Fields of oneof xxx_hidden_LessThan: + // requires the duration field value to be less than the specified value (field < value). If the field value doesn't meet the required conditions, an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be less than 'P3D' [duration.lt] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = { seconds: 259200 }]; + // } + // + // ``` + Lt *timestamppb.Timestamp + // requires the timestamp field value to be less than or equal to the specified value (field <= value). If the field value doesn't meet the required conditions, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be less than or equal to '2023-05-14T00:00:00Z' [timestamp.lte] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.lte = { seconds: 1678867200 }]; + // } + // + // ``` + Lte *timestamppb.Timestamp + // `lt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be less than the current time. `lt_now` can only be used with the `within` rule. + // + // ```proto + // + // message MyTimestamp { + // // value must be less than now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.lt_now = true]; + // } + // + // ``` + LtNow *bool + // -- end of xxx_hidden_LessThan + // Fields of oneof xxx_hidden_GreaterThan: + // `gt` requires the timestamp field value to be greater than the specified + // value (exclusive). If the value of `gt` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be greater than '2023-01-01T00:00:00Z' [timestamp.gt] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gt = { seconds: 1672444800 }]; + // + // // timestamp must be greater than '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gt_lt] + // google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gt: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }]; + // + // // timestamp must be greater than '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gt_lt_exclusive] + // google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gt: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }]; + // } + // + // ``` + Gt *timestamppb.Timestamp + // `gte` requires the timestamp field value to be greater than or equal to the + // specified value (exclusive). If the value of `gte` is larger than a + // specified `lt` or `lte`, the range is reversed, and the field value + // must be outside the specified range. If the field value doesn't meet + // the required conditions, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' [timestamp.gte] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gte = { seconds: 1672444800 }]; + // + // // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gte_lt] + // google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gte: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }]; + // + // // timestamp must be greater than or equal to '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gte_lt_exclusive] + // google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gte: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }]; + // } + // + // ``` + Gte *timestamppb.Timestamp + // `gt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be greater than the current time. `gt_now` can only be used with the `within` rule. + // + // ```proto + // + // message MyTimestamp { + // // value must be greater than now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.gt_now = true]; + // } + // + // ``` + GtNow *bool + // -- end of xxx_hidden_GreaterThan + // `within` specifies that this field, of the `google.protobuf.Timestamp` type, must be within the specified duration of the current time. If the field value isn't within the duration, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // value must be within 1 hour of now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.within = {seconds: 3600}]; + // } + // + // ``` + Within *durationpb.Duration + // `example` specifies values that the field may have. These values SHOULD + // conform to other rules. `example` values will not impact validation + // but may be used as helpful guidance on how to populate the given field. + // + // ```proto + // + // message MyTimestamp { + // google.protobuf.Timestamp value = 1 [ + // (buf.validate.field).timestamp.example = { seconds: 1672444800 }, + // (buf.validate.field).timestamp.example = { seconds: 1672531200 }, + // ]; + // } + // + // ``` + Example []*timestamppb.Timestamp +} + +func (b0 TimestampRules_builder) Build() *TimestampRules { + m0 := &TimestampRules{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Const = b.Const + if b.Lt != nil { + x.xxx_hidden_LessThan = ×tampRules_Lt{b.Lt} + } + if b.Lte != nil { + x.xxx_hidden_LessThan = ×tampRules_Lte{b.Lte} + } + if b.LtNow != nil { + x.xxx_hidden_LessThan = ×tampRules_LtNow{*b.LtNow} + } + if b.Gt != nil { + x.xxx_hidden_GreaterThan = ×tampRules_Gt{b.Gt} + } + if b.Gte != nil { + x.xxx_hidden_GreaterThan = ×tampRules_Gte{b.Gte} + } + if b.GtNow != nil { + x.xxx_hidden_GreaterThan = ×tampRules_GtNow{*b.GtNow} + } + x.xxx_hidden_Within = b.Within + x.xxx_hidden_Example = &b.Example + return m0 +} + +type case_TimestampRules_LessThan protoreflect.FieldNumber + +func (x case_TimestampRules_LessThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[26].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type case_TimestampRules_GreaterThan protoreflect.FieldNumber + +func (x case_TimestampRules_GreaterThan) String() string { + md := file_buf_validate_validate_proto_msgTypes[26].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isTimestampRules_LessThan interface { + isTimestampRules_LessThan() +} + +type timestampRules_Lt struct { + // requires the duration field value to be less than the specified value (field < value). If the field value doesn't meet the required conditions, an error message is generated. + // + // ```proto + // + // message MyDuration { + // // duration must be less than 'P3D' [duration.lt] + // google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = { seconds: 259200 }]; + // } + // + // ``` + Lt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lt,oneof"` +} + +type timestampRules_Lte struct { + // requires the timestamp field value to be less than or equal to the specified value (field <= value). If the field value doesn't meet the required conditions, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be less than or equal to '2023-05-14T00:00:00Z' [timestamp.lte] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.lte = { seconds: 1678867200 }]; + // } + // + // ``` + Lte *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=lte,oneof"` +} + +type timestampRules_LtNow struct { + // `lt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be less than the current time. `lt_now` can only be used with the `within` rule. + // + // ```proto + // + // message MyTimestamp { + // // value must be less than now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.lt_now = true]; + // } + // + // ``` + LtNow bool `protobuf:"varint,7,opt,name=lt_now,json=ltNow,oneof"` +} + +func (*timestampRules_Lt) isTimestampRules_LessThan() {} + +func (*timestampRules_Lte) isTimestampRules_LessThan() {} + +func (*timestampRules_LtNow) isTimestampRules_LessThan() {} + +type isTimestampRules_GreaterThan interface { + isTimestampRules_GreaterThan() +} + +type timestampRules_Gt struct { + // `gt` requires the timestamp field value to be greater than the specified + // value (exclusive). If the value of `gt` is larger than a specified `lt` + // or `lte`, the range is reversed, and the field value must be outside the + // specified range. If the field value doesn't meet the required conditions, + // an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be greater than '2023-01-01T00:00:00Z' [timestamp.gt] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gt = { seconds: 1672444800 }]; + // + // // timestamp must be greater than '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gt_lt] + // google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gt: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }]; + // + // // timestamp must be greater than '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gt_lt_exclusive] + // google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gt: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }]; + // } + // + // ``` + Gt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=gt,oneof"` +} + +type timestampRules_Gte struct { + // `gte` requires the timestamp field value to be greater than or equal to the + // specified value (exclusive). If the value of `gte` is larger than a + // specified `lt` or `lte`, the range is reversed, and the field value + // must be outside the specified range. If the field value doesn't meet + // the required conditions, an error message is generated. + // + // ```proto + // + // message MyTimestamp { + // // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' [timestamp.gte] + // google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gte = { seconds: 1672444800 }]; + // + // // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gte_lt] + // google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gte: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }]; + // + // // timestamp must be greater than or equal to '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gte_lt_exclusive] + // google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gte: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }]; + // } + // + // ``` + Gte *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=gte,oneof"` +} + +type timestampRules_GtNow struct { + // `gt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be greater than the current time. `gt_now` can only be used with the `within` rule. + // + // ```proto + // + // message MyTimestamp { + // // value must be greater than now + // google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.gt_now = true]; + // } + // + // ``` + GtNow bool `protobuf:"varint,8,opt,name=gt_now,json=gtNow,oneof"` +} + +func (*timestampRules_Gt) isTimestampRules_GreaterThan() {} + +func (*timestampRules_Gte) isTimestampRules_GreaterThan() {} + +func (*timestampRules_GtNow) isTimestampRules_GreaterThan() {} + +// `Violations` is a collection of `Violation` messages. This message type is returned by +// Protovalidate when a proto message fails to meet the requirements set by the `Rule` validation rules. +// Each individual violation is represented by a `Violation` message. +type Violations struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Violations *[]*Violation `protobuf:"bytes,1,rep,name=violations"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Violations) Reset() { + *x = Violations{} + mi := &file_buf_validate_validate_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Violations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Violations) ProtoMessage() {} + +func (x *Violations) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Violations) GetViolations() []*Violation { + if x != nil { + if x.xxx_hidden_Violations != nil { + return *x.xxx_hidden_Violations + } + } + return nil +} + +func (x *Violations) SetViolations(v []*Violation) { + x.xxx_hidden_Violations = &v +} + +type Violations_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `violations` is a repeated field that contains all the `Violation` messages corresponding to the violations detected. + Violations []*Violation +} + +func (b0 Violations_builder) Build() *Violations { + m0 := &Violations{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Violations = &b.Violations + return m0 +} + +// `Violation` represents a single instance where a validation rule, expressed +// as a `Rule`, was not met. It provides information about the field that +// caused the violation, the specific rule that wasn't fulfilled, and a +// human-readable error message. +// +// For example, consider the following message: +// +// ```proto +// +// message User { +// int32 age = 1 [(buf.validate.field).cel = { +// id: "user.age", +// expression: "this < 18 ? 'User must be at least 18 years old' : ''", +// }]; +// } +// +// ``` +// +// It could produce the following violation: +// +// ```json +// +// { +// "ruleId": "user.age", +// "message": "User must be at least 18 years old", +// "field": { +// "elements": [ +// { +// "fieldNumber": 1, +// "fieldName": "age", +// "fieldType": "TYPE_INT32" +// } +// ] +// }, +// "rule": { +// "elements": [ +// { +// "fieldNumber": 23, +// "fieldName": "cel", +// "fieldType": "TYPE_MESSAGE", +// "index": "0" +// } +// ] +// } +// } +// +// ``` +type Violation struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Field *FieldPath `protobuf:"bytes,5,opt,name=field"` + xxx_hidden_Rule *FieldPath `protobuf:"bytes,6,opt,name=rule"` + xxx_hidden_RuleId *string `protobuf:"bytes,2,opt,name=rule_id,json=ruleId"` + xxx_hidden_Message *string `protobuf:"bytes,3,opt,name=message"` + xxx_hidden_ForKey bool `protobuf:"varint,4,opt,name=for_key,json=forKey"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Violation) Reset() { + *x = Violation{} + mi := &file_buf_validate_validate_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Violation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Violation) ProtoMessage() {} + +func (x *Violation) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Violation) GetField() *FieldPath { + if x != nil { + return x.xxx_hidden_Field + } + return nil +} + +func (x *Violation) GetRule() *FieldPath { + if x != nil { + return x.xxx_hidden_Rule + } + return nil +} + +func (x *Violation) GetRuleId() string { + if x != nil { + if x.xxx_hidden_RuleId != nil { + return *x.xxx_hidden_RuleId + } + return "" + } + return "" +} + +func (x *Violation) GetMessage() string { + if x != nil { + if x.xxx_hidden_Message != nil { + return *x.xxx_hidden_Message + } + return "" + } + return "" +} + +func (x *Violation) GetForKey() bool { + if x != nil { + return x.xxx_hidden_ForKey + } + return false +} + +func (x *Violation) SetField(v *FieldPath) { + x.xxx_hidden_Field = v +} + +func (x *Violation) SetRule(v *FieldPath) { + x.xxx_hidden_Rule = v +} + +func (x *Violation) SetRuleId(v string) { + x.xxx_hidden_RuleId = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 5) +} + +func (x *Violation) SetMessage(v string) { + x.xxx_hidden_Message = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 5) +} + +func (x *Violation) SetForKey(v bool) { + x.xxx_hidden_ForKey = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 5) +} + +func (x *Violation) HasField() bool { + if x == nil { + return false + } + return x.xxx_hidden_Field != nil +} + +func (x *Violation) HasRule() bool { + if x == nil { + return false + } + return x.xxx_hidden_Rule != nil +} + +func (x *Violation) HasRuleId() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *Violation) HasMessage() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 3) +} + +func (x *Violation) HasForKey() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 4) +} + +func (x *Violation) ClearField() { + x.xxx_hidden_Field = nil +} + +func (x *Violation) ClearRule() { + x.xxx_hidden_Rule = nil +} + +func (x *Violation) ClearRuleId() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_RuleId = nil +} + +func (x *Violation) ClearMessage() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3) + x.xxx_hidden_Message = nil +} + +func (x *Violation) ClearForKey() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4) + x.xxx_hidden_ForKey = false +} + +type Violation_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `field` is a machine-readable path to the field that failed validation. + // This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation. + // + // For example, consider the following message: + // + // ```proto + // + // message Message { + // bool a = 1 [(buf.validate.field).required = true]; + // } + // + // ``` + // + // It could produce the following violation: + // + // ```textproto + // + // violation { + // field { element { field_number: 1, field_name: "a", field_type: 8 } } + // ... + // } + // + // ``` + Field *FieldPath + // `rule` is a machine-readable path that points to the specific rule that failed validation. + // This will be a nested field starting from the FieldRules of the field that failed validation. + // For custom rules, this will provide the path of the rule, e.g. `cel[0]`. + // + // For example, consider the following message: + // + // ```proto + // + // message Message { + // bool a = 1 [(buf.validate.field).required = true]; + // bool b = 2 [(buf.validate.field).cel = { + // id: "custom_rule", + // expression: "!this ? 'b must be true': ''" + // }] + // } + // + // ``` + // + // It could produce the following violations: + // + // ```textproto + // + // violation { + // rule { element { field_number: 25, field_name: "required", field_type: 8 } } + // ... + // } + // + // violation { + // rule { element { field_number: 23, field_name: "cel", field_type: 11, index: 0 } } + // ... + // } + // + // ``` + Rule *FieldPath + // `rule_id` is the unique identifier of the `Rule` that was not fulfilled. + // This is the same `id` that was specified in the `Rule` message, allowing easy tracing of which rule was violated. + RuleId *string + // `message` is a human-readable error message that describes the nature of the violation. + // This can be the default error message from the violated `Rule`, or it can be a custom message that gives more context about the violation. + Message *string + // `for_key` indicates whether the violation was caused by a map key, rather than a value. + ForKey *bool +} + +func (b0 Violation_builder) Build() *Violation { + m0 := &Violation{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Field = b.Field + x.xxx_hidden_Rule = b.Rule + if b.RuleId != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 5) + x.xxx_hidden_RuleId = b.RuleId + } + if b.Message != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 5) + x.xxx_hidden_Message = b.Message + } + if b.ForKey != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 5) + x.xxx_hidden_ForKey = *b.ForKey + } + return m0 +} + +// `FieldPath` provides a path to a nested protobuf field. +// +// This message provides enough information to render a dotted field path even without protobuf descriptors. +// It also provides enough information to resolve a nested field through unknown wire data. +type FieldPath struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Elements *[]*FieldPathElement `protobuf:"bytes,1,rep,name=elements"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldPath) Reset() { + *x = FieldPath{} + mi := &file_buf_validate_validate_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldPath) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldPath) ProtoMessage() {} + +func (x *FieldPath) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *FieldPath) GetElements() []*FieldPathElement { + if x != nil { + if x.xxx_hidden_Elements != nil { + return *x.xxx_hidden_Elements + } + } + return nil +} + +func (x *FieldPath) SetElements(v []*FieldPathElement) { + x.xxx_hidden_Elements = &v +} + +type FieldPath_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `elements` contains each element of the path, starting from the root and recursing downward. + Elements []*FieldPathElement +} + +func (b0 FieldPath_builder) Build() *FieldPath { + m0 := &FieldPath{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Elements = &b.Elements + return m0 +} + +// `FieldPathElement` provides enough information to nest through a single protobuf field. +// +// If the selected field is a map or repeated field, the `subscript` value selects a specific element from it. +// A path that refers to a value nested under a map key or repeated field index will have a `subscript` value. +// The `field_type` field allows unambiguous resolution of a field even if descriptors are not available. +type FieldPathElement struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_FieldNumber int32 `protobuf:"varint,1,opt,name=field_number,json=fieldNumber"` + xxx_hidden_FieldName *string `protobuf:"bytes,2,opt,name=field_name,json=fieldName"` + xxx_hidden_FieldType descriptorpb.FieldDescriptorProto_Type `protobuf:"varint,3,opt,name=field_type,json=fieldType,enum=google.protobuf.FieldDescriptorProto_Type"` + xxx_hidden_KeyType descriptorpb.FieldDescriptorProto_Type `protobuf:"varint,4,opt,name=key_type,json=keyType,enum=google.protobuf.FieldDescriptorProto_Type"` + xxx_hidden_ValueType descriptorpb.FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=value_type,json=valueType,enum=google.protobuf.FieldDescriptorProto_Type"` + xxx_hidden_Subscript isFieldPathElement_Subscript `protobuf_oneof:"subscript"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldPathElement) Reset() { + *x = FieldPathElement{} + mi := &file_buf_validate_validate_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldPathElement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldPathElement) ProtoMessage() {} + +func (x *FieldPathElement) ProtoReflect() protoreflect.Message { + mi := &file_buf_validate_validate_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *FieldPathElement) GetFieldNumber() int32 { + if x != nil { + return x.xxx_hidden_FieldNumber + } + return 0 +} + +func (x *FieldPathElement) GetFieldName() string { + if x != nil { + if x.xxx_hidden_FieldName != nil { + return *x.xxx_hidden_FieldName + } + return "" + } + return "" +} + +func (x *FieldPathElement) GetFieldType() descriptorpb.FieldDescriptorProto_Type { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[0]), 2) { + return x.xxx_hidden_FieldType + } + } + return descriptorpb.FieldDescriptorProto_Type(1) +} + +func (x *FieldPathElement) GetKeyType() descriptorpb.FieldDescriptorProto_Type { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[0]), 3) { + return x.xxx_hidden_KeyType + } + } + return descriptorpb.FieldDescriptorProto_Type(1) +} + +func (x *FieldPathElement) GetValueType() descriptorpb.FieldDescriptorProto_Type { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[0]), 4) { + return x.xxx_hidden_ValueType + } + } + return descriptorpb.FieldDescriptorProto_Type(1) +} + +func (x *FieldPathElement) GetIndex() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_Subscript.(*fieldPathElement_Index); ok { + return x.Index + } + } + return 0 +} + +func (x *FieldPathElement) GetBoolKey() bool { + if x != nil { + if x, ok := x.xxx_hidden_Subscript.(*fieldPathElement_BoolKey); ok { + return x.BoolKey + } + } + return false +} + +func (x *FieldPathElement) GetIntKey() int64 { + if x != nil { + if x, ok := x.xxx_hidden_Subscript.(*fieldPathElement_IntKey); ok { + return x.IntKey + } + } + return 0 +} + +func (x *FieldPathElement) GetUintKey() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_Subscript.(*fieldPathElement_UintKey); ok { + return x.UintKey + } + } + return 0 +} + +func (x *FieldPathElement) GetStringKey() string { + if x != nil { + if x, ok := x.xxx_hidden_Subscript.(*fieldPathElement_StringKey); ok { + return x.StringKey + } + } + return "" +} + +func (x *FieldPathElement) SetFieldNumber(v int32) { + x.xxx_hidden_FieldNumber = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *FieldPathElement) SetFieldName(v string) { + x.xxx_hidden_FieldName = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 6) +} + +func (x *FieldPathElement) SetFieldType(v descriptorpb.FieldDescriptorProto_Type) { + x.xxx_hidden_FieldType = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 6) +} + +func (x *FieldPathElement) SetKeyType(v descriptorpb.FieldDescriptorProto_Type) { + x.xxx_hidden_KeyType = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 6) +} + +func (x *FieldPathElement) SetValueType(v descriptorpb.FieldDescriptorProto_Type) { + x.xxx_hidden_ValueType = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 6) +} + +func (x *FieldPathElement) SetIndex(v uint64) { + x.xxx_hidden_Subscript = &fieldPathElement_Index{v} +} + +func (x *FieldPathElement) SetBoolKey(v bool) { + x.xxx_hidden_Subscript = &fieldPathElement_BoolKey{v} +} + +func (x *FieldPathElement) SetIntKey(v int64) { + x.xxx_hidden_Subscript = &fieldPathElement_IntKey{v} +} + +func (x *FieldPathElement) SetUintKey(v uint64) { + x.xxx_hidden_Subscript = &fieldPathElement_UintKey{v} +} + +func (x *FieldPathElement) SetStringKey(v string) { + x.xxx_hidden_Subscript = &fieldPathElement_StringKey{v} +} + +func (x *FieldPathElement) HasFieldNumber() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *FieldPathElement) HasFieldName() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *FieldPathElement) HasFieldType() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *FieldPathElement) HasKeyType() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 3) +} + +func (x *FieldPathElement) HasValueType() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 4) +} + +func (x *FieldPathElement) HasSubscript() bool { + if x == nil { + return false + } + return x.xxx_hidden_Subscript != nil +} + +func (x *FieldPathElement) HasIndex() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_Index) + return ok +} + +func (x *FieldPathElement) HasBoolKey() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_BoolKey) + return ok +} + +func (x *FieldPathElement) HasIntKey() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_IntKey) + return ok +} + +func (x *FieldPathElement) HasUintKey() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_UintKey) + return ok +} + +func (x *FieldPathElement) HasStringKey() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_StringKey) + return ok +} + +func (x *FieldPathElement) ClearFieldNumber() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_FieldNumber = 0 +} + +func (x *FieldPathElement) ClearFieldName() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_FieldName = nil +} + +func (x *FieldPathElement) ClearFieldType() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_FieldType = descriptorpb.FieldDescriptorProto_TYPE_DOUBLE +} + +func (x *FieldPathElement) ClearKeyType() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3) + x.xxx_hidden_KeyType = descriptorpb.FieldDescriptorProto_TYPE_DOUBLE +} + +func (x *FieldPathElement) ClearValueType() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4) + x.xxx_hidden_ValueType = descriptorpb.FieldDescriptorProto_TYPE_DOUBLE +} + +func (x *FieldPathElement) ClearSubscript() { + x.xxx_hidden_Subscript = nil +} + +func (x *FieldPathElement) ClearIndex() { + if _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_Index); ok { + x.xxx_hidden_Subscript = nil + } +} + +func (x *FieldPathElement) ClearBoolKey() { + if _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_BoolKey); ok { + x.xxx_hidden_Subscript = nil + } +} + +func (x *FieldPathElement) ClearIntKey() { + if _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_IntKey); ok { + x.xxx_hidden_Subscript = nil + } +} + +func (x *FieldPathElement) ClearUintKey() { + if _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_UintKey); ok { + x.xxx_hidden_Subscript = nil + } +} + +func (x *FieldPathElement) ClearStringKey() { + if _, ok := x.xxx_hidden_Subscript.(*fieldPathElement_StringKey); ok { + x.xxx_hidden_Subscript = nil + } +} + +const FieldPathElement_Subscript_not_set_case case_FieldPathElement_Subscript = 0 +const FieldPathElement_Index_case case_FieldPathElement_Subscript = 6 +const FieldPathElement_BoolKey_case case_FieldPathElement_Subscript = 7 +const FieldPathElement_IntKey_case case_FieldPathElement_Subscript = 8 +const FieldPathElement_UintKey_case case_FieldPathElement_Subscript = 9 +const FieldPathElement_StringKey_case case_FieldPathElement_Subscript = 10 + +func (x *FieldPathElement) WhichSubscript() case_FieldPathElement_Subscript { + if x == nil { + return FieldPathElement_Subscript_not_set_case + } + switch x.xxx_hidden_Subscript.(type) { + case *fieldPathElement_Index: + return FieldPathElement_Index_case + case *fieldPathElement_BoolKey: + return FieldPathElement_BoolKey_case + case *fieldPathElement_IntKey: + return FieldPathElement_IntKey_case + case *fieldPathElement_UintKey: + return FieldPathElement_UintKey_case + case *fieldPathElement_StringKey: + return FieldPathElement_StringKey_case + default: + return FieldPathElement_Subscript_not_set_case + } +} + +type FieldPathElement_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // `field_number` is the field number this path element refers to. + FieldNumber *int32 + // `field_name` contains the field name this path element refers to. + // This can be used to display a human-readable path even if the field number is unknown. + FieldName *string + // `field_type` specifies the type of this field. When using reflection, this value is not needed. + // + // This value is provided to make it possible to traverse unknown fields through wire data. + // When traversing wire data, be mindful of both packed[1] and delimited[2] encoding schemes. + // + // N.B.: Although groups are deprecated, the corresponding delimited encoding scheme is not, and + // can be explicitly used in Protocol Buffers 2023 Edition. + // + // [1]: https://protobuf.dev/programming-guides/encoding/#packed + // [2]: https://protobuf.dev/programming-guides/encoding/#groups + FieldType *descriptorpb.FieldDescriptorProto_Type + // `key_type` specifies the map key type of this field. This value is useful when traversing + // unknown fields through wire data: specifically, it allows handling the differences between + // different integer encodings. + KeyType *descriptorpb.FieldDescriptorProto_Type + // `value_type` specifies map value type of this field. This is useful if you want to display a + // value inside unknown fields through wire data. + ValueType *descriptorpb.FieldDescriptorProto_Type + // `subscript` contains a repeated index or map key, if this path element nests into a repeated or map field. + + // Fields of oneof xxx_hidden_Subscript: + // `index` specifies a 0-based index into a repeated field. + Index *uint64 + // `bool_key` specifies a map key of type bool. + BoolKey *bool + // `int_key` specifies a map key of type int32, int64, sint32, sint64, sfixed32 or sfixed64. + IntKey *int64 + // `uint_key` specifies a map key of type uint32, uint64, fixed32 or fixed64. + UintKey *uint64 + // `string_key` specifies a map key of type string. + StringKey *string + // -- end of xxx_hidden_Subscript +} + +func (b0 FieldPathElement_builder) Build() *FieldPathElement { + m0 := &FieldPathElement{} + b, x := &b0, m0 + _, _ = b, x + if b.FieldNumber != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_FieldNumber = *b.FieldNumber + } + if b.FieldName != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 6) + x.xxx_hidden_FieldName = b.FieldName + } + if b.FieldType != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 6) + x.xxx_hidden_FieldType = *b.FieldType + } + if b.KeyType != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 6) + x.xxx_hidden_KeyType = *b.KeyType + } + if b.ValueType != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 6) + x.xxx_hidden_ValueType = *b.ValueType + } + if b.Index != nil { + x.xxx_hidden_Subscript = &fieldPathElement_Index{*b.Index} + } + if b.BoolKey != nil { + x.xxx_hidden_Subscript = &fieldPathElement_BoolKey{*b.BoolKey} + } + if b.IntKey != nil { + x.xxx_hidden_Subscript = &fieldPathElement_IntKey{*b.IntKey} + } + if b.UintKey != nil { + x.xxx_hidden_Subscript = &fieldPathElement_UintKey{*b.UintKey} + } + if b.StringKey != nil { + x.xxx_hidden_Subscript = &fieldPathElement_StringKey{*b.StringKey} + } + return m0 +} + +type case_FieldPathElement_Subscript protoreflect.FieldNumber + +func (x case_FieldPathElement_Subscript) String() string { + md := file_buf_validate_validate_proto_msgTypes[30].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isFieldPathElement_Subscript interface { + isFieldPathElement_Subscript() +} + +type fieldPathElement_Index struct { + // `index` specifies a 0-based index into a repeated field. + Index uint64 `protobuf:"varint,6,opt,name=index,oneof"` +} + +type fieldPathElement_BoolKey struct { + // `bool_key` specifies a map key of type bool. + BoolKey bool `protobuf:"varint,7,opt,name=bool_key,json=boolKey,oneof"` +} + +type fieldPathElement_IntKey struct { + // `int_key` specifies a map key of type int32, int64, sint32, sint64, sfixed32 or sfixed64. + IntKey int64 `protobuf:"varint,8,opt,name=int_key,json=intKey,oneof"` +} + +type fieldPathElement_UintKey struct { + // `uint_key` specifies a map key of type uint32, uint64, fixed32 or fixed64. + UintKey uint64 `protobuf:"varint,9,opt,name=uint_key,json=uintKey,oneof"` +} + +type fieldPathElement_StringKey struct { + // `string_key` specifies a map key of type string. + StringKey string `protobuf:"bytes,10,opt,name=string_key,json=stringKey,oneof"` +} + +func (*fieldPathElement_Index) isFieldPathElement_Subscript() {} + +func (*fieldPathElement_BoolKey) isFieldPathElement_Subscript() {} + +func (*fieldPathElement_IntKey) isFieldPathElement_Subscript() {} + +func (*fieldPathElement_UintKey) isFieldPathElement_Subscript() {} + +func (*fieldPathElement_StringKey) isFieldPathElement_Subscript() {} + +var file_buf_validate_validate_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.MessageOptions)(nil), + ExtensionType: (*MessageRules)(nil), + Field: 1159, + Name: "buf.validate.message", + Tag: "bytes,1159,opt,name=message", + Filename: "buf/validate/validate.proto", + }, + { + ExtendedType: (*descriptorpb.OneofOptions)(nil), + ExtensionType: (*OneofRules)(nil), + Field: 1159, + Name: "buf.validate.oneof", + Tag: "bytes,1159,opt,name=oneof", + Filename: "buf/validate/validate.proto", + }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*FieldRules)(nil), + Field: 1159, + Name: "buf.validate.field", + Tag: "bytes,1159,opt,name=field", + Filename: "buf/validate/validate.proto", + }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*PredefinedRules)(nil), + Field: 1160, + Name: "buf.validate.predefined", + Tag: "bytes,1160,opt,name=predefined", + Filename: "buf/validate/validate.proto", + }, +} + +// Extension fields to descriptorpb.MessageOptions. +var ( + // Rules specify the validations to be performed on this message. By default, + // no validation is performed against a message. + // + // optional buf.validate.MessageRules message = 1159; + E_Message = &file_buf_validate_validate_proto_extTypes[0] +) + +// Extension fields to descriptorpb.OneofOptions. +var ( + // Rules specify the validations to be performed on this oneof. By default, + // no validation is performed against a oneof. + // + // optional buf.validate.OneofRules oneof = 1159; + E_Oneof = &file_buf_validate_validate_proto_extTypes[1] +) + +// Extension fields to descriptorpb.FieldOptions. +var ( + // Rules specify the validations to be performed on this field. By default, + // no validation is performed against a field. + // + // optional buf.validate.FieldRules field = 1159; + E_Field = &file_buf_validate_validate_proto_extTypes[2] + // Specifies predefined rules. When extending a standard rule message, + // this adds additional CEL expressions that apply when the extension is used. + // + // ```proto + // + // extend buf.validate.Int32Rules { + // bool is_zero [(buf.validate.predefined).cel = { + // id: "int32.is_zero", + // message: "value must be zero", + // expression: "!rule || this == 0", + // }]; + // } + // + // message Foo { + // int32 reserved = 1 [(buf.validate.field).int32.(is_zero) = true]; + // } + // + // ``` + // + // optional buf.validate.PredefinedRules predefined = 1160; + E_Predefined = &file_buf_validate_validate_proto_extTypes[3] +) + +var File_buf_validate_validate_proto protoreflect.FileDescriptor + +const file_buf_validate_validate_proto_rawDesc = "" + + "\n" + + "\x1bbuf/validate/validate.proto\x12\fbuf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"P\n" + + "\x04Rule\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12\x1e\n" + + "\n" + + "expression\x18\x03 \x01(\tR\n" + + "expression\"\x86\x01\n" + + "\fMessageRules\x12\x1a\n" + + "\bdisabled\x18\x01 \x01(\bR\bdisabled\x12$\n" + + "\x03cel\x18\x03 \x03(\v2\x12.buf.validate.RuleR\x03cel\x124\n" + + "\x05oneof\x18\x04 \x03(\v2\x1e.buf.validate.MessageOneofRuleR\x05oneof\"F\n" + + "\x10MessageOneofRule\x12\x16\n" + + "\x06fields\x18\x01 \x03(\tR\x06fields\x12\x1a\n" + + "\brequired\x18\x02 \x01(\bR\brequired\"(\n" + + "\n" + + "OneofRules\x12\x1a\n" + + "\brequired\x18\x01 \x01(\bR\brequired\"\xfd\t\n" + + "\n" + + "FieldRules\x12$\n" + + "\x03cel\x18\x17 \x03(\v2\x12.buf.validate.RuleR\x03cel\x12\x1a\n" + + "\brequired\x18\x19 \x01(\bR\brequired\x12,\n" + + "\x06ignore\x18\x1b \x01(\x0e2\x14.buf.validate.IgnoreR\x06ignore\x120\n" + + "\x05float\x18\x01 \x01(\v2\x18.buf.validate.FloatRulesH\x00R\x05float\x123\n" + + "\x06double\x18\x02 \x01(\v2\x19.buf.validate.DoubleRulesH\x00R\x06double\x120\n" + + "\x05int32\x18\x03 \x01(\v2\x18.buf.validate.Int32RulesH\x00R\x05int32\x120\n" + + "\x05int64\x18\x04 \x01(\v2\x18.buf.validate.Int64RulesH\x00R\x05int64\x123\n" + + "\x06uint32\x18\x05 \x01(\v2\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x123\n" + + "\x06uint64\x18\x06 \x01(\v2\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x123\n" + + "\x06sint32\x18\a \x01(\v2\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x123\n" + + "\x06sint64\x18\b \x01(\v2\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x126\n" + + "\afixed32\x18\t \x01(\v2\x1a.buf.validate.Fixed32RulesH\x00R\afixed32\x126\n" + + "\afixed64\x18\n" + + " \x01(\v2\x1a.buf.validate.Fixed64RulesH\x00R\afixed64\x129\n" + + "\bsfixed32\x18\v \x01(\v2\x1b.buf.validate.SFixed32RulesH\x00R\bsfixed32\x129\n" + + "\bsfixed64\x18\f \x01(\v2\x1b.buf.validate.SFixed64RulesH\x00R\bsfixed64\x12-\n" + + "\x04bool\x18\r \x01(\v2\x17.buf.validate.BoolRulesH\x00R\x04bool\x123\n" + + "\x06string\x18\x0e \x01(\v2\x19.buf.validate.StringRulesH\x00R\x06string\x120\n" + + "\x05bytes\x18\x0f \x01(\v2\x18.buf.validate.BytesRulesH\x00R\x05bytes\x12-\n" + + "\x04enum\x18\x10 \x01(\v2\x17.buf.validate.EnumRulesH\x00R\x04enum\x129\n" + + "\brepeated\x18\x12 \x01(\v2\x1b.buf.validate.RepeatedRulesH\x00R\brepeated\x12*\n" + + "\x03map\x18\x13 \x01(\v2\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n" + + "\x03any\x18\x14 \x01(\v2\x16.buf.validate.AnyRulesH\x00R\x03any\x129\n" + + "\bduration\x18\x15 \x01(\v2\x1b.buf.validate.DurationRulesH\x00R\bduration\x12<\n" + + "\ttimestamp\x18\x16 \x01(\v2\x1c.buf.validate.TimestampRulesH\x00R\ttimestampB\x06\n" + + "\x04typeJ\x04\b\x18\x10\x19J\x04\b\x1a\x10\x1bR\askippedR\fignore_empty\"X\n" + + "\x0fPredefinedRules\x12$\n" + + "\x03cel\x18\x01 \x03(\v2\x12.buf.validate.RuleR\x03celJ\x04\b\x18\x10\x19J\x04\b\x1a\x10\x1bR\x13skippedignore_empty\"\x90\x18\n" + + "\n" + + "FloatRules\x12\x8a\x01\n" + + "\x05const\x18\x01 \x01(\x02Bt\xc2Hq\n" + + "o\n" + + "\vfloat.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\xa3\x01\n" + + "\x02lt\x18\x02 \x01(\x02B\x90\x01\xc2H\x8c\x01\n" + + "\x89\x01\n" + + "\bfloat.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xb4\x01\n" + + "\x03lte\x18\x03 \x01(\x02B\x9f\x01\xc2H\x9b\x01\n" + + "\x98\x01\n" + + "\tfloat.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xf3\a\n" + + "\x02gt\x18\x04 \x01(\x02B\xe0\a\xc2H\xdc\a\n" + + "\x8d\x01\n" + + "\bfloat.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xc3\x01\n" + + "\vfloat.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xcd\x01\n" + + "\x15float.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\ffloat.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xdd\x01\n" + + "\x16float.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xbf\b\n" + + "\x03gte\x18\x05 \x01(\x02B\xaa\b\xc2H\xa6\b\n" + + "\x9b\x01\n" + + "\tfloat.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xd2\x01\n" + + "\ffloat.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xdc\x01\n" + + "\x16float.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xe2\x01\n" + + "\rfloat.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xec\x01\n" + + "\x17float.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x83\x01\n" + + "\x02in\x18\x06 \x03(\x02Bs\xc2Hp\n" + + "n\n" + + "\bfloat.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12}\n" + + "\x06not_in\x18\a \x03(\x02Bf\xc2Hc\n" + + "a\n" + + "\ffloat.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12}\n" + + "\x06finite\x18\b \x01(\bBe\xc2Hb\n" + + "`\n" + + "\ffloat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''R\x06finite\x124\n" + + "\aexample\x18\t \x03(\x02B\x1a\xc2H\x17\n" + + "\x15\n" + + "\rfloat.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xa2\x18\n" + + "\vDoubleRules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\x01Bu\xc2Hr\n" + + "p\n" + + "\fdouble.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\xa4\x01\n" + + "\x02lt\x18\x02 \x01(\x01B\x91\x01\xc2H\x8d\x01\n" + + "\x8a\x01\n" + + "\tdouble.lt\x1a}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xb5\x01\n" + + "\x03lte\x18\x03 \x01(\x01B\xa0\x01\xc2H\x9c\x01\n" + + "\x99\x01\n" + + "\n" + + "double.lte\x1a\x8a\x01!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xf8\a\n" + + "\x02gt\x18\x04 \x01(\x01B\xe5\a\xc2H\xe1\a\n" + + "\x8e\x01\n" + + "\tdouble.gt\x1a\x80\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xc4\x01\n" + + "\fdouble.gt_lt\x1a\xb3\x01has(rules.lt) && rules.lt >= rules.gt && (this.isNan() || this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xce\x01\n" + + "\x16double.gt_lt_exclusive\x1a\xb3\x01has(rules.lt) && rules.lt < rules.gt && (this.isNan() || (rules.lt <= this && this <= rules.gt))? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xd4\x01\n" + + "\rdouble.gt_lte\x1a\xc2\x01has(rules.lte) && rules.lte >= rules.gt && (this.isNan() || this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xde\x01\n" + + "\x17double.gt_lte_exclusive\x1a\xc2\x01has(rules.lte) && rules.lte < rules.gt && (this.isNan() || (rules.lte < this && this <= rules.gt))? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xc4\b\n" + + "\x03gte\x18\x05 \x01(\x01B\xaf\b\xc2H\xab\b\n" + + "\x9c\x01\n" + + "\n" + + "double.gte\x1a\x8d\x01!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xd3\x01\n" + + "\rdouble.gte_lt\x1a\xc1\x01has(rules.lt) && rules.lt >= rules.gte && (this.isNan() || this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xdd\x01\n" + + "\x17double.gte_lt_exclusive\x1a\xc1\x01has(rules.lt) && rules.lt < rules.gte && (this.isNan() || (rules.lt <= this && this < rules.gte))? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xe3\x01\n" + + "\x0edouble.gte_lte\x1a\xd0\x01has(rules.lte) && rules.lte >= rules.gte && (this.isNan() || this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xed\x01\n" + + "\x18double.gte_lte_exclusive\x1a\xd0\x01has(rules.lte) && rules.lte < rules.gte && (this.isNan() || (rules.lte < this && this < rules.gte))? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\x01Bt\xc2Hq\n" + + "o\n" + + "\tdouble.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\x01Bg\xc2Hd\n" + + "b\n" + + "\rdouble.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12~\n" + + "\x06finite\x18\b \x01(\bBf\xc2Hc\n" + + "a\n" + + "\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''R\x06finite\x125\n" + + "\aexample\x18\t \x03(\x01B\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0edouble.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xba\x15\n" + + "\n" + + "Int32Rules\x12\x8a\x01\n" + + "\x05const\x18\x01 \x01(\x05Bt\xc2Hq\n" + + "o\n" + + "\vint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8e\x01\n" + + "\x02lt\x18\x02 \x01(\x05B|\xc2Hy\n" + + "w\n" + + "\bint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa1\x01\n" + + "\x03lte\x18\x03 \x01(\x05B\x8c\x01\xc2H\x88\x01\n" + + "\x85\x01\n" + + "\tint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\x9b\a\n" + + "\x02gt\x18\x04 \x01(\x05B\x88\a\xc2H\x84\a\n" + + "z\n" + + "\bint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb3\x01\n" + + "\vint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbb\x01\n" + + "\x15int32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc3\x01\n" + + "\fint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcb\x01\n" + + "\x16int32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xe8\a\n" + + "\x03gte\x18\x05 \x01(\x05B\xd3\a\xc2H\xcf\a\n" + + "\x88\x01\n" + + "\tint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc2\x01\n" + + "\fint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xca\x01\n" + + "\x16int32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd2\x01\n" + + "\rint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xda\x01\n" + + "\x17int32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x83\x01\n" + + "\x02in\x18\x06 \x03(\x05Bs\xc2Hp\n" + + "n\n" + + "\bint32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12}\n" + + "\x06not_in\x18\a \x03(\x05Bf\xc2Hc\n" + + "a\n" + + "\fint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x124\n" + + "\aexample\x18\b \x03(\x05B\x1a\xc2H\x17\n" + + "\x15\n" + + "\rint32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xba\x15\n" + + "\n" + + "Int64Rules\x12\x8a\x01\n" + + "\x05const\x18\x01 \x01(\x03Bt\xc2Hq\n" + + "o\n" + + "\vint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8e\x01\n" + + "\x02lt\x18\x02 \x01(\x03B|\xc2Hy\n" + + "w\n" + + "\bint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa1\x01\n" + + "\x03lte\x18\x03 \x01(\x03B\x8c\x01\xc2H\x88\x01\n" + + "\x85\x01\n" + + "\tint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\x9b\a\n" + + "\x02gt\x18\x04 \x01(\x03B\x88\a\xc2H\x84\a\n" + + "z\n" + + "\bint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb3\x01\n" + + "\vint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbb\x01\n" + + "\x15int64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc3\x01\n" + + "\fint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcb\x01\n" + + "\x16int64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xe8\a\n" + + "\x03gte\x18\x05 \x01(\x03B\xd3\a\xc2H\xcf\a\n" + + "\x88\x01\n" + + "\tint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc2\x01\n" + + "\fint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xca\x01\n" + + "\x16int64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd2\x01\n" + + "\rint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xda\x01\n" + + "\x17int64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x83\x01\n" + + "\x02in\x18\x06 \x03(\x03Bs\xc2Hp\n" + + "n\n" + + "\bint64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12}\n" + + "\x06not_in\x18\a \x03(\x03Bf\xc2Hc\n" + + "a\n" + + "\fint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x124\n" + + "\aexample\x18\t \x03(\x03B\x1a\xc2H\x17\n" + + "\x15\n" + + "\rint64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xcb\x15\n" + + "\vUInt32Rules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\rBu\xc2Hr\n" + + "p\n" + + "\fuint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8f\x01\n" + + "\x02lt\x18\x02 \x01(\rB}\xc2Hz\n" + + "x\n" + + "\tuint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa2\x01\n" + + "\x03lte\x18\x03 \x01(\rB\x8d\x01\xc2H\x89\x01\n" + + "\x86\x01\n" + + "\n" + + "uint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa0\a\n" + + "\x02gt\x18\x04 \x01(\rB\x8d\a\xc2H\x89\a\n" + + "{\n" + + "\tuint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb4\x01\n" + + "\fuint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbc\x01\n" + + "\x16uint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc4\x01\n" + + "\ruint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcc\x01\n" + + "\x17uint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xed\a\n" + + "\x03gte\x18\x05 \x01(\rB\xd8\a\xc2H\xd4\a\n" + + "\x89\x01\n" + + "\n" + + "uint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc3\x01\n" + + "\ruint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcb\x01\n" + + "\x17uint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\x0euint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdb\x01\n" + + "\x18uint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\rBt\xc2Hq\n" + + "o\n" + + "\tuint32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\rBg\xc2Hd\n" + + "b\n" + + "\ruint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x125\n" + + "\aexample\x18\b \x03(\rB\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0euint32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xcb\x15\n" + + "\vUInt64Rules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\x04Bu\xc2Hr\n" + + "p\n" + + "\fuint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8f\x01\n" + + "\x02lt\x18\x02 \x01(\x04B}\xc2Hz\n" + + "x\n" + + "\tuint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa2\x01\n" + + "\x03lte\x18\x03 \x01(\x04B\x8d\x01\xc2H\x89\x01\n" + + "\x86\x01\n" + + "\n" + + "uint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa0\a\n" + + "\x02gt\x18\x04 \x01(\x04B\x8d\a\xc2H\x89\a\n" + + "{\n" + + "\tuint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb4\x01\n" + + "\fuint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbc\x01\n" + + "\x16uint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc4\x01\n" + + "\ruint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcc\x01\n" + + "\x17uint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xed\a\n" + + "\x03gte\x18\x05 \x01(\x04B\xd8\a\xc2H\xd4\a\n" + + "\x89\x01\n" + + "\n" + + "uint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc3\x01\n" + + "\ruint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcb\x01\n" + + "\x17uint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\x0euint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdb\x01\n" + + "\x18uint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\x04Bt\xc2Hq\n" + + "o\n" + + "\tuint64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\x04Bg\xc2Hd\n" + + "b\n" + + "\ruint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x125\n" + + "\aexample\x18\b \x03(\x04B\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0euint64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xcb\x15\n" + + "\vSInt32Rules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\x11Bu\xc2Hr\n" + + "p\n" + + "\fsint32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8f\x01\n" + + "\x02lt\x18\x02 \x01(\x11B}\xc2Hz\n" + + "x\n" + + "\tsint32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa2\x01\n" + + "\x03lte\x18\x03 \x01(\x11B\x8d\x01\xc2H\x89\x01\n" + + "\x86\x01\n" + + "\n" + + "sint32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa0\a\n" + + "\x02gt\x18\x04 \x01(\x11B\x8d\a\xc2H\x89\a\n" + + "{\n" + + "\tsint32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb4\x01\n" + + "\fsint32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbc\x01\n" + + "\x16sint32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc4\x01\n" + + "\rsint32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcc\x01\n" + + "\x17sint32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xed\a\n" + + "\x03gte\x18\x05 \x01(\x11B\xd8\a\xc2H\xd4\a\n" + + "\x89\x01\n" + + "\n" + + "sint32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc3\x01\n" + + "\rsint32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcb\x01\n" + + "\x17sint32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\x0esint32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdb\x01\n" + + "\x18sint32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\x11Bt\xc2Hq\n" + + "o\n" + + "\tsint32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\x11Bg\xc2Hd\n" + + "b\n" + + "\rsint32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x125\n" + + "\aexample\x18\b \x03(\x11B\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0esint32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xcb\x15\n" + + "\vSInt64Rules\x12\x8b\x01\n" + + "\x05const\x18\x01 \x01(\x12Bu\xc2Hr\n" + + "p\n" + + "\fsint64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x8f\x01\n" + + "\x02lt\x18\x02 \x01(\x12B}\xc2Hz\n" + + "x\n" + + "\tsint64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa2\x01\n" + + "\x03lte\x18\x03 \x01(\x12B\x8d\x01\xc2H\x89\x01\n" + + "\x86\x01\n" + + "\n" + + "sint64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa0\a\n" + + "\x02gt\x18\x04 \x01(\x12B\x8d\a\xc2H\x89\a\n" + + "{\n" + + "\tsint64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb4\x01\n" + + "\fsint64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbc\x01\n" + + "\x16sint64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc4\x01\n" + + "\rsint64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcc\x01\n" + + "\x17sint64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xed\a\n" + + "\x03gte\x18\x05 \x01(\x12B\xd8\a\xc2H\xd4\a\n" + + "\x89\x01\n" + + "\n" + + "sint64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc3\x01\n" + + "\rsint64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcb\x01\n" + + "\x17sint64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd3\x01\n" + + "\x0esint64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdb\x01\n" + + "\x18sint64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x84\x01\n" + + "\x02in\x18\x06 \x03(\x12Bt\xc2Hq\n" + + "o\n" + + "\tsint64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\a \x03(\x12Bg\xc2Hd\n" + + "b\n" + + "\rsint64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x125\n" + + "\aexample\x18\b \x03(\x12B\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0esint64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xdc\x15\n" + + "\fFixed32Rules\x12\x8c\x01\n" + + "\x05const\x18\x01 \x01(\aBv\xc2Hs\n" + + "q\n" + + "\rfixed32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x90\x01\n" + + "\x02lt\x18\x02 \x01(\aB~\xc2H{\n" + + "y\n" + + "\n" + + "fixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa3\x01\n" + + "\x03lte\x18\x03 \x01(\aB\x8e\x01\xc2H\x8a\x01\n" + + "\x87\x01\n" + + "\vfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa5\a\n" + + "\x02gt\x18\x04 \x01(\aB\x92\a\xc2H\x8e\a\n" + + "|\n" + + "\n" + + "fixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb5\x01\n" + + "\rfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbd\x01\n" + + "\x17fixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc5\x01\n" + + "\x0efixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcd\x01\n" + + "\x18fixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xf2\a\n" + + "\x03gte\x18\x05 \x01(\aB\xdd\a\xc2H\xd9\a\n" + + "\x8a\x01\n" + + "\vfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc4\x01\n" + + "\x0efixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcc\x01\n" + + "\x18fixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd4\x01\n" + + "\x0ffixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdc\x01\n" + + "\x19fixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x85\x01\n" + + "\x02in\x18\x06 \x03(\aBu\xc2Hr\n" + + "p\n" + + "\n" + + "fixed32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x7f\n" + + "\x06not_in\x18\a \x03(\aBh\xc2He\n" + + "c\n" + + "\x0efixed32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x126\n" + + "\aexample\x18\b \x03(\aB\x1c\xc2H\x19\n" + + "\x17\n" + + "\x0ffixed32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xdc\x15\n" + + "\fFixed64Rules\x12\x8c\x01\n" + + "\x05const\x18\x01 \x01(\x06Bv\xc2Hs\n" + + "q\n" + + "\rfixed64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x90\x01\n" + + "\x02lt\x18\x02 \x01(\x06B~\xc2H{\n" + + "y\n" + + "\n" + + "fixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa3\x01\n" + + "\x03lte\x18\x03 \x01(\x06B\x8e\x01\xc2H\x8a\x01\n" + + "\x87\x01\n" + + "\vfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xa5\a\n" + + "\x02gt\x18\x04 \x01(\x06B\x92\a\xc2H\x8e\a\n" + + "|\n" + + "\n" + + "fixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb5\x01\n" + + "\rfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbd\x01\n" + + "\x17fixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc5\x01\n" + + "\x0efixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcd\x01\n" + + "\x18fixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xf2\a\n" + + "\x03gte\x18\x05 \x01(\x06B\xdd\a\xc2H\xd9\a\n" + + "\x8a\x01\n" + + "\vfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc4\x01\n" + + "\x0efixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcc\x01\n" + + "\x18fixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd4\x01\n" + + "\x0ffixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdc\x01\n" + + "\x19fixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x85\x01\n" + + "\x02in\x18\x06 \x03(\x06Bu\xc2Hr\n" + + "p\n" + + "\n" + + "fixed64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x7f\n" + + "\x06not_in\x18\a \x03(\x06Bh\xc2He\n" + + "c\n" + + "\x0efixed64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x126\n" + + "\aexample\x18\b \x03(\x06B\x1c\xc2H\x19\n" + + "\x17\n" + + "\x0ffixed64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xee\x15\n" + + "\rSFixed32Rules\x12\x8d\x01\n" + + "\x05const\x18\x01 \x01(\x0fBw\xc2Ht\n" + + "r\n" + + "\x0esfixed32.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x91\x01\n" + + "\x02lt\x18\x02 \x01(\x0fB\x7f\xc2H|\n" + + "z\n" + + "\vsfixed32.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa4\x01\n" + + "\x03lte\x18\x03 \x01(\x0fB\x8f\x01\xc2H\x8b\x01\n" + + "\x88\x01\n" + + "\fsfixed32.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xaa\a\n" + + "\x02gt\x18\x04 \x01(\x0fB\x97\a\xc2H\x93\a\n" + + "}\n" + + "\vsfixed32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb6\x01\n" + + "\x0esfixed32.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbe\x01\n" + + "\x18sfixed32.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc6\x01\n" + + "\x0fsfixed32.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xce\x01\n" + + "\x19sfixed32.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xf7\a\n" + + "\x03gte\x18\x05 \x01(\x0fB\xe2\a\xc2H\xde\a\n" + + "\x8b\x01\n" + + "\fsfixed32.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc5\x01\n" + + "\x0fsfixed32.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcd\x01\n" + + "\x19sfixed32.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd5\x01\n" + + "\x10sfixed32.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdd\x01\n" + + "\x1asfixed32.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x86\x01\n" + + "\x02in\x18\x06 \x03(\x0fBv\xc2Hs\n" + + "q\n" + + "\vsfixed32.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x80\x01\n" + + "\x06not_in\x18\a \x03(\x0fBi\xc2Hf\n" + + "d\n" + + "\x0fsfixed32.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x127\n" + + "\aexample\x18\b \x03(\x0fB\x1d\xc2H\x1a\n" + + "\x18\n" + + "\x10sfixed32.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xee\x15\n" + + "\rSFixed64Rules\x12\x8d\x01\n" + + "\x05const\x18\x01 \x01(\x10Bw\xc2Ht\n" + + "r\n" + + "\x0esfixed64.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\x91\x01\n" + + "\x02lt\x18\x02 \x01(\x10B\x7f\xc2H|\n" + + "z\n" + + "\vsfixed64.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xa4\x01\n" + + "\x03lte\x18\x03 \x01(\x10B\x8f\x01\xc2H\x8b\x01\n" + + "\x88\x01\n" + + "\fsfixed64.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xaa\a\n" + + "\x02gt\x18\x04 \x01(\x10B\x97\a\xc2H\x93\a\n" + + "}\n" + + "\vsfixed64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb6\x01\n" + + "\x0esfixed64.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbe\x01\n" + + "\x18sfixed64.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc6\x01\n" + + "\x0fsfixed64.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xce\x01\n" + + "\x19sfixed64.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\xf7\a\n" + + "\x03gte\x18\x05 \x01(\x10B\xe2\a\xc2H\xde\a\n" + + "\x8b\x01\n" + + "\fsfixed64.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc5\x01\n" + + "\x0fsfixed64.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcd\x01\n" + + "\x19sfixed64.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd5\x01\n" + + "\x10sfixed64.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdd\x01\n" + + "\x1asfixed64.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\x86\x01\n" + + "\x02in\x18\x06 \x03(\x10Bv\xc2Hs\n" + + "q\n" + + "\vsfixed64.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x80\x01\n" + + "\x06not_in\x18\a \x03(\x10Bi\xc2Hf\n" + + "d\n" + + "\x0fsfixed64.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x127\n" + + "\aexample\x18\b \x03(\x10B\x1d\xc2H\x1a\n" + + "\x18\n" + + "\x10sfixed64.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xd7\x01\n" + + "\tBoolRules\x12\x89\x01\n" + + "\x05const\x18\x01 \x01(\bBs\xc2Hp\n" + + "n\n" + + "\n" + + "bool.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x123\n" + + "\aexample\x18\x02 \x03(\bB\x19\xc2H\x16\n" + + "\x14\n" + + "\fbool.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xd19\n" + + "\vStringRules\x12\x8d\x01\n" + + "\x05const\x18\x01 \x01(\tBw\xc2Ht\n" + + "r\n" + + "\fstring.const\x1abthis != getField(rules, 'const') ? 'value must equal `%s`'.format([getField(rules, 'const')]) : ''R\x05const\x12\x83\x01\n" + + "\x03len\x18\x13 \x01(\x04Bq\xc2Hn\n" + + "l\n" + + "\n" + + "string.len\x1a^uint(this.size()) != rules.len ? 'value length must be %s characters'.format([rules.len]) : ''R\x03len\x12\xa1\x01\n" + + "\amin_len\x18\x02 \x01(\x04B\x87\x01\xc2H\x83\x01\n" + + "\x80\x01\n" + + "\x0estring.min_len\x1anuint(this.size()) < rules.min_len ? 'value length must be at least %s characters'.format([rules.min_len]) : ''R\x06minLen\x12\x9f\x01\n" + + "\amax_len\x18\x03 \x01(\x04B\x85\x01\xc2H\x81\x01\n" + + "\x7f\n" + + "\x0estring.max_len\x1amuint(this.size()) > rules.max_len ? 'value length must be at most %s characters'.format([rules.max_len]) : ''R\x06maxLen\x12\xa5\x01\n" + + "\tlen_bytes\x18\x14 \x01(\x04B\x87\x01\xc2H\x83\x01\n" + + "\x80\x01\n" + + "\x10string.len_bytes\x1aluint(bytes(this).size()) != rules.len_bytes ? 'value length must be %s bytes'.format([rules.len_bytes]) : ''R\blenBytes\x12\xad\x01\n" + + "\tmin_bytes\x18\x04 \x01(\x04B\x8f\x01\xc2H\x8b\x01\n" + + "\x88\x01\n" + + "\x10string.min_bytes\x1atuint(bytes(this).size()) < rules.min_bytes ? 'value length must be at least %s bytes'.format([rules.min_bytes]) : ''R\bminBytes\x12\xac\x01\n" + + "\tmax_bytes\x18\x05 \x01(\x04B\x8e\x01\xc2H\x8a\x01\n" + + "\x87\x01\n" + + "\x10string.max_bytes\x1asuint(bytes(this).size()) > rules.max_bytes ? 'value length must be at most %s bytes'.format([rules.max_bytes]) : ''R\bmaxBytes\x12\x96\x01\n" + + "\apattern\x18\x06 \x01(\tB|\xc2Hy\n" + + "w\n" + + "\x0estring.pattern\x1ae!this.matches(rules.pattern) ? 'value does not match regex pattern `%s`'.format([rules.pattern]) : ''R\apattern\x12\x8c\x01\n" + + "\x06prefix\x18\a \x01(\tBt\xc2Hq\n" + + "o\n" + + "\rstring.prefix\x1a^!this.startsWith(rules.prefix) ? 'value does not have prefix `%s`'.format([rules.prefix]) : ''R\x06prefix\x12\x8a\x01\n" + + "\x06suffix\x18\b \x01(\tBr\xc2Ho\n" + + "m\n" + + "\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? 'value does not have suffix `%s`'.format([rules.suffix]) : ''R\x06suffix\x12\x9a\x01\n" + + "\bcontains\x18\t \x01(\tB~\xc2H{\n" + + "y\n" + + "\x0fstring.contains\x1af!this.contains(rules.contains) ? 'value does not contain substring `%s`'.format([rules.contains]) : ''R\bcontains\x12\xa5\x01\n" + + "\fnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n" + + "|\n" + + "\x13string.not_contains\x1aethis.contains(rules.not_contains) ? 'value contains substring `%s`'.format([rules.not_contains]) : ''R\vnotContains\x12\x84\x01\n" + + "\x02in\x18\n" + + " \x03(\tBt\xc2Hq\n" + + "o\n" + + "\tstring.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12~\n" + + "\x06not_in\x18\v \x03(\tBg\xc2Hd\n" + + "b\n" + + "\rstring.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12\xe6\x01\n" + + "\x05email\x18\f \x01(\bB\xcd\x01\xc2H\xc9\x01\n" + + "a\n" + + "\fstring.email\x12#value must be a valid email address\x1a,!rules.email || this == '' || this.isEmail()\n" + + "d\n" + + "\x12string.email_empty\x122value is empty, which is not a valid email address\x1a\x1a!rules.email || this != ''H\x00R\x05email\x12\xf1\x01\n" + + "\bhostname\x18\r \x01(\bB\xd2\x01\xc2H\xce\x01\n" + + "e\n" + + "\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a2!rules.hostname || this == '' || this.isHostname()\n" + + "e\n" + + "\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != ''H\x00R\bhostname\x12\xcb\x01\n" + + "\x02ip\x18\x0e \x01(\bB\xb8\x01\xc2H\xb4\x01\n" + + "U\n" + + "\tstring.ip\x12 value must be a valid IP address\x1a&!rules.ip || this == '' || this.isIp()\n" + + "[\n" + + "\x0fstring.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x17!rules.ip || this != ''H\x00R\x02ip\x12\xdc\x01\n" + + "\x04ipv4\x18\x0f \x01(\bB\xc5\x01\xc2H\xc1\x01\n" + + "\\\n" + + "\vstring.ipv4\x12\"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == '' || this.isIp(4)\n" + + "a\n" + + "\x11string.ipv4_empty\x121value is empty, which is not a valid IPv4 address\x1a\x19!rules.ipv4 || this != ''H\x00R\x04ipv4\x12\xdc\x01\n" + + "\x04ipv6\x18\x10 \x01(\bB\xc5\x01\xc2H\xc1\x01\n" + + "\\\n" + + "\vstring.ipv6\x12\"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == '' || this.isIp(6)\n" + + "a\n" + + "\x11string.ipv6_empty\x121value is empty, which is not a valid IPv6 address\x1a\x19!rules.ipv6 || this != ''H\x00R\x04ipv6\x12\xc4\x01\n" + + "\x03uri\x18\x11 \x01(\bB\xaf\x01\xc2H\xab\x01\n" + + "Q\n" + + "\n" + + "string.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == '' || this.isUri()\n" + + "V\n" + + "\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != ''H\x00R\x03uri\x12x\n" + + "\auri_ref\x18\x12 \x01(\bB]\xc2HZ\n" + + "X\n" + + "\x0estring.uri_ref\x12#value must be a valid URI Reference\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x99\x02\n" + + "\aaddress\x18\x15 \x01(\bB\xfc\x01\xc2H\xf8\x01\n" + + "\x81\x01\n" + + "\x0estring.address\x12-value must be a valid hostname, or ip address\x1a@!rules.address || this == '' || this.isHostname() || this.isIp()\n" + + "r\n" + + "\x14string.address_empty\x12<value is empty, which is not a valid hostname, or ip address\x1a\x1c!rules.address || this != ''H\x00R\aaddress\x12\x9e\x02\n" + + "\x04uuid\x18\x16 \x01(\bB\x87\x02\xc2H\x83\x02\n" + + "\xa5\x01\n" + + "\vstring.uuid\x12\x1avalue must be a valid UUID\x1az!rules.uuid || this == '' || this.matches('^[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}$')\n" + + "Y\n" + + "\x11string.uuid_empty\x12)value is empty, which is not a valid UUID\x1a\x19!rules.uuid || this != ''H\x00R\x04uuid\x12\xf7\x01\n" + + "\x05tuuid\x18! \x01(\bB\xde\x01\xc2H\xda\x01\n" + + "s\n" + + "\fstring.tuuid\x12\"value must be a valid trimmed UUID\x1a?!rules.tuuid || this == '' || this.matches('^[0-9a-fA-F]{32}$')\n" + + "c\n" + + "\x12string.tuuid_empty\x121value is empty, which is not a valid trimmed UUID\x1a\x1a!rules.tuuid || this != ''H\x00R\x05tuuid\x12\xa7\x02\n" + + "\x11ip_with_prefixlen\x18\x1a \x01(\bB\xf8\x01\xc2H\xf4\x01\n" + + "x\n" + + "\x18string.ip_with_prefixlen\x12\x1fvalue must be a valid IP prefix\x1a;!rules.ip_with_prefixlen || this == '' || this.isIpPrefix()\n" + + "x\n" + + "\x1estring.ip_with_prefixlen_empty\x12.value is empty, which is not a valid IP prefix\x1a&!rules.ip_with_prefixlen || this != ''H\x00R\x0fipWithPrefixlen\x12\xe2\x02\n" + + "\x13ipv4_with_prefixlen\x18\x1b \x01(\bB\xaf\x02\xc2H\xab\x02\n" + + "\x93\x01\n" + + "\x1astring.ipv4_with_prefixlen\x125value must be a valid IPv4 address with prefix length\x1a>!rules.ipv4_with_prefixlen || this == '' || this.isIpPrefix(4)\n" + + "\x92\x01\n" + + " string.ipv4_with_prefixlen_empty\x12Dvalue is empty, which is not a valid IPv4 address with prefix length\x1a(!rules.ipv4_with_prefixlen || this != ''H\x00R\x11ipv4WithPrefixlen\x12\xe2\x02\n" + + "\x13ipv6_with_prefixlen\x18\x1c \x01(\bB\xaf\x02\xc2H\xab\x02\n" + + "\x93\x01\n" + + "\x1astring.ipv6_with_prefixlen\x125value must be a valid IPv6 address with prefix length\x1a>!rules.ipv6_with_prefixlen || this == '' || this.isIpPrefix(6)\n" + + "\x92\x01\n" + + " string.ipv6_with_prefixlen_empty\x12Dvalue is empty, which is not a valid IPv6 address with prefix length\x1a(!rules.ipv6_with_prefixlen || this != ''H\x00R\x11ipv6WithPrefixlen\x12\xfc\x01\n" + + "\tip_prefix\x18\x1d \x01(\bB\xdc\x01\xc2H\xd8\x01\n" + + "l\n" + + "\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a7!rules.ip_prefix || this == '' || this.isIpPrefix(true)\n" + + "h\n" + + "\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != ''H\x00R\bipPrefix\x12\x8f\x02\n" + + "\vipv4_prefix\x18\x1e \x01(\bB\xeb\x01\xc2H\xe7\x01\n" + + "u\n" + + "\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a<!rules.ipv4_prefix || this == '' || this.isIpPrefix(4, true)\n" + + "n\n" + + "\x18string.ipv4_prefix_empty\x120value is empty, which is not a valid IPv4 prefix\x1a !rules.ipv4_prefix || this != ''H\x00R\n" + + "ipv4Prefix\x12\x8f\x02\n" + + "\vipv6_prefix\x18\x1f \x01(\bB\xeb\x01\xc2H\xe7\x01\n" + + "u\n" + + "\x12string.ipv6_prefix\x12!value must be a valid IPv6 prefix\x1a<!rules.ipv6_prefix || this == '' || this.isIpPrefix(6, true)\n" + + "n\n" + + "\x18string.ipv6_prefix_empty\x120value is empty, which is not a valid IPv6 prefix\x1a !rules.ipv6_prefix || this != ''H\x00R\n" + + "ipv6Prefix\x12\xc2\x02\n" + + "\rhost_and_port\x18 \x01(\bB\x9b\x02\xc2H\x97\x02\n" + + "\x99\x01\n" + + "\x14string.host_and_port\x12Avalue must be a valid host (hostname or IP address) and port pair\x1a>!rules.host_and_port || this == '' || this.isHostAndPort(true)\n" + + "y\n" + + "\x1astring.host_and_port_empty\x127value is empty, which is not a valid host and port pair\x1a\"!rules.host_and_port || this != ''H\x00R\vhostAndPort\x12\xb8\x05\n" + + "\x10well_known_regex\x18\x18 \x01(\x0e2\x18.buf.validate.KnownRegexB\xf1\x04\xc2H\xed\x04\n" + + "\xf0\x01\n" + + "#string.well_known_regex.header_name\x12&value must be a valid HTTP header name\x1a\xa0\x01rules.well_known_regex != 1 || this == '' || this.matches(!has(rules.strict) || rules.strict ?'^:?[0-9a-zA-Z!#$%&\\'*+-.^_|~\\x60]+$' :'^[^\\u0000\\u000A\\u000D]+$')\n" + + "\x8d\x01\n" + + ")string.well_known_regex.header_name_empty\x125value is empty, which is not a valid HTTP header name\x1a)rules.well_known_regex != 1 || this != ''\n" + + "\xe7\x01\n" + + "$string.well_known_regex.header_value\x12'value must be a valid HTTP header value\x1a\x95\x01rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$' :'^[^\\u0000\\u000A\\u000D]*$')H\x00R\x0ewellKnownRegex\x12\x16\n" + + "\x06strict\x18\x19 \x01(\bR\x06strict\x125\n" + + "\aexample\x18\" \x03(\tB\x1b\xc2H\x18\n" + + "\x16\n" + + "\x0estring.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\f\n" + + "\n" + + "well_known\"\xce\x11\n" + + "\n" + + "BytesRules\x12\x87\x01\n" + + "\x05const\x18\x01 \x01(\fBq\xc2Hn\n" + + "l\n" + + "\vbytes.const\x1a]this != getField(rules, 'const') ? 'value must be %x'.format([getField(rules, 'const')]) : ''R\x05const\x12}\n" + + "\x03len\x18\r \x01(\x04Bk\xc2Hh\n" + + "f\n" + + "\tbytes.len\x1aYuint(this.size()) != rules.len ? 'value length must be %s bytes'.format([rules.len]) : ''R\x03len\x12\x98\x01\n" + + "\amin_len\x18\x02 \x01(\x04B\x7f\xc2H|\n" + + "z\n" + + "\rbytes.min_len\x1aiuint(this.size()) < rules.min_len ? 'value length must be at least %s bytes'.format([rules.min_len]) : ''R\x06minLen\x12\x90\x01\n" + + "\amax_len\x18\x03 \x01(\x04Bw\xc2Ht\n" + + "r\n" + + "\rbytes.max_len\x1aauint(this.size()) > rules.max_len ? 'value must be at most %s bytes'.format([rules.max_len]) : ''R\x06maxLen\x12\x99\x01\n" + + "\apattern\x18\x04 \x01(\tB\x7f\xc2H|\n" + + "z\n" + + "\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? 'value must match regex pattern `%s`'.format([rules.pattern]) : ''R\apattern\x12\x89\x01\n" + + "\x06prefix\x18\x05 \x01(\fBq\xc2Hn\n" + + "l\n" + + "\fbytes.prefix\x1a\\!this.startsWith(rules.prefix) ? 'value does not have prefix %x'.format([rules.prefix]) : ''R\x06prefix\x12\x87\x01\n" + + "\x06suffix\x18\x06 \x01(\fBo\xc2Hl\n" + + "j\n" + + "\fbytes.suffix\x1aZ!this.endsWith(rules.suffix) ? 'value does not have suffix %x'.format([rules.suffix]) : ''R\x06suffix\x12\x8d\x01\n" + + "\bcontains\x18\a \x01(\fBq\xc2Hn\n" + + "l\n" + + "\x0ebytes.contains\x1aZ!this.contains(rules.contains) ? 'value does not contain %x'.format([rules.contains]) : ''R\bcontains\x12\xab\x01\n" + + "\x02in\x18\b \x03(\fB\x9a\x01\xc2H\x96\x01\n" + + "\x93\x01\n" + + "\bbytes.in\x1a\x86\x01getField(rules, 'in').size() > 0 && !(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12}\n" + + "\x06not_in\x18\t \x03(\fBf\xc2Hc\n" + + "a\n" + + "\fbytes.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12\xef\x01\n" + + "\x02ip\x18\n" + + " \x01(\bB\xdc\x01\xc2H\xd8\x01\n" + + "t\n" + + "\bbytes.ip\x12 value must be a valid IP address\x1aF!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n" + + "`\n" + + "\x0ebytes.ip_empty\x12/value is empty, which is not a valid IP address\x1a\x1d!rules.ip || this.size() != 0H\x00R\x02ip\x12\xea\x01\n" + + "\x04ipv4\x18\v \x01(\bB\xd3\x01\xc2H\xcf\x01\n" + + "e\n" + + "\n" + + "bytes.ipv4\x12\"value must be a valid IPv4 address\x1a3!rules.ipv4 || this.size() == 0 || this.size() == 4\n" + + "f\n" + + "\x10bytes.ipv4_empty\x121value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xeb\x01\n" + + "\x04ipv6\x18\f \x01(\bB\xd4\x01\xc2H\xd0\x01\n" + + "f\n" + + "\n" + + "bytes.ipv6\x12\"value must be a valid IPv6 address\x1a4!rules.ipv6 || this.size() == 0 || this.size() == 16\n" + + "f\n" + + "\x10bytes.ipv6_empty\x121value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x124\n" + + "\aexample\x18\x0e \x03(\fB\x1a\xc2H\x17\n" + + "\x15\n" + + "\rbytes.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\f\n" + + "\n" + + "well_known\"\xfd\x03\n" + + "\tEnumRules\x12\x89\x01\n" + + "\x05const\x18\x01 \x01(\x05Bs\xc2Hp\n" + + "n\n" + + "\n" + + "enum.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12!\n" + + "\fdefined_only\x18\x02 \x01(\bR\vdefinedOnly\x12\x82\x01\n" + + "\x02in\x18\x03 \x03(\x05Br\xc2Ho\n" + + "m\n" + + "\aenum.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12|\n" + + "\x06not_in\x18\x04 \x03(\x05Be\xc2Hb\n" + + "`\n" + + "\venum.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x123\n" + + "\aexample\x18\x05 \x03(\x05B\x19\xc2H\x16\n" + + "\x14\n" + + "\fenum.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\x9e\x04\n" + + "\rRepeatedRules\x12\xa8\x01\n" + + "\tmin_items\x18\x01 \x01(\x04B\x8a\x01\xc2H\x86\x01\n" + + "\x83\x01\n" + + "\x12repeated.min_items\x1amuint(this.size()) < rules.min_items ? 'value must contain at least %d item(s)'.format([rules.min_items]) : ''R\bminItems\x12\xac\x01\n" + + "\tmax_items\x18\x02 \x01(\x04B\x8e\x01\xc2H\x8a\x01\n" + + "\x87\x01\n" + + "\x12repeated.max_items\x1aquint(this.size()) > rules.max_items ? 'value must contain no more than %s item(s)'.format([rules.max_items]) : ''R\bmaxItems\x12x\n" + + "\x06unique\x18\x03 \x01(\bB`\xc2H]\n" + + "[\n" + + "\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12.\n" + + "\x05items\x18\x04 \x01(\v2\x18.buf.validate.FieldRulesR\x05items*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"\xac\x03\n" + + "\bMapRules\x12\x99\x01\n" + + "\tmin_pairs\x18\x01 \x01(\x04B|\xc2Hy\n" + + "w\n" + + "\rmap.min_pairs\x1afuint(this.size()) < rules.min_pairs ? 'map must be at least %d entries'.format([rules.min_pairs]) : ''R\bminPairs\x12\x98\x01\n" + + "\tmax_pairs\x18\x02 \x01(\x04B{\xc2Hx\n" + + "v\n" + + "\rmap.max_pairs\x1aeuint(this.size()) > rules.max_pairs ? 'map must be at most %d entries'.format([rules.max_pairs]) : ''R\bmaxPairs\x12,\n" + + "\x04keys\x18\x04 \x01(\v2\x18.buf.validate.FieldRulesR\x04keys\x120\n" + + "\x06values\x18\x05 \x01(\v2\x18.buf.validate.FieldRulesR\x06values*\t\b\xe8\a\x10\x80\x80\x80\x80\x02\"1\n" + + "\bAnyRules\x12\x0e\n" + + "\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n" + + "\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xc6\x17\n" + + "\rDurationRules\x12\xa8\x01\n" + + "\x05const\x18\x02 \x01(\v2\x19.google.protobuf.DurationBw\xc2Ht\n" + + "r\n" + + "\x0eduration.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\xac\x01\n" + + "\x02lt\x18\x03 \x01(\v2\x19.google.protobuf.DurationB\x7f\xc2H|\n" + + "z\n" + + "\vduration.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xbf\x01\n" + + "\x03lte\x18\x04 \x01(\v2\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n" + + "\x88\x01\n" + + "\fduration.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12\xc5\a\n" + + "\x02gt\x18\x05 \x01(\v2\x19.google.protobuf.DurationB\x97\a\xc2H\x93\a\n" + + "}\n" + + "\vduration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb6\x01\n" + + "\x0eduration.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbe\x01\n" + + "\x18duration.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc6\x01\n" + + "\x0fduration.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xce\x01\n" + + "\x19duration.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\x92\b\n" + + "\x03gte\x18\x06 \x01(\v2\x19.google.protobuf.DurationB\xe2\a\xc2H\xde\a\n" + + "\x8b\x01\n" + + "\fduration.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc5\x01\n" + + "\x0fduration.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xcd\x01\n" + + "\x19duration.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd5\x01\n" + + "\x10duration.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xdd\x01\n" + + "\x1aduration.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12\xa1\x01\n" + + "\x02in\x18\a \x03(\v2\x19.google.protobuf.DurationBv\xc2Hs\n" + + "q\n" + + "\vduration.in\x1ab!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''R\x02in\x12\x9b\x01\n" + + "\x06not_in\x18\b \x03(\v2\x19.google.protobuf.DurationBi\xc2Hf\n" + + "d\n" + + "\x0fduration.not_in\x1aQthis in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''R\x05notIn\x12R\n" + + "\aexample\x18\t \x03(\v2\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n" + + "\x18\n" + + "\x10duration.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"\xca\x18\n" + + "\x0eTimestampRules\x12\xaa\x01\n" + + "\x05const\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampBx\xc2Hu\n" + + "s\n" + + "\x0ftimestamp.const\x1a`this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''R\x05const\x12\xaf\x01\n" + + "\x02lt\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n" + + "{\n" + + "\ftimestamp.lt\x1ak!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''H\x00R\x02lt\x12\xc1\x01\n" + + "\x03lte\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampB\x90\x01\xc2H\x8c\x01\n" + + "\x89\x01\n" + + "\rtimestamp.lte\x1ax!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''H\x00R\x03lte\x12s\n" + + "\x06lt_now\x18\a \x01(\bBZ\xc2HW\n" + + "U\n" + + "\x10timestamp.lt_now\x1aA(rules.lt_now && this > now) ? 'value must be less than now' : ''H\x00R\x05ltNow\x12\xcb\a\n" + + "\x02gt\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampB\x9c\a\xc2H\x98\a\n" + + "~\n" + + "\ftimestamp.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''\n" + + "\xb7\x01\n" + + "\x0ftimestamp.gt_lt\x1a\xa3\x01has(rules.lt) && rules.lt >= rules.gt && (this >= rules.lt || this <= rules.gt)? 'value must be greater than %s and less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xbf\x01\n" + + "\x19timestamp.gt_lt_exclusive\x1a\xa1\x01has(rules.lt) && rules.lt < rules.gt && (rules.lt <= this && this <= rules.gt)? 'value must be greater than %s or less than %s'.format([rules.gt, rules.lt]) : ''\n" + + "\xc7\x01\n" + + "\x10timestamp.gt_lte\x1a\xb2\x01has(rules.lte) && rules.lte >= rules.gt && (this > rules.lte || this <= rules.gt)? 'value must be greater than %s and less than or equal to %s'.format([rules.gt, rules.lte]) : ''\n" + + "\xcf\x01\n" + + "\x1atimestamp.gt_lte_exclusive\x1a\xb0\x01has(rules.lte) && rules.lte < rules.gt && (rules.lte < this && this <= rules.gt)? 'value must be greater than %s or less than or equal to %s'.format([rules.gt, rules.lte]) : ''H\x01R\x02gt\x12\x98\b\n" + + "\x03gte\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampB\xe7\a\xc2H\xe3\a\n" + + "\x8c\x01\n" + + "\rtimestamp.gte\x1a{!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''\n" + + "\xc6\x01\n" + + "\x10timestamp.gte_lt\x1a\xb1\x01has(rules.lt) && rules.lt >= rules.gte && (this >= rules.lt || this < rules.gte)? 'value must be greater than or equal to %s and less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xce\x01\n" + + "\x1atimestamp.gte_lt_exclusive\x1a\xaf\x01has(rules.lt) && rules.lt < rules.gte && (rules.lt <= this && this < rules.gte)? 'value must be greater than or equal to %s or less than %s'.format([rules.gte, rules.lt]) : ''\n" + + "\xd6\x01\n" + + "\x11timestamp.gte_lte\x1a\xc0\x01has(rules.lte) && rules.lte >= rules.gte && (this > rules.lte || this < rules.gte)? 'value must be greater than or equal to %s and less than or equal to %s'.format([rules.gte, rules.lte]) : ''\n" + + "\xde\x01\n" + + "\x1btimestamp.gte_lte_exclusive\x1a\xbe\x01has(rules.lte) && rules.lte < rules.gte && (rules.lte < this && this < rules.gte)? 'value must be greater than or equal to %s or less than or equal to %s'.format([rules.gte, rules.lte]) : ''H\x01R\x03gte\x12v\n" + + "\x06gt_now\x18\b \x01(\bB]\xc2HZ\n" + + "X\n" + + "\x10timestamp.gt_now\x1aD(rules.gt_now && this < now) ? 'value must be greater than now' : ''H\x01R\x05gtNow\x12\xc0\x01\n" + + "\x06within\x18\t \x01(\v2\x19.google.protobuf.DurationB\x8c\x01\xc2H\x88\x01\n" + + "\x85\x01\n" + + "\x10timestamp.within\x1aqthis < now-rules.within || this > now+rules.within ? 'value must be within %s of now'.format([rules.within]) : ''R\x06within\x12T\n" + + "\aexample\x18\n" + + " \x03(\v2\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n" + + "\x19\n" + + "\x11timestamp.example\x1a\x04trueR\aexample*\t\b\xe8\a\x10\x80\x80\x80\x80\x02B\v\n" + + "\tless_thanB\x0e\n" + + "\fgreater_than\"E\n" + + "\n" + + "Violations\x127\n" + + "\n" + + "violations\x18\x01 \x03(\v2\x17.buf.validate.ViolationR\n" + + "violations\"\xc5\x01\n" + + "\tViolation\x12-\n" + + "\x05field\x18\x05 \x01(\v2\x17.buf.validate.FieldPathR\x05field\x12+\n" + + "\x04rule\x18\x06 \x01(\v2\x17.buf.validate.FieldPathR\x04rule\x12\x17\n" + + "\arule_id\x18\x02 \x01(\tR\x06ruleId\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12\x17\n" + + "\afor_key\x18\x04 \x01(\bR\x06forKeyJ\x04\b\x01\x10\x02R\n" + + "field_path\"G\n" + + "\tFieldPath\x12:\n" + + "\belements\x18\x01 \x03(\v2\x1e.buf.validate.FieldPathElementR\belements\"\xcc\x03\n" + + "\x10FieldPathElement\x12!\n" + + "\ffield_number\x18\x01 \x01(\x05R\vfieldNumber\x12\x1d\n" + + "\n" + + "field_name\x18\x02 \x01(\tR\tfieldName\x12I\n" + + "\n" + + "field_type\x18\x03 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\tfieldType\x12E\n" + + "\bkey_type\x18\x04 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\akeyType\x12I\n" + + "\n" + + "value_type\x18\x05 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\tvalueType\x12\x16\n" + + "\x05index\x18\x06 \x01(\x04H\x00R\x05index\x12\x1b\n" + + "\bbool_key\x18\a \x01(\bH\x00R\aboolKey\x12\x19\n" + + "\aint_key\x18\b \x01(\x03H\x00R\x06intKey\x12\x1b\n" + + "\buint_key\x18\t \x01(\x04H\x00R\auintKey\x12\x1f\n" + + "\n" + + "string_key\x18\n" + + " \x01(\tH\x00R\tstringKeyB\v\n" + + "\tsubscript*\x87\x01\n" + + "\x06Ignore\x12\x16\n" + + "\x12IGNORE_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15IGNORE_IF_UNPOPULATED\x10\x01\x12\x1b\n" + + "\x17IGNORE_IF_DEFAULT_VALUE\x10\x02\x12\x11\n" + + "\rIGNORE_ALWAYS\x10\x03*\x1aIGNORE_EMPTYIGNORE_DEFAULT*n\n" + + "\n" + + "KnownRegex\x12\x1b\n" + + "\x17KNOWN_REGEX_UNSPECIFIED\x10\x00\x12 \n" + + "\x1cKNOWN_REGEX_HTTP_HEADER_NAME\x10\x01\x12!\n" + + "\x1dKNOWN_REGEX_HTTP_HEADER_VALUE\x10\x02:V\n" + + "\amessage\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\v2\x1a.buf.validate.MessageRulesR\amessage:N\n" + + "\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\v2\x18.buf.validate.OneofRulesR\x05oneof:N\n" + + "\x05field\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\v2\x18.buf.validate.FieldRulesR\x05field:]\n" + + "\n" + + "predefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\v2\x1d.buf.validate.PredefinedRulesR\n" + + "predefinedBn\n" + + "\x12build.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" + +var file_buf_validate_validate_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_buf_validate_validate_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_buf_validate_validate_proto_goTypes = []any{ + (Ignore)(0), // 0: buf.validate.Ignore + (KnownRegex)(0), // 1: buf.validate.KnownRegex + (*Rule)(nil), // 2: buf.validate.Rule + (*MessageRules)(nil), // 3: buf.validate.MessageRules + (*MessageOneofRule)(nil), // 4: buf.validate.MessageOneofRule + (*OneofRules)(nil), // 5: buf.validate.OneofRules + (*FieldRules)(nil), // 6: buf.validate.FieldRules + (*PredefinedRules)(nil), // 7: buf.validate.PredefinedRules + (*FloatRules)(nil), // 8: buf.validate.FloatRules + (*DoubleRules)(nil), // 9: buf.validate.DoubleRules + (*Int32Rules)(nil), // 10: buf.validate.Int32Rules + (*Int64Rules)(nil), // 11: buf.validate.Int64Rules + (*UInt32Rules)(nil), // 12: buf.validate.UInt32Rules + (*UInt64Rules)(nil), // 13: buf.validate.UInt64Rules + (*SInt32Rules)(nil), // 14: buf.validate.SInt32Rules + (*SInt64Rules)(nil), // 15: buf.validate.SInt64Rules + (*Fixed32Rules)(nil), // 16: buf.validate.Fixed32Rules + (*Fixed64Rules)(nil), // 17: buf.validate.Fixed64Rules + (*SFixed32Rules)(nil), // 18: buf.validate.SFixed32Rules + (*SFixed64Rules)(nil), // 19: buf.validate.SFixed64Rules + (*BoolRules)(nil), // 20: buf.validate.BoolRules + (*StringRules)(nil), // 21: buf.validate.StringRules + (*BytesRules)(nil), // 22: buf.validate.BytesRules + (*EnumRules)(nil), // 23: buf.validate.EnumRules + (*RepeatedRules)(nil), // 24: buf.validate.RepeatedRules + (*MapRules)(nil), // 25: buf.validate.MapRules + (*AnyRules)(nil), // 26: buf.validate.AnyRules + (*DurationRules)(nil), // 27: buf.validate.DurationRules + (*TimestampRules)(nil), // 28: buf.validate.TimestampRules + (*Violations)(nil), // 29: buf.validate.Violations + (*Violation)(nil), // 30: buf.validate.Violation + (*FieldPath)(nil), // 31: buf.validate.FieldPath + (*FieldPathElement)(nil), // 32: buf.validate.FieldPathElement + (*durationpb.Duration)(nil), // 33: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp + (descriptorpb.FieldDescriptorProto_Type)(0), // 35: google.protobuf.FieldDescriptorProto.Type + (*descriptorpb.MessageOptions)(nil), // 36: google.protobuf.MessageOptions + (*descriptorpb.OneofOptions)(nil), // 37: google.protobuf.OneofOptions + (*descriptorpb.FieldOptions)(nil), // 38: google.protobuf.FieldOptions +} +var file_buf_validate_validate_proto_depIdxs = []int32{ + 2, // 0: buf.validate.MessageRules.cel:type_name -> buf.validate.Rule + 4, // 1: buf.validate.MessageRules.oneof:type_name -> buf.validate.MessageOneofRule + 2, // 2: buf.validate.FieldRules.cel:type_name -> buf.validate.Rule + 0, // 3: buf.validate.FieldRules.ignore:type_name -> buf.validate.Ignore + 8, // 4: buf.validate.FieldRules.float:type_name -> buf.validate.FloatRules + 9, // 5: buf.validate.FieldRules.double:type_name -> buf.validate.DoubleRules + 10, // 6: buf.validate.FieldRules.int32:type_name -> buf.validate.Int32Rules + 11, // 7: buf.validate.FieldRules.int64:type_name -> buf.validate.Int64Rules + 12, // 8: buf.validate.FieldRules.uint32:type_name -> buf.validate.UInt32Rules + 13, // 9: buf.validate.FieldRules.uint64:type_name -> buf.validate.UInt64Rules + 14, // 10: buf.validate.FieldRules.sint32:type_name -> buf.validate.SInt32Rules + 15, // 11: buf.validate.FieldRules.sint64:type_name -> buf.validate.SInt64Rules + 16, // 12: buf.validate.FieldRules.fixed32:type_name -> buf.validate.Fixed32Rules + 17, // 13: buf.validate.FieldRules.fixed64:type_name -> buf.validate.Fixed64Rules + 18, // 14: buf.validate.FieldRules.sfixed32:type_name -> buf.validate.SFixed32Rules + 19, // 15: buf.validate.FieldRules.sfixed64:type_name -> buf.validate.SFixed64Rules + 20, // 16: buf.validate.FieldRules.bool:type_name -> buf.validate.BoolRules + 21, // 17: buf.validate.FieldRules.string:type_name -> buf.validate.StringRules + 22, // 18: buf.validate.FieldRules.bytes:type_name -> buf.validate.BytesRules + 23, // 19: buf.validate.FieldRules.enum:type_name -> buf.validate.EnumRules + 24, // 20: buf.validate.FieldRules.repeated:type_name -> buf.validate.RepeatedRules + 25, // 21: buf.validate.FieldRules.map:type_name -> buf.validate.MapRules + 26, // 22: buf.validate.FieldRules.any:type_name -> buf.validate.AnyRules + 27, // 23: buf.validate.FieldRules.duration:type_name -> buf.validate.DurationRules + 28, // 24: buf.validate.FieldRules.timestamp:type_name -> buf.validate.TimestampRules + 2, // 25: buf.validate.PredefinedRules.cel:type_name -> buf.validate.Rule + 1, // 26: buf.validate.StringRules.well_known_regex:type_name -> buf.validate.KnownRegex + 6, // 27: buf.validate.RepeatedRules.items:type_name -> buf.validate.FieldRules + 6, // 28: buf.validate.MapRules.keys:type_name -> buf.validate.FieldRules + 6, // 29: buf.validate.MapRules.values:type_name -> buf.validate.FieldRules + 33, // 30: buf.validate.DurationRules.const:type_name -> google.protobuf.Duration + 33, // 31: buf.validate.DurationRules.lt:type_name -> google.protobuf.Duration + 33, // 32: buf.validate.DurationRules.lte:type_name -> google.protobuf.Duration + 33, // 33: buf.validate.DurationRules.gt:type_name -> google.protobuf.Duration + 33, // 34: buf.validate.DurationRules.gte:type_name -> google.protobuf.Duration + 33, // 35: buf.validate.DurationRules.in:type_name -> google.protobuf.Duration + 33, // 36: buf.validate.DurationRules.not_in:type_name -> google.protobuf.Duration + 33, // 37: buf.validate.DurationRules.example:type_name -> google.protobuf.Duration + 34, // 38: buf.validate.TimestampRules.const:type_name -> google.protobuf.Timestamp + 34, // 39: buf.validate.TimestampRules.lt:type_name -> google.protobuf.Timestamp + 34, // 40: buf.validate.TimestampRules.lte:type_name -> google.protobuf.Timestamp + 34, // 41: buf.validate.TimestampRules.gt:type_name -> google.protobuf.Timestamp + 34, // 42: buf.validate.TimestampRules.gte:type_name -> google.protobuf.Timestamp + 33, // 43: buf.validate.TimestampRules.within:type_name -> google.protobuf.Duration + 34, // 44: buf.validate.TimestampRules.example:type_name -> google.protobuf.Timestamp + 30, // 45: buf.validate.Violations.violations:type_name -> buf.validate.Violation + 31, // 46: buf.validate.Violation.field:type_name -> buf.validate.FieldPath + 31, // 47: buf.validate.Violation.rule:type_name -> buf.validate.FieldPath + 32, // 48: buf.validate.FieldPath.elements:type_name -> buf.validate.FieldPathElement + 35, // 49: buf.validate.FieldPathElement.field_type:type_name -> google.protobuf.FieldDescriptorProto.Type + 35, // 50: buf.validate.FieldPathElement.key_type:type_name -> google.protobuf.FieldDescriptorProto.Type + 35, // 51: buf.validate.FieldPathElement.value_type:type_name -> google.protobuf.FieldDescriptorProto.Type + 36, // 52: buf.validate.message:extendee -> google.protobuf.MessageOptions + 37, // 53: buf.validate.oneof:extendee -> google.protobuf.OneofOptions + 38, // 54: buf.validate.field:extendee -> google.protobuf.FieldOptions + 38, // 55: buf.validate.predefined:extendee -> google.protobuf.FieldOptions + 3, // 56: buf.validate.message:type_name -> buf.validate.MessageRules + 5, // 57: buf.validate.oneof:type_name -> buf.validate.OneofRules + 6, // 58: buf.validate.field:type_name -> buf.validate.FieldRules + 7, // 59: buf.validate.predefined:type_name -> buf.validate.PredefinedRules + 60, // [60:60] is the sub-list for method output_type + 60, // [60:60] is the sub-list for method input_type + 56, // [56:60] is the sub-list for extension type_name + 52, // [52:56] is the sub-list for extension extendee + 0, // [0:52] is the sub-list for field type_name +} + +func init() { file_buf_validate_validate_proto_init() } +func file_buf_validate_validate_proto_init() { + if File_buf_validate_validate_proto != nil { + return + } + file_buf_validate_validate_proto_msgTypes[4].OneofWrappers = []any{ + (*fieldRules_Float)(nil), + (*fieldRules_Double)(nil), + (*fieldRules_Int32)(nil), + (*fieldRules_Int64)(nil), + (*fieldRules_Uint32)(nil), + (*fieldRules_Uint64)(nil), + (*fieldRules_Sint32)(nil), + (*fieldRules_Sint64)(nil), + (*fieldRules_Fixed32)(nil), + (*fieldRules_Fixed64)(nil), + (*fieldRules_Sfixed32)(nil), + (*fieldRules_Sfixed64)(nil), + (*fieldRules_Bool)(nil), + (*fieldRules_String_)(nil), + (*fieldRules_Bytes)(nil), + (*fieldRules_Enum)(nil), + (*fieldRules_Repeated)(nil), + (*fieldRules_Map)(nil), + (*fieldRules_Any)(nil), + (*fieldRules_Duration)(nil), + (*fieldRules_Timestamp)(nil), + } + file_buf_validate_validate_proto_msgTypes[6].OneofWrappers = []any{ + (*floatRules_Lt)(nil), + (*floatRules_Lte)(nil), + (*floatRules_Gt)(nil), + (*floatRules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[7].OneofWrappers = []any{ + (*doubleRules_Lt)(nil), + (*doubleRules_Lte)(nil), + (*doubleRules_Gt)(nil), + (*doubleRules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[8].OneofWrappers = []any{ + (*int32Rules_Lt)(nil), + (*int32Rules_Lte)(nil), + (*int32Rules_Gt)(nil), + (*int32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[9].OneofWrappers = []any{ + (*int64Rules_Lt)(nil), + (*int64Rules_Lte)(nil), + (*int64Rules_Gt)(nil), + (*int64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[10].OneofWrappers = []any{ + (*uInt32Rules_Lt)(nil), + (*uInt32Rules_Lte)(nil), + (*uInt32Rules_Gt)(nil), + (*uInt32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[11].OneofWrappers = []any{ + (*uInt64Rules_Lt)(nil), + (*uInt64Rules_Lte)(nil), + (*uInt64Rules_Gt)(nil), + (*uInt64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[12].OneofWrappers = []any{ + (*sInt32Rules_Lt)(nil), + (*sInt32Rules_Lte)(nil), + (*sInt32Rules_Gt)(nil), + (*sInt32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[13].OneofWrappers = []any{ + (*sInt64Rules_Lt)(nil), + (*sInt64Rules_Lte)(nil), + (*sInt64Rules_Gt)(nil), + (*sInt64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[14].OneofWrappers = []any{ + (*fixed32Rules_Lt)(nil), + (*fixed32Rules_Lte)(nil), + (*fixed32Rules_Gt)(nil), + (*fixed32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[15].OneofWrappers = []any{ + (*fixed64Rules_Lt)(nil), + (*fixed64Rules_Lte)(nil), + (*fixed64Rules_Gt)(nil), + (*fixed64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[16].OneofWrappers = []any{ + (*sFixed32Rules_Lt)(nil), + (*sFixed32Rules_Lte)(nil), + (*sFixed32Rules_Gt)(nil), + (*sFixed32Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[17].OneofWrappers = []any{ + (*sFixed64Rules_Lt)(nil), + (*sFixed64Rules_Lte)(nil), + (*sFixed64Rules_Gt)(nil), + (*sFixed64Rules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[19].OneofWrappers = []any{ + (*stringRules_Email)(nil), + (*stringRules_Hostname)(nil), + (*stringRules_Ip)(nil), + (*stringRules_Ipv4)(nil), + (*stringRules_Ipv6)(nil), + (*stringRules_Uri)(nil), + (*stringRules_UriRef)(nil), + (*stringRules_Address)(nil), + (*stringRules_Uuid)(nil), + (*stringRules_Tuuid)(nil), + (*stringRules_IpWithPrefixlen)(nil), + (*stringRules_Ipv4WithPrefixlen)(nil), + (*stringRules_Ipv6WithPrefixlen)(nil), + (*stringRules_IpPrefix)(nil), + (*stringRules_Ipv4Prefix)(nil), + (*stringRules_Ipv6Prefix)(nil), + (*stringRules_HostAndPort)(nil), + (*stringRules_WellKnownRegex)(nil), + } + file_buf_validate_validate_proto_msgTypes[20].OneofWrappers = []any{ + (*bytesRules_Ip)(nil), + (*bytesRules_Ipv4)(nil), + (*bytesRules_Ipv6)(nil), + } + file_buf_validate_validate_proto_msgTypes[25].OneofWrappers = []any{ + (*durationRules_Lt)(nil), + (*durationRules_Lte)(nil), + (*durationRules_Gt)(nil), + (*durationRules_Gte)(nil), + } + file_buf_validate_validate_proto_msgTypes[26].OneofWrappers = []any{ + (*timestampRules_Lt)(nil), + (*timestampRules_Lte)(nil), + (*timestampRules_LtNow)(nil), + (*timestampRules_Gt)(nil), + (*timestampRules_Gte)(nil), + (*timestampRules_GtNow)(nil), + } + file_buf_validate_validate_proto_msgTypes[30].OneofWrappers = []any{ + (*fieldPathElement_Index)(nil), + (*fieldPathElement_BoolKey)(nil), + (*fieldPathElement_IntKey)(nil), + (*fieldPathElement_UintKey)(nil), + (*fieldPathElement_StringKey)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_buf_validate_validate_proto_rawDesc), len(file_buf_validate_validate_proto_rawDesc)), + NumEnums: 2, + NumMessages: 31, + NumExtensions: 4, + NumServices: 0, + }, + GoTypes: file_buf_validate_validate_proto_goTypes, + DependencyIndexes: file_buf_validate_validate_proto_depIdxs, + EnumInfos: file_buf_validate_validate_proto_enumTypes, + MessageInfos: file_buf_validate_validate_proto_msgTypes, + ExtensionInfos: file_buf_validate_validate_proto_extTypes, + }.Build() + File_buf_validate_validate_proto = out.File + file_buf_validate_validate_proto_goTypes = nil + file_buf_validate_validate_proto_depIdxs = nil +} |
