diff --git a/nebius-api b/nebius-api index 9498bf15..625e01a1 160000 --- a/nebius-api +++ b/nebius-api @@ -1 +1 @@ -Subproject commit 9498bf152bb795d86ab2c3050d3ea7345459af91 +Subproject commit 625e01a19161a70edaeaeb6f68c625ff2dbba463 diff --git a/pyproject.toml b/pyproject.toml index 3b02ee2f..2dfcdb7b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "nebius" -version = "0.2.0" +version = "0.2.1" description = "Nebius Python SDK" authors = [ { name = "Daniil Drizhuk", email = "complynx@nebius.com" }, diff --git a/src/nebius/api/buf/validate/__init__.py b/src/nebius/api/buf/validate/__init__.py index 8094b3cc..363e58ee 100644 --- a/src/nebius/api/buf/validate/__init__.py +++ b/src/nebius/api/buf/validate/__init__.py @@ -42,4 +42,6 @@ "TimestampRules", "Violations", "Violation", + "FieldPath", + "FieldPathElement", ] diff --git a/src/nebius/api/buf/validate/validate_pb2.py b/src/nebius/api/buf/validate/validate_pb2.py index abc7fe7a..069fcab4 100644 --- a/src/nebius/api/buf/validate/validate_pb2.py +++ b/src/nebius/api/buf/validate/validate_pb2.py @@ -16,7 +16,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62uf/validate/validate.proto\x12\x0c\x62uf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"V\n\nConstraint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression\"\\\n\x12MessageConstraints\x12\x1a\n\x08\x64isabled\x18\x01 \x01(\x08R\x08\x64isabled\x12*\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\".\n\x10OneofConstraints\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xab\n\n\x10\x46ieldConstraints\x12*\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\x12\x1a\n\x08required\x18\x19 \x01(\x08R\x08required\x12,\n\x06ignore\x18\x1b \x01(\x0e\x32\x14.buf.validate.IgnoreR\x06ignore\x12\x30\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x18.buf.validate.FloatRulesH\x00R\x05\x66loat\x12\x33\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x19.buf.validate.DoubleRulesH\x00R\x06\x64ouble\x12\x30\n\x05int32\x18\x03 \x01(\x0b\x32\x18.buf.validate.Int32RulesH\x00R\x05int32\x12\x30\n\x05int64\x18\x04 \x01(\x0b\x32\x18.buf.validate.Int64RulesH\x00R\x05int64\x12\x33\n\x06uint32\x18\x05 \x01(\x0b\x32\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x12\x33\n\x06uint64\x18\x06 \x01(\x0b\x32\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x12\x33\n\x06sint32\x18\x07 \x01(\x0b\x32\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x12\x33\n\x06sint64\x18\x08 \x01(\x0b\x32\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x12\x36\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x1a.buf.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x36\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x1a.buf.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x39\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x1b.buf.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x39\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x1b.buf.validate.SFixed64RulesH\x00R\x08sfixed64\x12-\n\x04\x62ool\x18\r \x01(\x0b\x32\x17.buf.validate.BoolRulesH\x00R\x04\x62ool\x12\x33\n\x06string\x18\x0e \x01(\x0b\x32\x19.buf.validate.StringRulesH\x00R\x06string\x12\x30\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x18.buf.validate.BytesRulesH\x00R\x05\x62ytes\x12-\n\x04\x65num\x18\x10 \x01(\x0b\x32\x17.buf.validate.EnumRulesH\x00R\x04\x65num\x12\x39\n\x08repeated\x18\x12 \x01(\x0b\x32\x1b.buf.validate.RepeatedRulesH\x00R\x08repeated\x12*\n\x03map\x18\x13 \x01(\x0b\x32\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x16.buf.validate.AnyRulesH\x00R\x03\x61ny\x12\x39\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x1b.buf.validate.DurationRulesH\x00R\x08\x64uration\x12<\n\ttimestamp\x18\x16 \x01(\x0b\x32\x1c.buf.validate.TimestampRulesH\x00R\ttimestamp\x12\x1c\n\x07skipped\x18\x18 \x01(\x08\x42\x02\x18\x01R\x07skipped\x12%\n\x0cignore_empty\x18\x1a \x01(\x08\x42\x02\x18\x01R\x0bignoreEmptyB\x06\n\x04type\"C\n\x15PredefinedConstraints\x12*\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\"\xea\x17\n\nFloatRules\x12p\n\x05\x63onst\x18\x01 \x01(\x02\x42Z\xc2HW\nU\n\x0b\x66loat.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa3\x01\n\x02lt\x18\x02 \x01(\x02\x42\x90\x01\xc2H\x8c\x01\n\x89\x01\n\x08\x66loat.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(\x02\x42\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\x07\n\x02gt\x18\x04 \x01(\x02\x42\xe0\x07\xc2H\xdc\x07\n\x8d\x01\n\x08\x66loat.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\x0b\x66loat.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\x15\x66loat.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\x0c\x66loat.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\x16\x66loat.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\x08\n\x03gte\x18\x05 \x01(\x02\x42\xaa\x08\xc2H\xa6\x08\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\x0c\x66loat.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\x16\x66loat.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\x17\x66loat.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\x12y\n\x02in\x18\x06 \x03(\x02\x42i\xc2Hf\nd\n\x08\x66loat.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x02\x42\x66\xc2Hc\na\n\x0c\x66loat.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12}\n\x06\x66inite\x18\x08 \x01(\x08\x42\x65\xc2Hb\n`\n\x0c\x66loat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x34\n\x07\x65xample\x18\t \x03(\x02\x42\x1a\xc2H\x17\n\x15\n\rfloat.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xfc\x17\n\x0b\x44oubleRules\x12q\n\x05\x63onst\x18\x01 \x01(\x01\x42[\xc2HX\nV\n\x0c\x64ouble.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa4\x01\n\x02lt\x18\x02 \x01(\x01\x42\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(\x01\x42\xa0\x01\xc2H\x9c\x01\n\x99\x01\n\ndouble.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\x07\n\x02gt\x18\x04 \x01(\x01\x42\xe5\x07\xc2H\xe1\x07\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\x0c\x64ouble.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\x16\x64ouble.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\x17\x64ouble.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\x08\n\x03gte\x18\x05 \x01(\x01\x42\xaf\x08\xc2H\xab\x08\n\x9c\x01\n\ndouble.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\x17\x64ouble.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\x0e\x64ouble.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\x18\x64ouble.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\x12z\n\x02in\x18\x06 \x03(\x01\x42j\xc2Hg\ne\n\tdouble.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x01\x42g\xc2Hd\nb\n\rdouble.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12~\n\x06\x66inite\x18\x08 \x01(\x08\x42\x66\xc2Hc\na\n\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x35\n\x07\x65xample\x18\t \x03(\x01\x42\x1b\xc2H\x18\n\x16\n\x0e\x64ouble.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt32Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x05\x42Z\xc2HW\nU\n\x0bint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x05\x42|\xc2Hy\nw\n\x08int32.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(\x05\x42\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\x07\n\x02gt\x18\x04 \x01(\x05\x42\x88\x07\xc2H\x84\x07\nz\n\x08int32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint32.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\x0cint32.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\x07\n\x03gte\x18\x05 \x01(\x05\x42\xd3\x07\xc2H\xcf\x07\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\x0cint32.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\x12y\n\x02in\x18\x06 \x03(\x05\x42i\xc2Hf\nd\n\x08int32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x05\x42\x66\xc2Hc\na\n\x0cint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\x08 \x03(\x05\x42\x1a\xc2H\x17\n\x15\n\rint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt64Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x03\x42Z\xc2HW\nU\n\x0bint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x03\x42|\xc2Hy\nw\n\x08int64.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(\x03\x42\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\x07\n\x02gt\x18\x04 \x01(\x03\x42\x88\x07\xc2H\x84\x07\nz\n\x08int64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint64.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\x0cint64.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\x07\n\x03gte\x18\x05 \x01(\x03\x42\xd3\x07\xc2H\xcf\x07\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\x0cint64.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\x12y\n\x02in\x18\x06 \x03(\x03\x42i\xc2Hf\nd\n\x08int64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x03\x42\x66\xc2Hc\na\n\x0cint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\t \x03(\x03\x42\x1a\xc2H\x17\n\x15\n\rint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\rB[\xc2HX\nV\n\x0cuint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\rB}\xc2Hz\nx\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\nuint32.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\x07\n\x02gt\x18\x04 \x01(\rB\x8d\x07\xc2H\x89\x07\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\x0cuint32.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\x07\n\x03gte\x18\x05 \x01(\rB\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint32.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\x12z\n\x02in\x18\x06 \x03(\rBj\xc2Hg\ne\n\tuint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\rBg\xc2Hd\nb\n\ruint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\rB\x1b\xc2H\x18\n\x16\n\x0euint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x04\x42[\xc2HX\nV\n\x0cuint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x04\x42}\xc2Hz\nx\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(\x04\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint64.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\x07\n\x02gt\x18\x04 \x01(\x04\x42\x8d\x07\xc2H\x89\x07\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\x0cuint64.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\x07\n\x03gte\x18\x05 \x01(\x04\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint64.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\x12z\n\x02in\x18\x06 \x03(\x04\x42j\xc2Hg\ne\n\tuint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x04\x42g\xc2Hd\nb\n\ruint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x04\x42\x1b\xc2H\x18\n\x16\n\x0euint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x11\x42[\xc2HX\nV\n\x0csint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x11\x42}\xc2Hz\nx\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(\x11\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint32.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\x07\n\x02gt\x18\x04 \x01(\x11\x42\x8d\x07\xc2H\x89\x07\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\x0csint32.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\x07\n\x03gte\x18\x05 \x01(\x11\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint32.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\x12z\n\x02in\x18\x06 \x03(\x11\x42j\xc2Hg\ne\n\tsint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x11\x42g\xc2Hd\nb\n\rsint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x11\x42\x1b\xc2H\x18\n\x16\n\x0esint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x12\x42[\xc2HX\nV\n\x0csint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x12\x42}\xc2Hz\nx\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(\x12\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint64.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\x07\n\x02gt\x18\x04 \x01(\x12\x42\x8d\x07\xc2H\x89\x07\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\x0csint64.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\x07\n\x03gte\x18\x05 \x01(\x12\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint64.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\x12z\n\x02in\x18\x06 \x03(\x12\x42j\xc2Hg\ne\n\tsint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x12\x42g\xc2Hd\nb\n\rsint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x12\x42\x1b\xc2H\x18\n\x16\n\x0esint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed32Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x07\x42\\\xc2HY\nW\n\rfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x07\x42~\xc2H{\ny\n\nfixed32.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(\x07\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed32.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\x07\n\x02gt\x18\x04 \x01(\x07\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed32.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\x17\x66ixed32.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\x0e\x66ixed32.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\x18\x66ixed32.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\x07\n\x03gte\x18\x05 \x01(\x07\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed32.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\x0e\x66ixed32.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\x18\x66ixed32.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\x0f\x66ixed32.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\x19\x66ixed32.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{\n\x02in\x18\x06 \x03(\x07\x42k\xc2Hh\nf\n\nfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x07\x42h\xc2He\nc\n\x0e\x66ixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x07\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed64Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x06\x42\\\xc2HY\nW\n\rfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x06\x42~\xc2H{\ny\n\nfixed64.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(\x06\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed64.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\x07\n\x02gt\x18\x04 \x01(\x06\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed64.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\x17\x66ixed64.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\x0e\x66ixed64.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\x18\x66ixed64.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\x07\n\x03gte\x18\x05 \x01(\x06\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed64.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\x0e\x66ixed64.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\x18\x66ixed64.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\x0f\x66ixed64.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\x19\x66ixed64.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{\n\x02in\x18\x06 \x03(\x06\x42k\xc2Hh\nf\n\nfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x06\x42h\xc2He\nc\n\x0e\x66ixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x06\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed32Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x0f\x42]\xc2HZ\nX\n\x0esfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x0f\x42\x7f\xc2H|\nz\n\x0bsfixed32.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(\x0f\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed32.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\x07\n\x02gt\x18\x04 \x01(\x0f\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed32.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\x07\n\x03gte\x18\x05 \x01(\x0f\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed32.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|\n\x02in\x18\x06 \x03(\x0f\x42l\xc2Hi\ng\n\x0bsfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x0f\x42i\xc2Hf\nd\n\x0fsfixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x0f\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed64Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x10\x42]\xc2HZ\nX\n\x0esfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x10\x42\x7f\xc2H|\nz\n\x0bsfixed64.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(\x10\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed64.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\x07\n\x02gt\x18\x04 \x01(\x10\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed64.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\x07\n\x03gte\x18\x05 \x01(\x10\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed64.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|\n\x02in\x18\x06 \x03(\x10\x42l\xc2Hi\ng\n\x0bsfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x10\x42i\xc2Hf\nd\n\x0fsfixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x10\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xbc\x01\n\tBoolRules\x12o\n\x05\x63onst\x18\x01 \x01(\x08\x42Y\xc2HV\nT\n\nbool.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x33\n\x07\x65xample\x18\x02 \x03(\x08\x42\x19\xc2H\x16\n\x14\n\x0c\x62ool.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa1\x39\n\x0bStringRules\x12s\n\x05\x63onst\x18\x01 \x01(\tB]\xc2HZ\nX\n\x0cstring.const\x1aHthis != rules.const ? \'value must equal `%s`\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x83\x01\n\x03len\x18\x13 \x01(\x04\x42q\xc2Hn\nl\n\nstring.len\x1a^uint(this.size()) != rules.len ? \'value length must be %s characters\'.format([rules.len]) : \'\'R\x03len\x12\xa1\x01\n\x07min_len\x18\x02 \x01(\x04\x42\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\x07max_len\x18\x03 \x01(\x04\x42\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(\x04\x42\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\x08lenBytes\x12\xad\x01\n\tmin_bytes\x18\x04 \x01(\x04\x42\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\x08minBytes\x12\xac\x01\n\tmax_bytes\x18\x05 \x01(\x04\x42\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\x08maxBytes\x12\x96\x01\n\x07pattern\x18\x06 \x01(\tB|\xc2Hy\nw\n\x0estring.pattern\x1a\x65!this.matches(rules.pattern) ? \'value does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x8c\x01\n\x06prefix\x18\x07 \x01(\tBt\xc2Hq\no\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\x08 \x01(\tBr\xc2Ho\nm\n\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? \'value does not have suffix `%s`\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x9a\x01\n\x08\x63ontains\x18\t \x01(\tB~\xc2H{\ny\n\x0fstring.contains\x1a\x66!this.contains(rules.contains) ? \'value does not contain substring `%s`\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\xa5\x01\n\x0cnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n|\n\x13string.not_contains\x1a\x65this.contains(rules.not_contains) ? \'value contains substring `%s`\'.format([rules.not_contains]) : \'\'R\x0bnotContains\x12z\n\x02in\x18\n \x03(\tBj\xc2Hg\ne\n\tstring.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x0b \x03(\tBg\xc2Hd\nb\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\x05\x65mail\x18\x0c \x01(\x08\x42\xcd\x01\xc2H\xc9\x01\na\n\x0cstring.email\x12#value must be a valid email address\x1a,!rules.email || this == \'\' || this.isEmail()\nd\n\x12string.email_empty\x12\x32value is empty, which is not a valid email address\x1a\x1a!rules.email || this != \'\'H\x00R\x05\x65mail\x12\xf1\x01\n\x08hostname\x18\r \x01(\x08\x42\xd2\x01\xc2H\xce\x01\ne\n\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a\x32!rules.hostname || this == \'\' || this.isHostname()\ne\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != \'\'H\x00R\x08hostname\x12\xcb\x01\n\x02ip\x18\x0e \x01(\x08\x42\xb8\x01\xc2H\xb4\x01\nU\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(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv4\x12\"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\x11string.ipv4_empty\x12\x31value 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(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv6\x12\"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\x11string.ipv6_empty\x12\x31value 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(\x08\x42\xaf\x01\xc2H\xab\x01\nQ\n\nstring.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == \'\' || this.isUri()\nV\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != \'\'H\x00R\x03uri\x12n\n\x07uri_ref\x18\x12 \x01(\x08\x42S\xc2HP\nN\n\x0estring.uri_ref\x12\x19value must be a valid URI\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x99\x02\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08\x42\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()\nr\n\x14string.address_empty\x12!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\x92\x01\n string.ipv4_with_prefixlen_empty\x12\x44value 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(\x08\x42\xaf\x02\xc2H\xab\x02\n\x93\x01\n\x1astring.ipv6_with_prefixlen\x12\x35value 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\x12\x44value 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(\x08\x42\xdc\x01\xc2H\xd8\x01\nl\n\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a\x37!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != \'\'H\x00R\x08ipPrefix\x12\x8f\x02\n\x0bipv4_prefix\x18\x1e \x01(\x08\x42\xeb\x01\xc2H\xe7\x01\nu\n\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\x1astring.host_and_port_empty\x12\x37value is empty, which is not a valid host and port pair\x1a\"!rules.host_and_port || this != \'\'H\x00R\x0bhostAndPort\x12\xb8\x05\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\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\x12\x35value 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(\x08R\x06strict\x12\x35\n\x07\x65xample\x18\" \x03(\tB\x1b\xc2H\x18\n\x16\n\x0estring.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xa3\x11\n\nBytesRules\x12m\n\x05\x63onst\x18\x01 \x01(\x0c\x42W\xc2HT\nR\n\x0b\x62ytes.const\x1a\x43this != rules.const ? \'value must be %x\'.format([rules.const]) : \'\'R\x05\x63onst\x12}\n\x03len\x18\r \x01(\x04\x42k\xc2Hh\nf\n\tbytes.len\x1aYuint(this.size()) != rules.len ? \'value length must be %s bytes\'.format([rules.len]) : \'\'R\x03len\x12\x98\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x7f\xc2H|\nz\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\x07max_len\x18\x03 \x01(\x04\x42w\xc2Ht\nr\n\rbytes.max_len\x1a\x61uint(this.size()) > rules.max_len ? \'value must be at most %s bytes\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\x99\x01\n\x07pattern\x18\x04 \x01(\tB\x7f\xc2H|\nz\n\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? \'value must match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x89\x01\n\x06prefix\x18\x05 \x01(\x0c\x42q\xc2Hn\nl\n\x0c\x62ytes.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(\x0c\x42o\xc2Hl\nj\n\x0c\x62ytes.suffix\x1aZ!this.endsWith(rules.suffix) ? \'value does not have suffix %x\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x8d\x01\n\x08\x63ontains\x18\x07 \x01(\x0c\x42q\xc2Hn\nl\n\x0e\x62ytes.contains\x1aZ!this.contains(rules.contains) ? \'value does not contain %x\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\x9b\x01\n\x02in\x18\x08 \x03(\x0c\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x08\x62ytes.in\x1awdyn(rules)[\'in\'].size() > 0 && !(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\t \x03(\x0c\x42\x66\xc2Hc\na\n\x0c\x62ytes.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(\x08\x42\xdc\x01\xc2H\xd8\x01\nt\n\x08\x62ytes.ip\x12 value must be a valid IP address\x1a\x46!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\x0e\x62ytes.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\x0b \x01(\x08\x42\xd3\x01\xc2H\xcf\x01\ne\n\nbytes.ipv4\x12\"value must be a valid IPv4 address\x1a\x33!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\x10\x62ytes.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xeb\x01\n\x04ipv6\x18\x0c \x01(\x08\x42\xd4\x01\xc2H\xd0\x01\nf\n\nbytes.ipv6\x12\"value must be a valid IPv6 address\x1a\x34!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\x10\x62ytes.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x12\x34\n\x07\x65xample\x18\x0e \x03(\x0c\x42\x1a\xc2H\x17\n\x15\n\rbytes.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xd7\x03\n\tEnumRules\x12o\n\x05\x63onst\x18\x01 \x01(\x05\x42Y\xc2HV\nT\n\nenum.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12x\n\x02in\x18\x03 \x03(\x05\x42h\xc2He\nc\n\x07\x65num.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12|\n\x06not_in\x18\x04 \x03(\x05\x42\x65\xc2Hb\n`\n\x0b\x65num.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x33\n\x07\x65xample\x18\x05 \x03(\x05\x42\x19\xc2H\x16\n\x14\n\x0c\x65num.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa4\x04\n\rRepeatedRules\x12\xa8\x01\n\tmin_items\x18\x01 \x01(\x04\x42\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\x08minItems\x12\xac\x01\n\tmax_items\x18\x02 \x01(\x04\x42\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\x08maxItems\x12x\n\x06unique\x18\x03 \x01(\x08\x42`\xc2H]\n[\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12\x34\n\x05items\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xb8\x03\n\x08MapRules\x12\x99\x01\n\tmin_pairs\x18\x01 \x01(\x04\x42|\xc2Hy\nw\n\rmap.min_pairs\x1a\x66uint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'R\x08minPairs\x12\x98\x01\n\tmax_pairs\x18\x02 \x01(\x04\x42{\xc2Hx\nv\n\rmap.max_pairs\x1a\x65uint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'R\x08maxPairs\x12\x32\n\x04keys\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x04keys\x12\x36\n\x06values\x18\x05 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x06values*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"1\n\x08\x41nyRules\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xa2\x17\n\rDurationRules\x12\x8e\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB]\xc2HZ\nX\n\x0e\x64uration.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xac\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x7f\xc2H|\nz\n\x0b\x64uration.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(\x0b\x32\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0c\x64uration.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\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x97\x07\xc2H\x93\x07\n}\n\x0b\x64uration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0e\x64uration.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\x18\x64uration.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\x0f\x64uration.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\x19\x64uration.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\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0c\x64uration.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\x0f\x64uration.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\x19\x64uration.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\x10\x64uration.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\x1a\x64uration.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\x97\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBl\xc2Hi\ng\n\x0b\x64uration.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x9b\x01\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationBi\xc2Hf\nd\n\x0f\x64uration.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12R\n\x07\x65xample\x18\t \x03(\x0b\x32\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n\x18\n\x10\x64uration.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb0\x18\n\x0eTimestampRules\x12\x90\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB^\xc2H[\nY\n\x0ftimestamp.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xaf\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n{\n\x0ctimestamp.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(\x0b\x32\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\x07 \x01(\x08\x42Z\xc2HW\nU\n\x10timestamp.lt_now\x1a\x41(rules.lt_now && this > now) ? \'value must be less than now\' : \'\'H\x00R\x05ltNow\x12\xcb\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x9c\x07\xc2H\x98\x07\n~\n\x0ctimestamp.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\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xe7\x07\xc2H\xe3\x07\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\x08 \x01(\x08\x42]\xc2HZ\nX\n\x10timestamp.gt_now\x1a\x44(rules.gt_now && this < now) ? \'value must be greater than now\' : \'\'H\x01R\x05gtNow\x12\xc0\x01\n\x06within\x18\t \x01(\x0b\x32\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\x07\x65xample\x18\n \x03(\x0b\x32\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n\x19\n\x11timestamp.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"E\n\nViolations\x12\x37\n\nviolations\x18\x01 \x03(\x0b\x32\x17.buf.validate.ViolationR\nviolations\"\x82\x01\n\tViolation\x12\x1d\n\nfield_path\x18\x01 \x01(\tR\tfieldPath\x12#\n\rconstraint_id\x18\x02 \x01(\tR\x0c\x63onstraintId\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x17\n\x07\x66or_key\x18\x04 \x01(\x08R\x06\x66orKey*\x9d\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\x12\x14\n\x0cIGNORE_EMPTY\x10\x01\x1a\x02\x08\x01\x12\x16\n\x0eIGNORE_DEFAULT\x10\x02\x1a\x02\x08\x01\x1a\x02\x10\x01*n\n\nKnownRegex\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:\\\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32 .buf.validate.MessageConstraintsR\x07message:T\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.OneofConstraintsR\x05oneof:T\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05\x66ield:c\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32#.buf.validate.PredefinedConstraintsR\npredefinedBn\n\x12\x62uild.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x62uf/validate/validate.proto\x12\x0c\x62uf.validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"V\n\nConstraint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12\x1e\n\nexpression\x18\x03 \x01(\tR\nexpression\"\\\n\x12MessageConstraints\x12\x1a\n\x08\x64isabled\x18\x01 \x01(\x08R\x08\x64isabled\x12*\n\x03\x63\x65l\x18\x03 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\".\n\x10OneofConstraints\x12\x1a\n\x08required\x18\x01 \x01(\x08R\x08required\"\xab\n\n\x10\x46ieldConstraints\x12*\n\x03\x63\x65l\x18\x17 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\x12\x1a\n\x08required\x18\x19 \x01(\x08R\x08required\x12,\n\x06ignore\x18\x1b \x01(\x0e\x32\x14.buf.validate.IgnoreR\x06ignore\x12\x30\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x18.buf.validate.FloatRulesH\x00R\x05\x66loat\x12\x33\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x19.buf.validate.DoubleRulesH\x00R\x06\x64ouble\x12\x30\n\x05int32\x18\x03 \x01(\x0b\x32\x18.buf.validate.Int32RulesH\x00R\x05int32\x12\x30\n\x05int64\x18\x04 \x01(\x0b\x32\x18.buf.validate.Int64RulesH\x00R\x05int64\x12\x33\n\x06uint32\x18\x05 \x01(\x0b\x32\x19.buf.validate.UInt32RulesH\x00R\x06uint32\x12\x33\n\x06uint64\x18\x06 \x01(\x0b\x32\x19.buf.validate.UInt64RulesH\x00R\x06uint64\x12\x33\n\x06sint32\x18\x07 \x01(\x0b\x32\x19.buf.validate.SInt32RulesH\x00R\x06sint32\x12\x33\n\x06sint64\x18\x08 \x01(\x0b\x32\x19.buf.validate.SInt64RulesH\x00R\x06sint64\x12\x36\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x1a.buf.validate.Fixed32RulesH\x00R\x07\x66ixed32\x12\x36\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x1a.buf.validate.Fixed64RulesH\x00R\x07\x66ixed64\x12\x39\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x1b.buf.validate.SFixed32RulesH\x00R\x08sfixed32\x12\x39\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x1b.buf.validate.SFixed64RulesH\x00R\x08sfixed64\x12-\n\x04\x62ool\x18\r \x01(\x0b\x32\x17.buf.validate.BoolRulesH\x00R\x04\x62ool\x12\x33\n\x06string\x18\x0e \x01(\x0b\x32\x19.buf.validate.StringRulesH\x00R\x06string\x12\x30\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x18.buf.validate.BytesRulesH\x00R\x05\x62ytes\x12-\n\x04\x65num\x18\x10 \x01(\x0b\x32\x17.buf.validate.EnumRulesH\x00R\x04\x65num\x12\x39\n\x08repeated\x18\x12 \x01(\x0b\x32\x1b.buf.validate.RepeatedRulesH\x00R\x08repeated\x12*\n\x03map\x18\x13 \x01(\x0b\x32\x16.buf.validate.MapRulesH\x00R\x03map\x12*\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x16.buf.validate.AnyRulesH\x00R\x03\x61ny\x12\x39\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x1b.buf.validate.DurationRulesH\x00R\x08\x64uration\x12<\n\ttimestamp\x18\x16 \x01(\x0b\x32\x1c.buf.validate.TimestampRulesH\x00R\ttimestamp\x12\x1c\n\x07skipped\x18\x18 \x01(\x08\x42\x02\x18\x01R\x07skipped\x12%\n\x0cignore_empty\x18\x1a \x01(\x08\x42\x02\x18\x01R\x0bignoreEmptyB\x06\n\x04type\"C\n\x15PredefinedConstraints\x12*\n\x03\x63\x65l\x18\x01 \x03(\x0b\x32\x18.buf.validate.ConstraintR\x03\x63\x65l\"\xea\x17\n\nFloatRules\x12p\n\x05\x63onst\x18\x01 \x01(\x02\x42Z\xc2HW\nU\n\x0b\x66loat.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa3\x01\n\x02lt\x18\x02 \x01(\x02\x42\x90\x01\xc2H\x8c\x01\n\x89\x01\n\x08\x66loat.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(\x02\x42\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\x07\n\x02gt\x18\x04 \x01(\x02\x42\xe0\x07\xc2H\xdc\x07\n\x8d\x01\n\x08\x66loat.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\x0b\x66loat.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\x15\x66loat.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\x0c\x66loat.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\x16\x66loat.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\x08\n\x03gte\x18\x05 \x01(\x02\x42\xaa\x08\xc2H\xa6\x08\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\x0c\x66loat.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\x16\x66loat.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\x17\x66loat.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\x12y\n\x02in\x18\x06 \x03(\x02\x42i\xc2Hf\nd\n\x08\x66loat.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x02\x42\x66\xc2Hc\na\n\x0c\x66loat.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12}\n\x06\x66inite\x18\x08 \x01(\x08\x42\x65\xc2Hb\n`\n\x0c\x66loat.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x34\n\x07\x65xample\x18\t \x03(\x02\x42\x1a\xc2H\x17\n\x15\n\rfloat.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xfc\x17\n\x0b\x44oubleRules\x12q\n\x05\x63onst\x18\x01 \x01(\x01\x42[\xc2HX\nV\n\x0c\x64ouble.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xa4\x01\n\x02lt\x18\x02 \x01(\x01\x42\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(\x01\x42\xa0\x01\xc2H\x9c\x01\n\x99\x01\n\ndouble.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\x07\n\x02gt\x18\x04 \x01(\x01\x42\xe5\x07\xc2H\xe1\x07\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\x0c\x64ouble.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\x16\x64ouble.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\x17\x64ouble.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\x08\n\x03gte\x18\x05 \x01(\x01\x42\xaf\x08\xc2H\xab\x08\n\x9c\x01\n\ndouble.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\x17\x64ouble.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\x0e\x64ouble.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\x18\x64ouble.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\x12z\n\x02in\x18\x06 \x03(\x01\x42j\xc2Hg\ne\n\tdouble.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x01\x42g\xc2Hd\nb\n\rdouble.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12~\n\x06\x66inite\x18\x08 \x01(\x08\x42\x66\xc2Hc\na\n\rdouble.finite\x1aPrules.finite ? (this.isNan() || this.isInf() ? \'value must be finite\' : \'\') : \'\'R\x06\x66inite\x12\x35\n\x07\x65xample\x18\t \x03(\x01\x42\x1b\xc2H\x18\n\x16\n\x0e\x64ouble.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt32Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x05\x42Z\xc2HW\nU\n\x0bint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x05\x42|\xc2Hy\nw\n\x08int32.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(\x05\x42\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\x07\n\x02gt\x18\x04 \x01(\x05\x42\x88\x07\xc2H\x84\x07\nz\n\x08int32.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint32.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\x0cint32.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\x07\n\x03gte\x18\x05 \x01(\x05\x42\xd3\x07\xc2H\xcf\x07\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\x0cint32.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\x12y\n\x02in\x18\x06 \x03(\x05\x42i\xc2Hf\nd\n\x08int32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x05\x42\x66\xc2Hc\na\n\x0cint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\x08 \x03(\x05\x42\x1a\xc2H\x17\n\x15\n\rint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\x94\x15\n\nInt64Rules\x12p\n\x05\x63onst\x18\x01 \x01(\x03\x42Z\xc2HW\nU\n\x0bint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8e\x01\n\x02lt\x18\x02 \x01(\x03\x42|\xc2Hy\nw\n\x08int64.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(\x03\x42\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\x07\n\x02gt\x18\x04 \x01(\x03\x42\x88\x07\xc2H\x84\x07\nz\n\x08int64.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb3\x01\n\x0bint64.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\x0cint64.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\x07\n\x03gte\x18\x05 \x01(\x03\x42\xd3\x07\xc2H\xcf\x07\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\x0cint64.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\x12y\n\x02in\x18\x06 \x03(\x03\x42i\xc2Hf\nd\n\x08int64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\x07 \x03(\x03\x42\x66\xc2Hc\na\n\x0cint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x34\n\x07\x65xample\x18\t \x03(\x03\x42\x1a\xc2H\x17\n\x15\n\rint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\rB[\xc2HX\nV\n\x0cuint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\rB}\xc2Hz\nx\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\nuint32.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\x07\n\x02gt\x18\x04 \x01(\rB\x8d\x07\xc2H\x89\x07\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\x0cuint32.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\x07\n\x03gte\x18\x05 \x01(\rB\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint32.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\x12z\n\x02in\x18\x06 \x03(\rBj\xc2Hg\ne\n\tuint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\rBg\xc2Hd\nb\n\ruint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\rB\x1b\xc2H\x18\n\x16\n\x0euint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bUInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x04\x42[\xc2HX\nV\n\x0cuint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x04\x42}\xc2Hz\nx\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(\x04\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nuint64.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\x07\n\x02gt\x18\x04 \x01(\x04\x42\x8d\x07\xc2H\x89\x07\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\x0cuint64.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\x07\n\x03gte\x18\x05 \x01(\x04\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nuint64.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\x12z\n\x02in\x18\x06 \x03(\x04\x42j\xc2Hg\ne\n\tuint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x04\x42g\xc2Hd\nb\n\ruint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x04\x42\x1b\xc2H\x18\n\x16\n\x0euint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt32Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x11\x42[\xc2HX\nV\n\x0csint32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x11\x42}\xc2Hz\nx\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(\x11\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint32.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\x07\n\x02gt\x18\x04 \x01(\x11\x42\x8d\x07\xc2H\x89\x07\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\x0csint32.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\x07\n\x03gte\x18\x05 \x01(\x11\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint32.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\x12z\n\x02in\x18\x06 \x03(\x11\x42j\xc2Hg\ne\n\tsint32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x11\x42g\xc2Hd\nb\n\rsint32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x11\x42\x1b\xc2H\x18\n\x16\n\x0esint32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xa5\x15\n\x0bSInt64Rules\x12q\n\x05\x63onst\x18\x01 \x01(\x12\x42[\xc2HX\nV\n\x0csint64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x8f\x01\n\x02lt\x18\x02 \x01(\x12\x42}\xc2Hz\nx\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(\x12\x42\x8d\x01\xc2H\x89\x01\n\x86\x01\n\nsint64.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\x07\n\x02gt\x18\x04 \x01(\x12\x42\x8d\x07\xc2H\x89\x07\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\x0csint64.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\x07\n\x03gte\x18\x05 \x01(\x12\x42\xd8\x07\xc2H\xd4\x07\n\x89\x01\n\nsint64.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\x12z\n\x02in\x18\x06 \x03(\x12\x42j\xc2Hg\ne\n\tsint64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x07 \x03(\x12\x42g\xc2Hd\nb\n\rsint64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x35\n\x07\x65xample\x18\x08 \x03(\x12\x42\x1b\xc2H\x18\n\x16\n\x0esint64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed32Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x07\x42\\\xc2HY\nW\n\rfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x07\x42~\xc2H{\ny\n\nfixed32.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(\x07\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed32.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\x07\n\x02gt\x18\x04 \x01(\x07\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed32.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\x17\x66ixed32.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\x0e\x66ixed32.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\x18\x66ixed32.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\x07\n\x03gte\x18\x05 \x01(\x07\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed32.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\x0e\x66ixed32.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\x18\x66ixed32.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\x0f\x66ixed32.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\x19\x66ixed32.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{\n\x02in\x18\x06 \x03(\x07\x42k\xc2Hh\nf\n\nfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x07\x42h\xc2He\nc\n\x0e\x66ixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x07\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb6\x15\n\x0c\x46ixed64Rules\x12r\n\x05\x63onst\x18\x01 \x01(\x06\x42\\\xc2HY\nW\n\rfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x90\x01\n\x02lt\x18\x02 \x01(\x06\x42~\xc2H{\ny\n\nfixed64.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(\x06\x42\x8e\x01\xc2H\x8a\x01\n\x87\x01\n\x0b\x66ixed64.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\x07\n\x02gt\x18\x04 \x01(\x06\x42\x92\x07\xc2H\x8e\x07\n|\n\nfixed64.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\x17\x66ixed64.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\x0e\x66ixed64.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\x18\x66ixed64.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\x07\n\x03gte\x18\x05 \x01(\x06\x42\xdd\x07\xc2H\xd9\x07\n\x8a\x01\n\x0b\x66ixed64.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\x0e\x66ixed64.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\x18\x66ixed64.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\x0f\x66ixed64.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\x19\x66ixed64.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{\n\x02in\x18\x06 \x03(\x06\x42k\xc2Hh\nf\n\nfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x7f\n\x06not_in\x18\x07 \x03(\x06\x42h\xc2He\nc\n\x0e\x66ixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x36\n\x07\x65xample\x18\x08 \x03(\x06\x42\x1c\xc2H\x19\n\x17\n\x0f\x66ixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed32Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x0f\x42]\xc2HZ\nX\n\x0esfixed32.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x0f\x42\x7f\xc2H|\nz\n\x0bsfixed32.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(\x0f\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed32.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\x07\n\x02gt\x18\x04 \x01(\x0f\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed32.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\x07\n\x03gte\x18\x05 \x01(\x0f\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed32.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|\n\x02in\x18\x06 \x03(\x0f\x42l\xc2Hi\ng\n\x0bsfixed32.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x0f\x42i\xc2Hf\nd\n\x0fsfixed32.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x0f\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed32.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xc8\x15\n\rSFixed64Rules\x12s\n\x05\x63onst\x18\x01 \x01(\x10\x42]\xc2HZ\nX\n\x0esfixed64.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x91\x01\n\x02lt\x18\x02 \x01(\x10\x42\x7f\xc2H|\nz\n\x0bsfixed64.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(\x10\x42\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0csfixed64.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\x07\n\x02gt\x18\x04 \x01(\x10\x42\x97\x07\xc2H\x93\x07\n}\n\x0bsfixed64.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\x07\n\x03gte\x18\x05 \x01(\x10\x42\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0csfixed64.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|\n\x02in\x18\x06 \x03(\x10\x42l\xc2Hi\ng\n\x0bsfixed64.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x80\x01\n\x06not_in\x18\x07 \x03(\x10\x42i\xc2Hf\nd\n\x0fsfixed64.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x37\n\x07\x65xample\x18\x08 \x03(\x10\x42\x1d\xc2H\x1a\n\x18\n\x10sfixed64.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xbc\x01\n\tBoolRules\x12o\n\x05\x63onst\x18\x01 \x01(\x08\x42Y\xc2HV\nT\n\nbool.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x33\n\x07\x65xample\x18\x02 \x03(\x08\x42\x19\xc2H\x16\n\x14\n\x0c\x62ool.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa1\x39\n\x0bStringRules\x12s\n\x05\x63onst\x18\x01 \x01(\tB]\xc2HZ\nX\n\x0cstring.const\x1aHthis != rules.const ? \'value must equal `%s`\'.format([rules.const]) : \'\'R\x05\x63onst\x12\x83\x01\n\x03len\x18\x13 \x01(\x04\x42q\xc2Hn\nl\n\nstring.len\x1a^uint(this.size()) != rules.len ? \'value length must be %s characters\'.format([rules.len]) : \'\'R\x03len\x12\xa1\x01\n\x07min_len\x18\x02 \x01(\x04\x42\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\x07max_len\x18\x03 \x01(\x04\x42\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(\x04\x42\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\x08lenBytes\x12\xad\x01\n\tmin_bytes\x18\x04 \x01(\x04\x42\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\x08minBytes\x12\xac\x01\n\tmax_bytes\x18\x05 \x01(\x04\x42\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\x08maxBytes\x12\x96\x01\n\x07pattern\x18\x06 \x01(\tB|\xc2Hy\nw\n\x0estring.pattern\x1a\x65!this.matches(rules.pattern) ? \'value does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x8c\x01\n\x06prefix\x18\x07 \x01(\tBt\xc2Hq\no\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\x08 \x01(\tBr\xc2Ho\nm\n\rstring.suffix\x1a\\!this.endsWith(rules.suffix) ? \'value does not have suffix `%s`\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x9a\x01\n\x08\x63ontains\x18\t \x01(\tB~\xc2H{\ny\n\x0fstring.contains\x1a\x66!this.contains(rules.contains) ? \'value does not contain substring `%s`\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\xa5\x01\n\x0cnot_contains\x18\x17 \x01(\tB\x81\x01\xc2H~\n|\n\x13string.not_contains\x1a\x65this.contains(rules.not_contains) ? \'value contains substring `%s`\'.format([rules.not_contains]) : \'\'R\x0bnotContains\x12z\n\x02in\x18\n \x03(\tBj\xc2Hg\ne\n\tstring.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12~\n\x06not_in\x18\x0b \x03(\tBg\xc2Hd\nb\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\x05\x65mail\x18\x0c \x01(\x08\x42\xcd\x01\xc2H\xc9\x01\na\n\x0cstring.email\x12#value must be a valid email address\x1a,!rules.email || this == \'\' || this.isEmail()\nd\n\x12string.email_empty\x12\x32value is empty, which is not a valid email address\x1a\x1a!rules.email || this != \'\'H\x00R\x05\x65mail\x12\xf1\x01\n\x08hostname\x18\r \x01(\x08\x42\xd2\x01\xc2H\xce\x01\ne\n\x0fstring.hostname\x12\x1evalue must be a valid hostname\x1a\x32!rules.hostname || this == \'\' || this.isHostname()\ne\n\x15string.hostname_empty\x12-value is empty, which is not a valid hostname\x1a\x1d!rules.hostname || this != \'\'H\x00R\x08hostname\x12\xcb\x01\n\x02ip\x18\x0e \x01(\x08\x42\xb8\x01\xc2H\xb4\x01\nU\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(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv4\x12\"value must be a valid IPv4 address\x1a)!rules.ipv4 || this == \'\' || this.isIp(4)\na\n\x11string.ipv4_empty\x12\x31value 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(\x08\x42\xc5\x01\xc2H\xc1\x01\n\\\n\x0bstring.ipv6\x12\"value must be a valid IPv6 address\x1a)!rules.ipv6 || this == \'\' || this.isIp(6)\na\n\x11string.ipv6_empty\x12\x31value 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(\x08\x42\xaf\x01\xc2H\xab\x01\nQ\n\nstring.uri\x12\x19value must be a valid URI\x1a(!rules.uri || this == \'\' || this.isUri()\nV\n\x10string.uri_empty\x12(value is empty, which is not a valid URI\x1a\x18!rules.uri || this != \'\'H\x00R\x03uri\x12n\n\x07uri_ref\x18\x12 \x01(\x08\x42S\xc2HP\nN\n\x0estring.uri_ref\x12\x19value must be a valid URI\x1a!!rules.uri_ref || this.isUriRef()H\x00R\x06uriRef\x12\x99\x02\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08\x42\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()\nr\n\x14string.address_empty\x12!rules.ipv4_with_prefixlen || this == \'\' || this.isIpPrefix(4)\n\x92\x01\n string.ipv4_with_prefixlen_empty\x12\x44value 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(\x08\x42\xaf\x02\xc2H\xab\x02\n\x93\x01\n\x1astring.ipv6_with_prefixlen\x12\x35value 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\x12\x44value 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(\x08\x42\xdc\x01\xc2H\xd8\x01\nl\n\x10string.ip_prefix\x12\x1fvalue must be a valid IP prefix\x1a\x37!rules.ip_prefix || this == \'\' || this.isIpPrefix(true)\nh\n\x16string.ip_prefix_empty\x12.value is empty, which is not a valid IP prefix\x1a\x1e!rules.ip_prefix || this != \'\'H\x00R\x08ipPrefix\x12\x8f\x02\n\x0bipv4_prefix\x18\x1e \x01(\x08\x42\xeb\x01\xc2H\xe7\x01\nu\n\x12string.ipv4_prefix\x12!value must be a valid IPv4 prefix\x1a!rules.host_and_port || this == \'\' || this.isHostAndPort(true)\ny\n\x1astring.host_and_port_empty\x12\x37value is empty, which is not a valid host and port pair\x1a\"!rules.host_and_port || this != \'\'H\x00R\x0bhostAndPort\x12\xb8\x05\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\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\x12\x35value 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(\x08R\x06strict\x12\x35\n\x07\x65xample\x18\" \x03(\tB\x1b\xc2H\x18\n\x16\n\x0estring.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xa3\x11\n\nBytesRules\x12m\n\x05\x63onst\x18\x01 \x01(\x0c\x42W\xc2HT\nR\n\x0b\x62ytes.const\x1a\x43this != rules.const ? \'value must be %x\'.format([rules.const]) : \'\'R\x05\x63onst\x12}\n\x03len\x18\r \x01(\x04\x42k\xc2Hh\nf\n\tbytes.len\x1aYuint(this.size()) != rules.len ? \'value length must be %s bytes\'.format([rules.len]) : \'\'R\x03len\x12\x98\x01\n\x07min_len\x18\x02 \x01(\x04\x42\x7f\xc2H|\nz\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\x07max_len\x18\x03 \x01(\x04\x42w\xc2Ht\nr\n\rbytes.max_len\x1a\x61uint(this.size()) > rules.max_len ? \'value must be at most %s bytes\'.format([rules.max_len]) : \'\'R\x06maxLen\x12\x99\x01\n\x07pattern\x18\x04 \x01(\tB\x7f\xc2H|\nz\n\rbytes.pattern\x1ai!string(this).matches(rules.pattern) ? \'value must match regex pattern `%s`\'.format([rules.pattern]) : \'\'R\x07pattern\x12\x89\x01\n\x06prefix\x18\x05 \x01(\x0c\x42q\xc2Hn\nl\n\x0c\x62ytes.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(\x0c\x42o\xc2Hl\nj\n\x0c\x62ytes.suffix\x1aZ!this.endsWith(rules.suffix) ? \'value does not have suffix %x\'.format([rules.suffix]) : \'\'R\x06suffix\x12\x8d\x01\n\x08\x63ontains\x18\x07 \x01(\x0c\x42q\xc2Hn\nl\n\x0e\x62ytes.contains\x1aZ!this.contains(rules.contains) ? \'value does not contain %x\'.format([rules.contains]) : \'\'R\x08\x63ontains\x12\x9b\x01\n\x02in\x18\x08 \x03(\x0c\x42\x8a\x01\xc2H\x86\x01\n\x83\x01\n\x08\x62ytes.in\x1awdyn(rules)[\'in\'].size() > 0 && !(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12}\n\x06not_in\x18\t \x03(\x0c\x42\x66\xc2Hc\na\n\x0c\x62ytes.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(\x08\x42\xdc\x01\xc2H\xd8\x01\nt\n\x08\x62ytes.ip\x12 value must be a valid IP address\x1a\x46!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16\n`\n\x0e\x62ytes.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\x0b \x01(\x08\x42\xd3\x01\xc2H\xcf\x01\ne\n\nbytes.ipv4\x12\"value must be a valid IPv4 address\x1a\x33!rules.ipv4 || this.size() == 0 || this.size() == 4\nf\n\x10\x62ytes.ipv4_empty\x12\x31value is empty, which is not a valid IPv4 address\x1a\x1f!rules.ipv4 || this.size() != 0H\x00R\x04ipv4\x12\xeb\x01\n\x04ipv6\x18\x0c \x01(\x08\x42\xd4\x01\xc2H\xd0\x01\nf\n\nbytes.ipv6\x12\"value must be a valid IPv6 address\x1a\x34!rules.ipv6 || this.size() == 0 || this.size() == 16\nf\n\x10\x62ytes.ipv6_empty\x12\x31value is empty, which is not a valid IPv6 address\x1a\x1f!rules.ipv6 || this.size() != 0H\x00R\x04ipv6\x12\x34\n\x07\x65xample\x18\x0e \x03(\x0c\x42\x1a\xc2H\x17\n\x15\n\rbytes.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0c\n\nwell_known\"\xd7\x03\n\tEnumRules\x12o\n\x05\x63onst\x18\x01 \x01(\x05\x42Y\xc2HV\nT\n\nenum.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12!\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08R\x0b\x64\x65\x66inedOnly\x12x\n\x02in\x18\x03 \x03(\x05\x42h\xc2He\nc\n\x07\x65num.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12|\n\x06not_in\x18\x04 \x03(\x05\x42\x65\xc2Hb\n`\n\x0b\x65num.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12\x33\n\x07\x65xample\x18\x05 \x03(\x05\x42\x19\xc2H\x16\n\x14\n\x0c\x65num.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xa4\x04\n\rRepeatedRules\x12\xa8\x01\n\tmin_items\x18\x01 \x01(\x04\x42\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\x08minItems\x12\xac\x01\n\tmax_items\x18\x02 \x01(\x04\x42\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\x08maxItems\x12x\n\x06unique\x18\x03 \x01(\x08\x42`\xc2H]\n[\n\x0frepeated.unique\x12(repeated value must contain unique items\x1a\x1e!rules.unique || this.unique()R\x06unique\x12\x34\n\x05items\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05items*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xb8\x03\n\x08MapRules\x12\x99\x01\n\tmin_pairs\x18\x01 \x01(\x04\x42|\xc2Hy\nw\n\rmap.min_pairs\x1a\x66uint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'R\x08minPairs\x12\x98\x01\n\tmax_pairs\x18\x02 \x01(\x04\x42{\xc2Hx\nv\n\rmap.max_pairs\x1a\x65uint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'R\x08maxPairs\x12\x32\n\x04keys\x18\x04 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x04keys\x12\x36\n\x06values\x18\x05 \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x06values*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"1\n\x08\x41nyRules\x12\x0e\n\x02in\x18\x02 \x03(\tR\x02in\x12\x15\n\x06not_in\x18\x03 \x03(\tR\x05notIn\"\xa2\x17\n\rDurationRules\x12\x8e\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB]\xc2HZ\nX\n\x0e\x64uration.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xac\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x7f\xc2H|\nz\n\x0b\x64uration.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(\x0b\x32\x19.google.protobuf.DurationB\x8f\x01\xc2H\x8b\x01\n\x88\x01\n\x0c\x64uration.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\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x97\x07\xc2H\x93\x07\n}\n\x0b\x64uration.gt\x1an!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\xb6\x01\n\x0e\x64uration.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\x18\x64uration.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\x0f\x64uration.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\x19\x64uration.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\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\xe2\x07\xc2H\xde\x07\n\x8b\x01\n\x0c\x64uration.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\x0f\x64uration.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\x19\x64uration.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\x10\x64uration.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\x1a\x64uration.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\x97\x01\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.DurationBl\xc2Hi\ng\n\x0b\x64uration.in\x1aX!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'R\x02in\x12\x9b\x01\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.DurationBi\xc2Hf\nd\n\x0f\x64uration.not_in\x1aQthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'R\x05notIn\x12R\n\x07\x65xample\x18\t \x03(\x0b\x32\x19.google.protobuf.DurationB\x1d\xc2H\x1a\n\x18\n\x10\x64uration.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"\xb0\x18\n\x0eTimestampRules\x12\x90\x01\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB^\xc2H[\nY\n\x0ftimestamp.const\x1a\x46this != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'R\x05\x63onst\x12\xaf\x01\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x80\x01\xc2H}\n{\n\x0ctimestamp.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(\x0b\x32\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\x07 \x01(\x08\x42Z\xc2HW\nU\n\x10timestamp.lt_now\x1a\x41(rules.lt_now && this > now) ? \'value must be less than now\' : \'\'H\x00R\x05ltNow\x12\xcb\x07\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x9c\x07\xc2H\x98\x07\n~\n\x0ctimestamp.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\x08\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xe7\x07\xc2H\xe3\x07\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\x08 \x01(\x08\x42]\xc2HZ\nX\n\x10timestamp.gt_now\x1a\x44(rules.gt_now && this < now) ? \'value must be greater than now\' : \'\'H\x01R\x05gtNow\x12\xc0\x01\n\x06within\x18\t \x01(\x0b\x32\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\x07\x65xample\x18\n \x03(\x0b\x32\x1a.google.protobuf.TimestampB\x1e\xc2H\x1b\n\x19\n\x11timestamp.example\x1a\x04trueR\x07\x65xample*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x42\x0b\n\tless_thanB\x0e\n\x0cgreater_than\"E\n\nViolations\x12\x37\n\nviolations\x18\x01 \x03(\x0b\x32\x17.buf.validate.ViolationR\nviolations\"\xe2\x01\n\tViolation\x12-\n\x05\x66ield\x18\x05 \x01(\x0b\x32\x17.buf.validate.FieldPathR\x05\x66ield\x12+\n\x04rule\x18\x06 \x01(\x0b\x32\x17.buf.validate.FieldPathR\x04rule\x12!\n\nfield_path\x18\x01 \x01(\tB\x02\x18\x01R\tfieldPath\x12#\n\rconstraint_id\x18\x02 \x01(\tR\x0c\x63onstraintId\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x17\n\x07\x66or_key\x18\x04 \x01(\x08R\x06\x66orKey\"G\n\tFieldPath\x12:\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x1e.buf.validate.FieldPathElementR\x08\x65lements\"\xcc\x03\n\x10\x46ieldPathElement\x12!\n\x0c\x66ield_number\x18\x01 \x01(\x05R\x0b\x66ieldNumber\x12\x1d\n\nfield_name\x18\x02 \x01(\tR\tfieldName\x12I\n\nfield_type\x18\x03 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\tfieldType\x12\x45\n\x08key_type\x18\x04 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\x07keyType\x12I\n\nvalue_type\x18\x05 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.TypeR\tvalueType\x12\x16\n\x05index\x18\x06 \x01(\x04H\x00R\x05index\x12\x1b\n\x08\x62ool_key\x18\x07 \x01(\x08H\x00R\x07\x62oolKey\x12\x19\n\x07int_key\x18\x08 \x01(\x03H\x00R\x06intKey\x12\x1b\n\x08uint_key\x18\t \x01(\x04H\x00R\x07uintKey\x12\x1f\n\nstring_key\x18\n \x01(\tH\x00R\tstringKeyB\x0b\n\tsubscript*\x9d\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\x12\x14\n\x0cIGNORE_EMPTY\x10\x01\x1a\x02\x08\x01\x12\x16\n\x0eIGNORE_DEFAULT\x10\x02\x1a\x02\x08\x01\x1a\x02\x10\x01*n\n\nKnownRegex\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:\\\n\x07message\x12\x1f.google.protobuf.MessageOptions\x18\x87\t \x01(\x0b\x32 .buf.validate.MessageConstraintsR\x07message:T\n\x05oneof\x12\x1d.google.protobuf.OneofOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.OneofConstraintsR\x05oneof:T\n\x05\x66ield\x12\x1d.google.protobuf.FieldOptions\x18\x87\t \x01(\x0b\x32\x1e.buf.validate.FieldConstraintsR\x05\x66ield:c\n\npredefined\x12\x1d.google.protobuf.FieldOptions\x18\x88\t \x01(\x0b\x32#.buf.validate.PredefinedConstraintsR\npredefinedBn\n\x12\x62uild.buf.validateB\rValidateProtoP\x01ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -385,10 +385,12 @@ _TIMESTAMPRULES.fields_by_name['within']._serialized_options = b'\302H\210\001\n\205\001\n\020timestamp.within\032qthis < now-rules.within || this > now+rules.within ? \'value must be within %s of now\'.format([rules.within]) : \'\'' _TIMESTAMPRULES.fields_by_name['example']._options = None _TIMESTAMPRULES.fields_by_name['example']._serialized_options = b'\302H\033\n\031\n\021timestamp.example\032\004true' - _globals['_IGNORE']._serialized_start=52808 - _globals['_IGNORE']._serialized_end=52965 - _globals['_KNOWNREGEX']._serialized_start=52967 - _globals['_KNOWNREGEX']._serialized_end=53077 + _VIOLATION.fields_by_name['field_path']._options = None + _VIOLATION.fields_by_name['field_path']._serialized_options = b'\030\001' + _globals['_IGNORE']._serialized_start=53440 + _globals['_IGNORE']._serialized_end=53597 + _globals['_KNOWNREGEX']._serialized_start=53599 + _globals['_KNOWNREGEX']._serialized_end=53709 _globals['_CONSTRAINT']._serialized_start=144 _globals['_CONSTRAINT']._serialized_end=230 _globals['_MESSAGECONSTRAINTS']._serialized_start=232 @@ -444,5 +446,9 @@ _globals['_VIOLATIONS']._serialized_start=52603 _globals['_VIOLATIONS']._serialized_end=52672 _globals['_VIOLATION']._serialized_start=52675 - _globals['_VIOLATION']._serialized_end=52805 + _globals['_VIOLATION']._serialized_end=52901 + _globals['_FIELDPATH']._serialized_start=52903 + _globals['_FIELDPATH']._serialized_end=52974 + _globals['_FIELDPATHELEMENT']._serialized_start=52977 + _globals['_FIELDPATHELEMENT']._serialized_end=53437 # @@protoc_insertion_point(module_scope) diff --git a/src/nebius/api/buf/validate/validate_pb2.pyi b/src/nebius/api/buf/validate/validate_pb2.pyi index 258c3e2d..cc6ed95e 100644 --- a/src/nebius/api/buf/validate/validate_pb2.pyi +++ b/src/nebius/api/buf/validate/validate_pb2.pyi @@ -582,13 +582,47 @@ class Violations(_message.Message): def __init__(self, violations: _Optional[_Iterable[_Union[Violation, _Mapping]]] = ...) -> None: ... class Violation(_message.Message): - __slots__ = ["field_path", "constraint_id", "message", "for_key"] + __slots__ = ["field", "rule", "field_path", "constraint_id", "message", "for_key"] + FIELD_FIELD_NUMBER: _ClassVar[int] + RULE_FIELD_NUMBER: _ClassVar[int] FIELD_PATH_FIELD_NUMBER: _ClassVar[int] CONSTRAINT_ID_FIELD_NUMBER: _ClassVar[int] MESSAGE_FIELD_NUMBER: _ClassVar[int] FOR_KEY_FIELD_NUMBER: _ClassVar[int] + field: FieldPath + rule: FieldPath field_path: str constraint_id: str message: str for_key: bool - def __init__(self, field_path: _Optional[str] = ..., constraint_id: _Optional[str] = ..., message: _Optional[str] = ..., for_key: bool = ...) -> None: ... + def __init__(self, field: _Optional[_Union[FieldPath, _Mapping]] = ..., rule: _Optional[_Union[FieldPath, _Mapping]] = ..., field_path: _Optional[str] = ..., constraint_id: _Optional[str] = ..., message: _Optional[str] = ..., for_key: bool = ...) -> None: ... + +class FieldPath(_message.Message): + __slots__ = ["elements"] + ELEMENTS_FIELD_NUMBER: _ClassVar[int] + elements: _containers.RepeatedCompositeFieldContainer[FieldPathElement] + def __init__(self, elements: _Optional[_Iterable[_Union[FieldPathElement, _Mapping]]] = ...) -> None: ... + +class FieldPathElement(_message.Message): + __slots__ = ["field_number", "field_name", "field_type", "key_type", "value_type", "index", "bool_key", "int_key", "uint_key", "string_key"] + FIELD_NUMBER_FIELD_NUMBER: _ClassVar[int] + FIELD_NAME_FIELD_NUMBER: _ClassVar[int] + FIELD_TYPE_FIELD_NUMBER: _ClassVar[int] + KEY_TYPE_FIELD_NUMBER: _ClassVar[int] + VALUE_TYPE_FIELD_NUMBER: _ClassVar[int] + INDEX_FIELD_NUMBER: _ClassVar[int] + BOOL_KEY_FIELD_NUMBER: _ClassVar[int] + INT_KEY_FIELD_NUMBER: _ClassVar[int] + UINT_KEY_FIELD_NUMBER: _ClassVar[int] + STRING_KEY_FIELD_NUMBER: _ClassVar[int] + field_number: int + field_name: str + field_type: _descriptor_pb2.FieldDescriptorProto.Type + key_type: _descriptor_pb2.FieldDescriptorProto.Type + value_type: _descriptor_pb2.FieldDescriptorProto.Type + index: int + bool_key: bool + int_key: int + uint_key: int + string_key: str + def __init__(self, field_number: _Optional[int] = ..., field_name: _Optional[str] = ..., field_type: _Optional[_Union[_descriptor_pb2.FieldDescriptorProto.Type, str]] = ..., key_type: _Optional[_Union[_descriptor_pb2.FieldDescriptorProto.Type, str]] = ..., value_type: _Optional[_Union[_descriptor_pb2.FieldDescriptorProto.Type, str]] = ..., index: _Optional[int] = ..., bool_key: bool = ..., int_key: _Optional[int] = ..., uint_key: _Optional[int] = ..., string_key: _Optional[str] = ...) -> None: ... diff --git a/src/nebius/api/nebius/common/v1/__init__.py b/src/nebius/api/nebius/common/v1/__init__.py index 9934aaf7..4ffa8e7d 100644 --- a/src/nebius/api/nebius/common/v1/__init__.py +++ b/src/nebius/api/nebius/common/v1/__init__.py @@ -174,8 +174,8 @@ def details(self) -> __OneOfClass_details_bad_request__|__OneOfClass_details_bad Additional message describing the error, if any. """ - field_name: str|None = super().which_field_in_oneof("details") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("details") + match field_name_1: case "bad_request": return self.__OneOfClass_details_bad_request__(self) case "bad_resource_state": @@ -203,7 +203,7 @@ def details(self) -> __OneOfClass_details_bad_request__|__OneOfClass_details_bad case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/compute/v1/__init__.py b/src/nebius/api/nebius/compute/v1/__init__.py index 537ac982..f3c26360 100644 --- a/src/nebius/api/nebius/compute/v1/__init__.py +++ b/src/nebius/api/nebius/compute/v1/__init__.py @@ -165,8 +165,8 @@ def value(self) -> "builtins.int": @builtins.property def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibytes__|__OneOfClass_size_size_mebibytes__|__OneOfClass_size_size_gibibytes__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "size_bytes": return self.__OneOfClass_size_size_bytes__(self) case "size_kibibytes": @@ -178,7 +178,7 @@ def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibyte case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass_source__(pb_classes.OneOf): name: builtins.str= "source" @@ -207,8 +207,8 @@ def value(self) -> "SourceImageFamily": @builtins.property def source(self) -> __OneOfClass_source_source_image_id__|__OneOfClass_source_source_image_family__|None: - field_name: str|None = super().which_field_in_oneof("source") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("source") + match field_name_1: case "source_image_id": return self.__OneOfClass_source_source_image_id__(self) case "source_image_family": @@ -216,7 +216,7 @@ def source(self) -> __OneOfClass_source_source_image_id__|__OneOfClass_source_so case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1256,8 +1256,8 @@ def value(self) -> "builtins.int": @builtins.property def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibytes__|__OneOfClass_size_size_mebibytes__|__OneOfClass_size_size_gibibytes__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "size_bytes": return self.__OneOfClass_size_size_bytes__(self) case "size_kibibytes": @@ -1269,7 +1269,7 @@ def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibyte case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2651,14 +2651,14 @@ def value(self) -> "builtins.str": @builtins.property def _description(self) -> __OneOfClass__description_description__|None: - field_name: str|None = super().which_field_in_oneof("_description") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_description") + match field_name_1: case "description": return self.__OneOfClass__description_description__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -3326,14 +3326,14 @@ def allocation(self) -> __OneOfClass_allocation_allocation_id__|None: Describes different methods of public IP address allocation. """ - field_name: str|None = super().which_field_in_oneof("allocation") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("allocation") + match field_name_1: case "allocation_id": return self.__OneOfClass_allocation_allocation_id__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -3880,14 +3880,14 @@ def value(self) -> "builtins.str": @builtins.property def size(self) -> __OneOfClass_size_preset__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "preset": return self.__OneOfClass_size_preset__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -3997,14 +3997,14 @@ def value(self) -> "ExistingDisk": @builtins.property def type(self) -> __OneOfClass_type_existing_disk__|None: - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "existing_disk": return self.__OneOfClass_type_existing_disk__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -4170,14 +4170,14 @@ def value(self) -> "ExistingFilesystem": @builtins.property def type(self) -> __OneOfClass_type_existing_filesystem__|None: - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "existing_filesystem": return self.__OneOfClass_type_existing_filesystem__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/compute/v1alpha1/__init__.py b/src/nebius/api/nebius/compute/v1alpha1/__init__.py index 79ed5047..4019f16c 100644 --- a/src/nebius/api/nebius/compute/v1alpha1/__init__.py +++ b/src/nebius/api/nebius/compute/v1alpha1/__init__.py @@ -163,8 +163,8 @@ def value(self) -> "builtins.int": @builtins.property def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibytes__|__OneOfClass_size_size_mebibytes__|__OneOfClass_size_size_gibibytes__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "size_bytes": return self.__OneOfClass_size_size_bytes__(self) case "size_kibibytes": @@ -176,7 +176,7 @@ def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibyte case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass_source__(pb_classes.OneOf): name: builtins.str= "source" @@ -205,8 +205,8 @@ def value(self) -> "builtins.str": @builtins.property def source(self) -> __OneOfClass_source_source_image_id__|__OneOfClass_source_source_image_family__|None: - field_name: str|None = super().which_field_in_oneof("source") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("source") + match field_name_1: case "source_image_id": return self.__OneOfClass_source_source_image_id__(self) case "source_image_family": @@ -214,7 +214,7 @@ def source(self) -> __OneOfClass_source_source_image_id__|__OneOfClass_source_so case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1130,8 +1130,8 @@ def value(self) -> "builtins.int": @builtins.property def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibytes__|__OneOfClass_size_size_mebibytes__|__OneOfClass_size_size_gibibytes__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "size_bytes": return self.__OneOfClass_size_size_bytes__(self) case "size_kibibytes": @@ -1143,7 +1143,7 @@ def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibyte case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2525,14 +2525,14 @@ def value(self) -> "builtins.str": @builtins.property def _description(self) -> __OneOfClass__description_description__|None: - field_name: str|None = super().which_field_in_oneof("_description") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_description") + match field_name_1: case "description": return self.__OneOfClass__description_description__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -3288,14 +3288,14 @@ def value(self) -> "builtins.str": @builtins.property def size(self) -> __OneOfClass_size_preset__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "preset": return self.__OneOfClass_size_preset__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -3405,14 +3405,14 @@ def value(self) -> "ExistingDisk": @builtins.property def type(self) -> __OneOfClass_type_existing_disk__|None: - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "existing_disk": return self.__OneOfClass_type_existing_disk__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -3578,14 +3578,14 @@ def value(self) -> "ExistingFilesystem": @builtins.property def type(self) -> __OneOfClass_type_existing_filesystem__|None: - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "existing_filesystem": return self.__OneOfClass_type_existing_filesystem__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/iam/v1/__init__.py b/src/nebius/api/nebius/iam/v1/__init__.py index 37c1e419..a48c0910 100644 --- a/src/nebius/api/nebius/iam/v1/__init__.py +++ b/src/nebius/api/nebius/iam/v1/__init__.py @@ -188,8 +188,8 @@ def value(self) -> "Account.AnonymousAccount": @builtins.property def type(self) -> __OneOfClass_type_user_account__|__OneOfClass_type_service_account__|__OneOfClass_type_anonymous_account__|None: - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "user_account": return self.__OneOfClass_type_user_account__(self) case "service_account": @@ -199,7 +199,7 @@ def type(self) -> __OneOfClass_type_user_account__|__OneOfClass_type_service_acc case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -600,8 +600,8 @@ def value(self) -> "builtins.str": @builtins.property def identity(self) -> __OneOfClass_identity_id__|__OneOfClass_identity_aws_access_key_id__|None: - field_name: str|None = super().which_field_in_oneof("identity") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("identity") + match field_name_1: case "id": return self.__OneOfClass_identity_id__(self) case "aws_access_key_id": @@ -609,7 +609,7 @@ def identity(self) -> __OneOfClass_identity_id__|__OneOfClass_identity_aws_acces case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -781,14 +781,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1790,14 +1790,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2627,14 +2627,14 @@ def value(self) -> "SamlSettings": @builtins.property def settings(self) -> __OneOfClass_settings_saml_settings__|None: - field_name: str|None = super().which_field_in_oneof("settings") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("settings") + match field_name_1: case "saml_settings": return self.__OneOfClass_settings_saml_settings__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2707,17 +2707,21 @@ def __init__( *, idp_issuer: "builtins.str|None|unset.UnsetType" = unset.Unset, sso_url: "builtins.str|None|unset.UnsetType" = unset.Unset, + force_authn: "builtins.bool|None|unset.UnsetType" = unset.Unset, ) -> None: super().__init__(initial_message) if not isinstance(idp_issuer, unset.UnsetType): self.idp_issuer = idp_issuer if not isinstance(sso_url, unset.UnsetType): self.sso_url = sso_url + if not isinstance(force_authn, unset.UnsetType): + self.force_authn = force_authn def __dir__(self) ->abc.Iterable[builtins.str]: return [ "idp_issuer", "sso_url", + "force_authn", ] @builtins.property @@ -2738,9 +2742,23 @@ def sso_url(self, value: "builtins.str|None") -> None: return super()._set_field("sso_url",value,explicit_presence=False, ) + @builtins.property + def force_authn(self) -> "builtins.bool": + """ + if "true", the identity provider MUST authenticate the presenter directly rather than rely on a previous security context. + """ + + return super()._get_field("force_authn", explicit_presence=False, + ) + @force_authn.setter + def force_authn(self, value: "builtins.bool|None") -> None: + return super()._set_field("force_authn",value,explicit_presence=False, + ) + __PY_TO_PB2__: builtins.dict[builtins.str,builtins.str] = { "idp_issuer":"idp_issuer", "sso_url":"sso_url", + "force_authn":"force_authn", } class FederationStatus(pb_classes.Message): @@ -4279,8 +4297,8 @@ def value(self) -> "Error": @builtins.property def attributesOptional(self) -> __OneOfClass_attributesOptional_attributes__|__OneOfClass_attributesOptional_error__|None: - field_name: str|None = super().which_field_in_oneof("attributesOptional") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("attributesOptional") + match field_name_1: case "attributes": return self.__OneOfClass_attributesOptional_attributes__(self) case "error": @@ -4288,7 +4306,7 @@ def attributesOptional(self) -> __OneOfClass_attributesOptional_attributes__|__O case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -4379,14 +4397,14 @@ def value(self) -> "builtins.str": @builtins.property def _sub(self) -> __OneOfClass__sub_sub__|None: - field_name: str|None = super().which_field_in_oneof("_sub") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_sub") + match field_name_1: case "sub": return self.__OneOfClass__sub_sub__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__name__(pb_classes.OneOf): name: builtins.str= "_name" @@ -4406,14 +4424,14 @@ def value(self) -> "builtins.str": @builtins.property def _name(self) -> __OneOfClass__name_name__|None: - field_name: str|None = super().which_field_in_oneof("_name") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_name") + match field_name_1: case "name": return self.__OneOfClass__name_name__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__given_name__(pb_classes.OneOf): name: builtins.str= "_given_name" @@ -4433,14 +4451,14 @@ def value(self) -> "builtins.str": @builtins.property def _given_name(self) -> __OneOfClass__given_name_given_name__|None: - field_name: str|None = super().which_field_in_oneof("_given_name") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_given_name") + match field_name_1: case "given_name": return self.__OneOfClass__given_name_given_name__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__family_name__(pb_classes.OneOf): name: builtins.str= "_family_name" @@ -4460,14 +4478,14 @@ def value(self) -> "builtins.str": @builtins.property def _family_name(self) -> __OneOfClass__family_name_family_name__|None: - field_name: str|None = super().which_field_in_oneof("_family_name") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_family_name") + match field_name_1: case "family_name": return self.__OneOfClass__family_name_family_name__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__preferred_username__(pb_classes.OneOf): name: builtins.str= "_preferred_username" @@ -4487,14 +4505,14 @@ def value(self) -> "builtins.str": @builtins.property def _preferred_username(self) -> __OneOfClass__preferred_username_preferred_username__|None: - field_name: str|None = super().which_field_in_oneof("_preferred_username") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_preferred_username") + match field_name_1: case "preferred_username": return self.__OneOfClass__preferred_username_preferred_username__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__picture__(pb_classes.OneOf): name: builtins.str= "_picture" @@ -4514,14 +4532,14 @@ def value(self) -> "builtins.str": @builtins.property def _picture(self) -> __OneOfClass__picture_picture__|None: - field_name: str|None = super().which_field_in_oneof("_picture") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_picture") + match field_name_1: case "picture": return self.__OneOfClass__picture_picture__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__email__(pb_classes.OneOf): name: builtins.str= "_email" @@ -4541,14 +4559,14 @@ def value(self) -> "builtins.str": @builtins.property def _email(self) -> __OneOfClass__email_email__|None: - field_name: str|None = super().which_field_in_oneof("_email") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_email") + match field_name_1: case "email": return self.__OneOfClass__email_email__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__email_verified__(pb_classes.OneOf): name: builtins.str= "_email_verified" @@ -4568,14 +4586,14 @@ def value(self) -> "builtins.bool": @builtins.property def _email_verified(self) -> __OneOfClass__email_verified_email_verified__|None: - field_name: str|None = super().which_field_in_oneof("_email_verified") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_email_verified") + match field_name_1: case "email_verified": return self.__OneOfClass__email_verified_email_verified__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__zoneinfo__(pb_classes.OneOf): name: builtins.str= "_zoneinfo" @@ -4595,14 +4613,14 @@ def value(self) -> "builtins.str": @builtins.property def _zoneinfo(self) -> __OneOfClass__zoneinfo_zoneinfo__|None: - field_name: str|None = super().which_field_in_oneof("_zoneinfo") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_zoneinfo") + match field_name_1: case "zoneinfo": return self.__OneOfClass__zoneinfo_zoneinfo__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__locale__(pb_classes.OneOf): name: builtins.str= "_locale" @@ -4622,14 +4640,14 @@ def value(self) -> "builtins.str": @builtins.property def _locale(self) -> __OneOfClass__locale_locale__|None: - field_name: str|None = super().which_field_in_oneof("_locale") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_locale") + match field_name_1: case "locale": return self.__OneOfClass__locale_locale__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__phone_number__(pb_classes.OneOf): name: builtins.str= "_phone_number" @@ -4649,14 +4667,14 @@ def value(self) -> "builtins.str": @builtins.property def _phone_number(self) -> __OneOfClass__phone_number_phone_number__|None: - field_name: str|None = super().which_field_in_oneof("_phone_number") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_phone_number") + match field_name_1: case "phone_number": return self.__OneOfClass__phone_number_phone_number__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__phone_number_verified__(pb_classes.OneOf): name: builtins.str= "_phone_number_verified" @@ -4676,14 +4694,14 @@ def value(self) -> "builtins.bool": @builtins.property def _phone_number_verified(self) -> __OneOfClass__phone_number_verified_phone_number_verified__|None: - field_name: str|None = super().which_field_in_oneof("_phone_number_verified") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_phone_number_verified") + match field_name_1: case "phone_number_verified": return self.__OneOfClass__phone_number_verified_phone_number_verified__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -5276,8 +5294,8 @@ def value(self) -> "Error": @builtins.property def attributesOptional(self) -> __OneOfClass_attributesOptional_user_attributes__|__OneOfClass_attributesOptional_service_account_attributes__|__OneOfClass_attributesOptional_error__|None: - field_name: str|None = super().which_field_in_oneof("attributesOptional") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("attributesOptional") + match field_name_1: case "user_attributes": return self.__OneOfClass_attributesOptional_user_attributes__(self) case "service_account_attributes": @@ -5287,7 +5305,7 @@ def attributesOptional(self) -> __OneOfClass_attributesOptional_user_attributes_ case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -5536,14 +5554,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -5645,14 +5663,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -6164,14 +6182,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -6781,14 +6799,14 @@ def value(self) -> "builtins.str": @builtins.property def contact(self) -> __OneOfClass_contact_email__|None: - field_name: str|None = super().which_field_in_oneof("contact") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("contact") + match field_name_1: case "email": return self.__OneOfClass_contact_email__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -7528,8 +7546,8 @@ def value(self) -> "AnonymousAccount": @builtins.property def profile(self) -> __OneOfClass_profile_user_profile__|__OneOfClass_profile_service_account_profile__|__OneOfClass_profile_anonymous_profile__|None: - field_name: str|None = super().which_field_in_oneof("profile") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("profile") + match field_name_1: case "user_profile": return self.__OneOfClass_profile_user_profile__(self) case "service_account_profile": @@ -7539,7 +7557,7 @@ def profile(self) -> __OneOfClass_profile_user_profile__|__OneOfClass_profile_se case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -7635,8 +7653,8 @@ def value(self) -> "Error": @builtins.property def attributes_optional(self) -> __OneOfClass_attributes_optional_attributes__|__OneOfClass_attributes_optional_retrieving_error__|None: - field_name: str|None = super().which_field_in_oneof("attributes_optional") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("attributes_optional") + match field_name_1: case "attributes": return self.__OneOfClass_attributes_optional_attributes__(self) case "retrieving_error": @@ -7644,7 +7662,7 @@ def attributes_optional(self) -> __OneOfClass_attributes_optional_attributes__|_ case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -7973,14 +7991,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -8353,14 +8371,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -8775,8 +8793,8 @@ def value(self) -> "builtins.str": @builtins.property def revoke(self) -> __OneOfClass_revoke_service_account_id__|__OneOfClass_revoke_all_my_active__|__OneOfClass_revoke_tenant_user_account_id__|None: - field_name: str|None = super().which_field_in_oneof("revoke") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("revoke") + match field_name_1: case "service_account_id": return self.__OneOfClass_revoke_service_account_id__(self) case "all_my_active": @@ -8786,7 +8804,7 @@ def revoke(self) -> __OneOfClass_revoke_service_account_id__|__OneOfClass_revoke case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -8964,14 +8982,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -9210,14 +9228,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -9587,14 +9605,14 @@ def value(self) -> "builtins.int": @builtins.property def _page_size(self) -> __OneOfClass__page_size_page_size__|None: - field_name: str|None = super().which_field_in_oneof("_page_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_page_size") + match field_name_1: case "page_size": return self.__OneOfClass__page_size_page_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/iam/v1/federation_pb2.py b/src/nebius/api/nebius/iam/v1/federation_pb2.py index d54d45f9..34250ff7 100644 --- a/src/nebius/api/nebius/iam/v1/federation_pb2.py +++ b/src/nebius/api/nebius/iam/v1/federation_pb2.py @@ -16,7 +16,7 @@ from nebius.api.nebius import annotations_pb2 as nebius_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1enebius/iam/v1/federation.proto\x12\rnebius.iam.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fnebius/common/v1/metadata.proto\x1a\x18nebius/annotations.proto\"\xd4\x01\n\nFederation\x12\x46\n\x08metadata\x18\x01 \x01(\x0b\x32\".nebius.common.v1.ResourceMetadataB\x06\xbaH\x03\xc8\x01\x01R\x08metadata\x12\x39\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.nebius.iam.v1.FederationSpecB\x06\xbaH\x03\xc8\x01\x01R\x04spec\x12=\n\x06status\x18\x03 \x01(\x0b\x32\x1f.nebius.iam.v1.FederationStatusB\x04\xbaJ\x01\x05R\x06status:\x04\xbaJ\x01\x02\"\xc2\x01\n\x0e\x46\x65\x64\x65rationSpec\x12;\n\x1auser_account_auto_creation\x18\x01 \x01(\x08R\x17userAccountAutoCreation\x12\x16\n\x06\x61\x63tive\x18\x04 \x01(\x08R\x06\x61\x63tive\x12\x42\n\rsaml_settings\x18\n \x01(\x0b\x32\x1b.nebius.iam.v1.SamlSettingsH\x00R\x0csamlSettingsB\x11\n\x08settings\x12\x05\xbaH\x02\x08\x01J\x04\x08\x03\x10\x04\"F\n\x0cSamlSettings\x12\x1d\n\nidp_issuer\x18\x01 \x01(\tR\tidpIssuer\x12\x17\n\x07sso_url\x18\x02 \x01(\tR\x06ssoUrl\"\x12\n\x10\x46\x65\x64\x65rationStatusBV\n\x14\x61i.nebius.pub.iam.v1B\x0f\x46\x65\x64\x65rationProtoP\x01Z+github.com/nebius/gosdk/proto/nebius/iam/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1enebius/iam/v1/federation.proto\x12\rnebius.iam.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fnebius/common/v1/metadata.proto\x1a\x18nebius/annotations.proto\"\xd4\x01\n\nFederation\x12\x46\n\x08metadata\x18\x01 \x01(\x0b\x32\".nebius.common.v1.ResourceMetadataB\x06\xbaH\x03\xc8\x01\x01R\x08metadata\x12\x39\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.nebius.iam.v1.FederationSpecB\x06\xbaH\x03\xc8\x01\x01R\x04spec\x12=\n\x06status\x18\x03 \x01(\x0b\x32\x1f.nebius.iam.v1.FederationStatusB\x04\xbaJ\x01\x05R\x06status:\x04\xbaJ\x01\x02\"\xc2\x01\n\x0e\x46\x65\x64\x65rationSpec\x12;\n\x1auser_account_auto_creation\x18\x01 \x01(\x08R\x17userAccountAutoCreation\x12\x16\n\x06\x61\x63tive\x18\x04 \x01(\x08R\x06\x61\x63tive\x12\x42\n\rsaml_settings\x18\n \x01(\x0b\x32\x1b.nebius.iam.v1.SamlSettingsH\x00R\x0csamlSettingsB\x11\n\x08settings\x12\x05\xbaH\x02\x08\x01J\x04\x08\x03\x10\x04\"g\n\x0cSamlSettings\x12\x1d\n\nidp_issuer\x18\x01 \x01(\tR\tidpIssuer\x12\x17\n\x07sso_url\x18\x02 \x01(\tR\x06ssoUrl\x12\x1f\n\x0b\x66orce_authn\x18\x03 \x01(\x08R\nforceAuthn\"\x12\n\x10\x46\x65\x64\x65rationStatusBV\n\x14\x61i.nebius.pub.iam.v1B\x0f\x46\x65\x64\x65rationProtoP\x01Z+github.com/nebius/gosdk/proto/nebius/iam/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -40,7 +40,7 @@ _globals['_FEDERATIONSPEC']._serialized_start=353 _globals['_FEDERATIONSPEC']._serialized_end=547 _globals['_SAMLSETTINGS']._serialized_start=549 - _globals['_SAMLSETTINGS']._serialized_end=619 - _globals['_FEDERATIONSTATUS']._serialized_start=621 - _globals['_FEDERATIONSTATUS']._serialized_end=639 + _globals['_SAMLSETTINGS']._serialized_end=652 + _globals['_FEDERATIONSTATUS']._serialized_start=654 + _globals['_FEDERATIONSTATUS']._serialized_end=672 # @@protoc_insertion_point(module_scope) diff --git a/src/nebius/api/nebius/iam/v1/federation_pb2.pyi b/src/nebius/api/nebius/iam/v1/federation_pb2.pyi index 0fb2d3c8..545270ed 100644 --- a/src/nebius/api/nebius/iam/v1/federation_pb2.pyi +++ b/src/nebius/api/nebius/iam/v1/federation_pb2.pyi @@ -28,12 +28,14 @@ class FederationSpec(_message.Message): def __init__(self, user_account_auto_creation: bool = ..., active: bool = ..., saml_settings: _Optional[_Union[SamlSettings, _Mapping]] = ...) -> None: ... class SamlSettings(_message.Message): - __slots__ = ["idp_issuer", "sso_url"] + __slots__ = ["idp_issuer", "sso_url", "force_authn"] IDP_ISSUER_FIELD_NUMBER: _ClassVar[int] SSO_URL_FIELD_NUMBER: _ClassVar[int] + FORCE_AUTHN_FIELD_NUMBER: _ClassVar[int] idp_issuer: str sso_url: str - def __init__(self, idp_issuer: _Optional[str] = ..., sso_url: _Optional[str] = ...) -> None: ... + force_authn: bool + def __init__(self, idp_issuer: _Optional[str] = ..., sso_url: _Optional[str] = ..., force_authn: bool = ...) -> None: ... class FederationStatus(_message.Message): __slots__ = [] diff --git a/src/nebius/api/nebius/logging/agentmanager/v1/__init__.py b/src/nebius/api/nebius/logging/agentmanager/v1/__init__.py index a4c81e1a..c7b9538c 100644 --- a/src/nebius/api/nebius/logging/agentmanager/v1/__init__.py +++ b/src/nebius/api/nebius/logging/agentmanager/v1/__init__.py @@ -65,6 +65,7 @@ def __init__( agent_state_messages: "abc.Iterable[builtins.str]|None|unset.UnsetType" = unset.Unset, last_update_error: "builtins.str|None|unset.UnsetType" = unset.Unset, mk8s_cluster_id: "builtins.str|None|unset.UnsetType" = unset.Unset, + modules_health: "ModulesHealth|version_service_pb2.ModulesHealth|None|unset.UnsetType" = unset.Unset, ) -> None: super().__init__(initial_message) if not isinstance(type, unset.UnsetType): @@ -93,6 +94,8 @@ def __init__( self.last_update_error = last_update_error if not isinstance(mk8s_cluster_id, unset.UnsetType): self.mk8s_cluster_id = mk8s_cluster_id + if not isinstance(modules_health, unset.UnsetType): + self.modules_health = modules_health def __dir__(self) ->abc.Iterable[builtins.str]: return [ @@ -109,6 +112,7 @@ def __dir__(self) ->abc.Iterable[builtins.str]: "agent_state_messages", "last_update_error", "mk8s_cluster_id", + "modules_health", ] @builtins.property @@ -238,6 +242,16 @@ def mk8s_cluster_id(self, value: "builtins.str|None") -> None: return super()._set_field("mk8s_cluster_id",value,explicit_presence=False, ) + @builtins.property + def modules_health(self) -> "ModulesHealth": + return super()._get_field("modules_health", explicit_presence=False, + wrap=ModulesHealth, + ) + @modules_health.setter + def modules_health(self, value: "ModulesHealth|version_service_pb2.ModulesHealth|None") -> None: + return super()._set_field("modules_health",value,explicit_presence=False, + ) + __PY_TO_PB2__: builtins.dict[builtins.str,builtins.str] = { "type":"type", "agent_version":"agent_version", @@ -252,6 +266,122 @@ def mk8s_cluster_id(self, value: "builtins.str|None") -> None: "agent_state_messages":"agent_state_messages", "last_update_error":"last_update_error", "mk8s_cluster_id":"mk8s_cluster_id", + "modules_health":"modules_health", + } + +class ModulesHealth(pb_classes.Message): + __PB2_CLASS__ = version_service_pb2.ModulesHealth + __PB2_DESCRIPTOR__ = descriptor.DescriptorWrap[descriptor_1.Descriptor](".nebius.logging.agentmanager.v1.ModulesHealth",version_service_pb2.DESCRIPTOR,descriptor_1.Descriptor) + __mask_functions__ = { + } + + def __init__( + self, + initial_message: message.Message|None = None, + *, + process: "ModuleHealth|version_service_pb2.ModuleHealth|None|unset.UnsetType" = unset.Unset, + gpu_pipeline: "ModuleHealth|version_service_pb2.ModuleHealth|None|unset.UnsetType" = unset.Unset, + cpu_pipeline: "ModuleHealth|version_service_pb2.ModuleHealth|None|unset.UnsetType" = unset.Unset, + ) -> None: + super().__init__(initial_message) + if not isinstance(process, unset.UnsetType): + self.process = process + if not isinstance(gpu_pipeline, unset.UnsetType): + self.gpu_pipeline = gpu_pipeline + if not isinstance(cpu_pipeline, unset.UnsetType): + self.cpu_pipeline = cpu_pipeline + + def __dir__(self) ->abc.Iterable[builtins.str]: + return [ + "process", + "gpu_pipeline", + "cpu_pipeline", + ] + + @builtins.property + def process(self) -> "ModuleHealth": + return super()._get_field("process", explicit_presence=False, + wrap=ModuleHealth, + ) + @process.setter + def process(self, value: "ModuleHealth|version_service_pb2.ModuleHealth|None") -> None: + return super()._set_field("process",value,explicit_presence=False, + ) + + @builtins.property + def gpu_pipeline(self) -> "ModuleHealth": + return super()._get_field("gpu_pipeline", explicit_presence=False, + wrap=ModuleHealth, + ) + @gpu_pipeline.setter + def gpu_pipeline(self, value: "ModuleHealth|version_service_pb2.ModuleHealth|None") -> None: + return super()._set_field("gpu_pipeline",value,explicit_presence=False, + ) + + @builtins.property + def cpu_pipeline(self) -> "ModuleHealth": + return super()._get_field("cpu_pipeline", explicit_presence=False, + wrap=ModuleHealth, + ) + @cpu_pipeline.setter + def cpu_pipeline(self, value: "ModuleHealth|version_service_pb2.ModuleHealth|None") -> None: + return super()._set_field("cpu_pipeline",value,explicit_presence=False, + ) + + __PY_TO_PB2__: builtins.dict[builtins.str,builtins.str] = { + "process":"process", + "gpu_pipeline":"gpu_pipeline", + "cpu_pipeline":"cpu_pipeline", + } + +class ModuleHealth(pb_classes.Message): + __PB2_CLASS__ = version_service_pb2.ModuleHealth + __PB2_DESCRIPTOR__ = descriptor.DescriptorWrap[descriptor_1.Descriptor](".nebius.logging.agentmanager.v1.ModuleHealth",version_service_pb2.DESCRIPTOR,descriptor_1.Descriptor) + __mask_functions__ = { + } + + def __init__( + self, + initial_message: message.Message|None = None, + *, + state: "AgentState|version_service_pb2.AgentState|None|unset.UnsetType" = unset.Unset, + messages: "abc.Iterable[builtins.str]|None|unset.UnsetType" = unset.Unset, + ) -> None: + super().__init__(initial_message) + if not isinstance(state, unset.UnsetType): + self.state = state + if not isinstance(messages, unset.UnsetType): + self.messages = messages + + def __dir__(self) ->abc.Iterable[builtins.str]: + return [ + "state", + "messages", + ] + + @builtins.property + def state(self) -> "AgentState": + return super()._get_field("state", explicit_presence=False, + wrap=AgentState, + ) + @state.setter + def state(self, value: "AgentState|version_service_pb2.AgentState|None") -> None: + return super()._set_field("state",value,explicit_presence=False, + ) + + @builtins.property + def messages(self) -> "abc.MutableSequence[builtins.str]": + return super()._get_field("messages", explicit_presence=False, + wrap=pb_classes.Repeated, + ) + @messages.setter + def messages(self, value: "abc.Iterable[builtins.str]|None") -> None: + return super()._set_field("messages",value,explicit_presence=False, + ) + + __PY_TO_PB2__: builtins.dict[builtins.str,builtins.str] = { + "state":"state", + "messages":"messages", } class OSInfo(pb_classes.Message): @@ -575,6 +705,8 @@ def get_version(self, "AgentState", "Action", "GetVersionRequest", + "ModulesHealth", + "ModuleHealth", "OSInfo", "GetVersionResponse", "NopActionParams", diff --git a/src/nebius/api/nebius/logging/v1/agentmanager/version_service_pb2.py b/src/nebius/api/nebius/logging/v1/agentmanager/version_service_pb2.py index 07dd75f8..3e127091 100644 --- a/src/nebius/api/nebius/logging/v1/agentmanager/version_service_pb2.py +++ b/src/nebius/api/nebius/logging/v1/agentmanager/version_service_pb2.py @@ -15,7 +15,7 @@ from nebius.api.nebius import annotations_pb2 as nebius_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4nebius/logging/v1/agentmanager/version_service.proto\x12\x1enebius.logging.agentmanager.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x18nebius/annotations.proto\"\xb2\x05\n\x11GetVersionRequest\x12=\n\x04type\x18\x01 \x01(\x0e\x32).nebius.logging.agentmanager.v1.AgentTypeR\x04type\x12#\n\ragent_version\x18\x02 \x01(\tR\x0c\x61gentVersion\x12\'\n\x0fupdater_version\x18\x03 \x01(\tR\x0eupdaterVersion\x12\x1b\n\tparent_id\x18\x04 \x01(\tR\x08parentId\x12\x1f\n\x0binstance_id\x18\x05 \x01(\tR\ninstanceId\x12?\n\x07os_info\x18\x06 \x01(\x0b\x32&.nebius.logging.agentmanager.v1.OSInfoR\x06osInfo\x12K\n\x0b\x61gent_state\x18\x07 \x01(\x0e\x32*.nebius.logging.agentmanager.v1.AgentStateR\nagentState\x12<\n\x0c\x61gent_uptime\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0b\x61gentUptime\x12>\n\rsystem_uptime\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationR\x0csystemUptime\x12@\n\x0eupdater_uptime\x18\n \x01(\x0b\x32\x19.google.protobuf.DurationR\rupdaterUptime\x12\x30\n\x14\x61gent_state_messages\x18\x0b \x03(\tR\x12\x61gentStateMessages\x12*\n\x11last_update_error\x18\x0c \x01(\tR\x0flastUpdateError\x12&\n\x0fmk8s_cluster_id\x18\r \x01(\tR\rmk8sClusterId\"V\n\x06OSInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05uname\x18\x02 \x01(\tR\x05uname\x12\"\n\x0c\x61rchitecture\x18\x03 \x01(\tR\x0c\x61rchitecture\"\xc4\x02\n\x12GetVersionResponse\x12>\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32&.nebius.logging.agentmanager.v1.ActionR\x06\x61\x63tion\x12\x43\n\x03nop\x18\x02 \x01(\x0b\x32/.nebius.logging.agentmanager.v1.NopActionParamsH\x00R\x03nop\x12L\n\x06update\x18\x03 \x01(\x0b\x32\x32.nebius.logging.agentmanager.v1.UpdateActionParamsH\x00R\x06update\x12O\n\x07restart\x18\x04 \x01(\x0b\x32\x33.nebius.logging.agentmanager.v1.RestartActionParamsH\x00R\x07restartB\n\n\x08response\"\x11\n\x0fNopActionParams\"I\n\x12UpdateActionParams\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12\x19\n\x08repo_url\x18\x02 \x01(\tR\x07repoUrl\"\x15\n\x13RestartActionParams*0\n\tAgentType\x12\x13\n\x0f\x41GENT_UNDEFINED\x10\x00\x12\x0e\n\nO11Y_AGENT\x10\x01*E\n\nAgentState\x12\x13\n\x0fSTATE_UNDEFINED\x10\x00\x12\x11\n\rSTATE_HEALTHY\x10\x01\x12\x0f\n\x0bSTATE_ERROR\x10\x02*@\n\x06\x41\x63tion\x12\x14\n\x10\x41\x43TION_UNDEFINED\x10\x00\x12\x07\n\x03NOP\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\x0b\n\x07RESTART\x10\x03\x32\xb9\x01\n\x0eVersionService\x12\x86\x01\n\nGetVersion\x12\x31.nebius.logging.agentmanager.v1.GetVersionRequest\x1a\x32.nebius.logging.agentmanager.v1.GetVersionResponse\"\x11\x9a\xb5\x18\r\n\x0binstance_id\x1a\x1e\xbaJ\x1bobservability-agent-managerB|\n%ai.nebius.pub.logging.v1.agentmanagerB\x13VersionServiceProtoP\x01Z\n\rsystem_uptime\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationR\x0csystemUptime\x12@\n\x0eupdater_uptime\x18\n \x01(\x0b\x32\x19.google.protobuf.DurationR\rupdaterUptime\x12\x30\n\x14\x61gent_state_messages\x18\x0b \x03(\tR\x12\x61gentStateMessages\x12*\n\x11last_update_error\x18\x0c \x01(\tR\x0flastUpdateError\x12&\n\x0fmk8s_cluster_id\x18\r \x01(\tR\rmk8sClusterId\x12T\n\x0emodules_health\x18\x0e \x01(\x0b\x32-.nebius.logging.agentmanager.v1.ModulesHealthR\rmodulesHealth\"\xf9\x01\n\rModulesHealth\x12\x46\n\x07process\x18\x01 \x01(\x0b\x32,.nebius.logging.agentmanager.v1.ModuleHealthR\x07process\x12O\n\x0cgpu_pipeline\x18\x02 \x01(\x0b\x32,.nebius.logging.agentmanager.v1.ModuleHealthR\x0bgpuPipeline\x12O\n\x0c\x63pu_pipeline\x18\x03 \x01(\x0b\x32,.nebius.logging.agentmanager.v1.ModuleHealthR\x0b\x63puPipeline\"l\n\x0cModuleHealth\x12@\n\x05state\x18\x01 \x01(\x0e\x32*.nebius.logging.agentmanager.v1.AgentStateR\x05state\x12\x1a\n\x08messages\x18\x02 \x03(\tR\x08messages\"V\n\x06OSInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05uname\x18\x02 \x01(\tR\x05uname\x12\"\n\x0c\x61rchitecture\x18\x03 \x01(\tR\x0c\x61rchitecture\"\xc4\x02\n\x12GetVersionResponse\x12>\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32&.nebius.logging.agentmanager.v1.ActionR\x06\x61\x63tion\x12\x43\n\x03nop\x18\x02 \x01(\x0b\x32/.nebius.logging.agentmanager.v1.NopActionParamsH\x00R\x03nop\x12L\n\x06update\x18\x03 \x01(\x0b\x32\x32.nebius.logging.agentmanager.v1.UpdateActionParamsH\x00R\x06update\x12O\n\x07restart\x18\x04 \x01(\x0b\x32\x33.nebius.logging.agentmanager.v1.RestartActionParamsH\x00R\x07restartB\n\n\x08response\"\x11\n\x0fNopActionParams\"I\n\x12UpdateActionParams\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12\x19\n\x08repo_url\x18\x02 \x01(\tR\x07repoUrl\"\x15\n\x13RestartActionParams*0\n\tAgentType\x12\x13\n\x0f\x41GENT_UNDEFINED\x10\x00\x12\x0e\n\nO11Y_AGENT\x10\x01*E\n\nAgentState\x12\x13\n\x0fSTATE_UNDEFINED\x10\x00\x12\x11\n\rSTATE_HEALTHY\x10\x01\x12\x0f\n\x0bSTATE_ERROR\x10\x02*@\n\x06\x41\x63tion\x12\x14\n\x10\x41\x43TION_UNDEFINED\x10\x00\x12\x07\n\x03NOP\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\x0b\n\x07RESTART\x10\x03\x32\xb9\x01\n\x0eVersionService\x12\x86\x01\n\nGetVersion\x12\x31.nebius.logging.agentmanager.v1.GetVersionRequest\x1a\x32.nebius.logging.agentmanager.v1.GetVersionResponse\"\x11\x9a\xb5\x18\r\n\x0binstance_id\x1a\x1e\xbaJ\x1bobservability-agent-managerB|\n%ai.nebius.pub.logging.v1.agentmanagerB\x13VersionServiceProtoP\x01Z None: ... + modules_health: ModulesHealth + def __init__(self, type: _Optional[_Union[AgentType, str]] = ..., agent_version: _Optional[str] = ..., updater_version: _Optional[str] = ..., parent_id: _Optional[str] = ..., instance_id: _Optional[str] = ..., os_info: _Optional[_Union[OSInfo, _Mapping]] = ..., agent_state: _Optional[_Union[AgentState, str]] = ..., agent_uptime: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., system_uptime: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., updater_uptime: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., agent_state_messages: _Optional[_Iterable[str]] = ..., last_update_error: _Optional[str] = ..., mk8s_cluster_id: _Optional[str] = ..., modules_health: _Optional[_Union[ModulesHealth, _Mapping]] = ...) -> None: ... + +class ModulesHealth(_message.Message): + __slots__ = ["process", "gpu_pipeline", "cpu_pipeline"] + PROCESS_FIELD_NUMBER: _ClassVar[int] + GPU_PIPELINE_FIELD_NUMBER: _ClassVar[int] + CPU_PIPELINE_FIELD_NUMBER: _ClassVar[int] + process: ModuleHealth + gpu_pipeline: ModuleHealth + cpu_pipeline: ModuleHealth + def __init__(self, process: _Optional[_Union[ModuleHealth, _Mapping]] = ..., gpu_pipeline: _Optional[_Union[ModuleHealth, _Mapping]] = ..., cpu_pipeline: _Optional[_Union[ModuleHealth, _Mapping]] = ...) -> None: ... + +class ModuleHealth(_message.Message): + __slots__ = ["state", "messages"] + STATE_FIELD_NUMBER: _ClassVar[int] + MESSAGES_FIELD_NUMBER: _ClassVar[int] + state: AgentState + messages: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, state: _Optional[_Union[AgentState, str]] = ..., messages: _Optional[_Iterable[str]] = ...) -> None: ... class OSInfo(_message.Message): __slots__ = ["name", "uname", "architecture"] diff --git a/src/nebius/api/nebius/mk8s/v1/__init__.py b/src/nebius/api/nebius/mk8s/v1/__init__.py index c578108c..54b44549 100644 --- a/src/nebius/api/nebius/mk8s/v1/__init__.py +++ b/src/nebius/api/nebius/mk8s/v1/__init__.py @@ -1128,8 +1128,8 @@ def value(self) -> "builtins.int": @builtins.property def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibytes__|__OneOfClass_size_size_mebibytes__|__OneOfClass_size_size_gibibytes__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "size_bytes": return self.__OneOfClass_size_size_bytes__(self) case "size_kibibytes": @@ -1141,7 +1141,7 @@ def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibyte case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1270,14 +1270,14 @@ def value(self) -> "builtins.str": @builtins.property def size(self) -> __OneOfClass_size_preset__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "preset": return self.__OneOfClass_size_preset__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1432,8 +1432,8 @@ def value(self) -> "NodeGroupAutoscalingSpec": @builtins.property def size(self) -> __OneOfClass_size_fixed_node_count__|__OneOfClass_size_autoscaling__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "fixed_node_count": return self.__OneOfClass_size_fixed_node_count__(self) case "autoscaling": @@ -1441,7 +1441,7 @@ def size(self) -> __OneOfClass_size_fixed_node_count__|__OneOfClass_size_autosca case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1991,14 +1991,14 @@ def value(self) -> "ExistingFilesystem": @builtins.property def type(self) -> __OneOfClass_type_existing_filesystem__|None: - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "existing_filesystem": return self.__OneOfClass_type_existing_filesystem__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2357,8 +2357,8 @@ def value(self) -> "builtins.int": @builtins.property def value(self) -> __OneOfClass_value_percent__|__OneOfClass_value_count__|None: - field_name: str|None = super().which_field_in_oneof("value") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("value") + match field_name_1: case "percent": return self.__OneOfClass_value_percent__(self) case "count": @@ -2366,7 +2366,7 @@ def value(self) -> __OneOfClass_value_percent__|__OneOfClass_value_count__|None: case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2901,14 +2901,14 @@ def value(self) -> "empty_pb2.Empty": @builtins.property def upgrade_type(self) -> __OneOfClass_upgrade_type_latest_infra_version__|None: - field_name: str|None = super().which_field_in_oneof("upgrade_type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("upgrade_type") + match field_name_1: case "latest_infra_version": return self.__OneOfClass_upgrade_type_latest_infra_version__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/mk8s/v1alpha1/__init__.py b/src/nebius/api/nebius/mk8s/v1alpha1/__init__.py index b5c4193b..5d9e03bd 100644 --- a/src/nebius/api/nebius/mk8s/v1alpha1/__init__.py +++ b/src/nebius/api/nebius/mk8s/v1alpha1/__init__.py @@ -1172,8 +1172,8 @@ def value(self) -> "builtins.int": @builtins.property def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibytes__|__OneOfClass_size_size_mebibytes__|__OneOfClass_size_size_gibibytes__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "size_bytes": return self.__OneOfClass_size_size_bytes__(self) case "size_kibibytes": @@ -1185,7 +1185,7 @@ def size(self) -> __OneOfClass_size_size_bytes__|__OneOfClass_size_size_kibibyte case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1314,14 +1314,14 @@ def value(self) -> "builtins.str": @builtins.property def size(self) -> __OneOfClass_size_preset__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "preset": return self.__OneOfClass_size_preset__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1474,8 +1474,8 @@ def value(self) -> "NodeGroupAutoscalingSpec": @builtins.property def size(self) -> __OneOfClass_size_fixed_node_count__|__OneOfClass_size_autoscaling__|None: - field_name: str|None = super().which_field_in_oneof("size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("size") + match field_name_1: case "fixed_node_count": return self.__OneOfClass_size_fixed_node_count__(self) case "autoscaling": @@ -1483,7 +1483,7 @@ def size(self) -> __OneOfClass_size_fixed_node_count__|__OneOfClass_size_autosca case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1983,14 +1983,14 @@ def value(self) -> "ExistingFilesystem": @builtins.property def type(self) -> __OneOfClass_type_existing_filesystem__|None: - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "existing_filesystem": return self.__OneOfClass_type_existing_filesystem__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2349,8 +2349,8 @@ def value(self) -> "builtins.int": @builtins.property def value(self) -> __OneOfClass_value_percent__|__OneOfClass_value_count__|None: - field_name: str|None = super().which_field_in_oneof("value") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("value") + match field_name_1: case "percent": return self.__OneOfClass_value_percent__(self) case "count": @@ -2358,7 +2358,7 @@ def value(self) -> __OneOfClass_value_percent__|__OneOfClass_value_count__|None: case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2938,14 +2938,14 @@ def value(self) -> "empty_pb2.Empty": @builtins.property def upgrade_type(self) -> __OneOfClass_upgrade_type_latest_infra_version__|None: - field_name: str|None = super().which_field_in_oneof("upgrade_type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("upgrade_type") + match field_name_1: case "latest_infra_version": return self.__OneOfClass_upgrade_type_latest_infra_version__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/msp/postgresql/v1alpha1/__init__.py b/src/nebius/api/nebius/msp/postgresql/v1alpha1/__init__.py index 3f9d50da..f65a746d 100644 --- a/src/nebius/api/nebius/msp/postgresql/v1alpha1/__init__.py +++ b/src/nebius/api/nebius/msp/postgresql/v1alpha1/__init__.py @@ -272,14 +272,14 @@ def value(self) -> "builtins.int": @builtins.property def _max_pool_size(self) -> __OneOfClass__max_pool_size_max_pool_size__|None: - field_name: str|None = super().which_field_in_oneof("_max_pool_size") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_max_pool_size") + match field_name_1: case "max_pool_size": return self.__OneOfClass__max_pool_size_max_pool_size__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -653,14 +653,14 @@ def config(self) -> __OneOfClass_config_postgresql_config_16__|None: Config of the PostgreSQL cluster. """ - field_name: str|None = super().which_field_in_oneof("config") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("config") + match field_name_1: case "postgresql_config_16": return self.__OneOfClass_config_postgresql_config_16__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/msp/postgresql/v1alpha1/config/__init__.py b/src/nebius/api/nebius/msp/postgresql/v1alpha1/config/__init__.py index 1d76761c..baffac4c 100644 --- a/src/nebius/api/nebius/msp/postgresql/v1alpha1/config/__init__.py +++ b/src/nebius/api/nebius/msp/postgresql/v1alpha1/config/__init__.py @@ -38,14 +38,14 @@ def value(self) -> "builtins.int": @builtins.property def _autovacuum_work_mem(self) -> __OneOfClass__autovacuum_work_mem_autovacuum_work_mem__|None: - field_name: str|None = super().which_field_in_oneof("_autovacuum_work_mem") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_autovacuum_work_mem") + match field_name_1: case "autovacuum_work_mem": return self.__OneOfClass__autovacuum_work_mem_autovacuum_work_mem__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__statement_timeout__(pb_classes.OneOf): name: builtins.str= "_statement_timeout" @@ -65,14 +65,14 @@ def value(self) -> "builtins.int": @builtins.property def _statement_timeout(self) -> __OneOfClass__statement_timeout_statement_timeout__|None: - field_name: str|None = super().which_field_in_oneof("_statement_timeout") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_statement_timeout") + match field_name_1: case "statement_timeout": return self.__OneOfClass__statement_timeout_statement_timeout__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__idle_in_transaction_session_timeout__(pb_classes.OneOf): name: builtins.str= "_idle_in_transaction_session_timeout" @@ -92,14 +92,14 @@ def value(self) -> "builtins.int": @builtins.property def _idle_in_transaction_session_timeout(self) -> __OneOfClass__idle_in_transaction_session_timeout_idle_in_transaction_session_timeout__|None: - field_name: str|None = super().which_field_in_oneof("_idle_in_transaction_session_timeout") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_idle_in_transaction_session_timeout") + match field_name_1: case "idle_in_transaction_session_timeout": return self.__OneOfClass__idle_in_transaction_session_timeout_idle_in_transaction_session_timeout__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__autovacuum_vacuum_cost_delay__(pb_classes.OneOf): name: builtins.str= "_autovacuum_vacuum_cost_delay" @@ -119,14 +119,14 @@ def value(self) -> "builtins.int": @builtins.property def _autovacuum_vacuum_cost_delay(self) -> __OneOfClass__autovacuum_vacuum_cost_delay_autovacuum_vacuum_cost_delay__|None: - field_name: str|None = super().which_field_in_oneof("_autovacuum_vacuum_cost_delay") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_autovacuum_vacuum_cost_delay") + match field_name_1: case "autovacuum_vacuum_cost_delay": return self.__OneOfClass__autovacuum_vacuum_cost_delay_autovacuum_vacuum_cost_delay__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__autovacuum_vacuum_cost_limit__(pb_classes.OneOf): name: builtins.str= "_autovacuum_vacuum_cost_limit" @@ -146,14 +146,14 @@ def value(self) -> "builtins.int": @builtins.property def _autovacuum_vacuum_cost_limit(self) -> __OneOfClass__autovacuum_vacuum_cost_limit_autovacuum_vacuum_cost_limit__|None: - field_name: str|None = super().which_field_in_oneof("_autovacuum_vacuum_cost_limit") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_autovacuum_vacuum_cost_limit") + match field_name_1: case "autovacuum_vacuum_cost_limit": return self.__OneOfClass__autovacuum_vacuum_cost_limit_autovacuum_vacuum_cost_limit__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__autovacuum_naptime__(pb_classes.OneOf): name: builtins.str= "_autovacuum_naptime" @@ -173,14 +173,14 @@ def value(self) -> "builtins.int": @builtins.property def _autovacuum_naptime(self) -> __OneOfClass__autovacuum_naptime_autovacuum_naptime__|None: - field_name: str|None = super().which_field_in_oneof("_autovacuum_naptime") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_autovacuum_naptime") + match field_name_1: case "autovacuum_naptime": return self.__OneOfClass__autovacuum_naptime_autovacuum_naptime__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__autovacuum_vacuum_scale_factor__(pb_classes.OneOf): name: builtins.str= "_autovacuum_vacuum_scale_factor" @@ -200,14 +200,14 @@ def value(self) -> "builtins.float": @builtins.property def _autovacuum_vacuum_scale_factor(self) -> __OneOfClass__autovacuum_vacuum_scale_factor_autovacuum_vacuum_scale_factor__|None: - field_name: str|None = super().which_field_in_oneof("_autovacuum_vacuum_scale_factor") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_autovacuum_vacuum_scale_factor") + match field_name_1: case "autovacuum_vacuum_scale_factor": return self.__OneOfClass__autovacuum_vacuum_scale_factor_autovacuum_vacuum_scale_factor__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__autovacuum_analyze_scale_factor__(pb_classes.OneOf): name: builtins.str= "_autovacuum_analyze_scale_factor" @@ -227,14 +227,14 @@ def value(self) -> "builtins.float": @builtins.property def _autovacuum_analyze_scale_factor(self) -> __OneOfClass__autovacuum_analyze_scale_factor_autovacuum_analyze_scale_factor__|None: - field_name: str|None = super().which_field_in_oneof("_autovacuum_analyze_scale_factor") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_autovacuum_analyze_scale_factor") + match field_name_1: case "autovacuum_analyze_scale_factor": return self.__OneOfClass__autovacuum_analyze_scale_factor_autovacuum_analyze_scale_factor__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__default_transaction_read_only__(pb_classes.OneOf): name: builtins.str= "_default_transaction_read_only" @@ -254,14 +254,14 @@ def value(self) -> "builtins.bool": @builtins.property def _default_transaction_read_only(self) -> __OneOfClass__default_transaction_read_only_default_transaction_read_only__|None: - field_name: str|None = super().which_field_in_oneof("_default_transaction_read_only") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_default_transaction_read_only") + match field_name_1: case "default_transaction_read_only": return self.__OneOfClass__default_transaction_read_only_default_transaction_read_only__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__search_path__(pb_classes.OneOf): name: builtins.str= "_search_path" @@ -281,14 +281,14 @@ def value(self) -> "builtins.str": @builtins.property def _search_path(self) -> __OneOfClass__search_path_search_path__|None: - field_name: str|None = super().which_field_in_oneof("_search_path") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_search_path") + match field_name_1: case "search_path": return self.__OneOfClass__search_path_search_path__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__max_connections__(pb_classes.OneOf): name: builtins.str= "_max_connections" @@ -308,14 +308,14 @@ def value(self) -> "builtins.int": @builtins.property def _max_connections(self) -> __OneOfClass__max_connections_max_connections__|None: - field_name: str|None = super().which_field_in_oneof("_max_connections") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_max_connections") + match field_name_1: case "max_connections": return self.__OneOfClass__max_connections_max_connections__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__shared_buffers__(pb_classes.OneOf): name: builtins.str= "_shared_buffers" @@ -335,14 +335,14 @@ def value(self) -> "builtins.int": @builtins.property def _shared_buffers(self) -> __OneOfClass__shared_buffers_shared_buffers__|None: - field_name: str|None = super().which_field_in_oneof("_shared_buffers") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_shared_buffers") + match field_name_1: case "shared_buffers": return self.__OneOfClass__shared_buffers_shared_buffers__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/msp/spark/v1alpha1/__init__.py b/src/nebius/api/nebius/msp/spark/v1alpha1/__init__.py index efa9c60b..021cebeb 100644 --- a/src/nebius/api/nebius/msp/spark/v1alpha1/__init__.py +++ b/src/nebius/api/nebius/msp/spark/v1alpha1/__init__.py @@ -127,14 +127,14 @@ def value(self) -> "builtins.str": @builtins.property def _description(self) -> __OneOfClass__description_description__|None: - field_name: str|None = super().which_field_in_oneof("_description") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_description") + match field_name_1: case "description": return self.__OneOfClass__description_description__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -265,14 +265,14 @@ def value(self) -> "builtins.str": @builtins.property def _history_server_endpoint(self) -> __OneOfClass__history_server_endpoint_history_server_endpoint__|None: - field_name: str|None = super().which_field_in_oneof("_history_server_endpoint") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_history_server_endpoint") + match field_name_1: case "history_server_endpoint": return self.__OneOfClass__history_server_endpoint_history_server_endpoint__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -621,14 +621,14 @@ def value(self) -> "builtins.str": @builtins.property def _next_page_token(self) -> __OneOfClass__next_page_token_next_page_token__|None: - field_name: str|None = super().which_field_in_oneof("_next_page_token") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_next_page_token") + match field_name_1: case "next_page_token": return self.__OneOfClass__next_page_token_next_page_token__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1230,8 +1230,8 @@ def value(self) -> "DynamicAllocationSpec": @builtins.property def hosts_spec(self) -> __OneOfClass_hosts_spec_hosts__|__OneOfClass_hosts_spec_hosts_dynamic_allocation__|None: - field_name: str|None = super().which_field_in_oneof("hosts_spec") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("hosts_spec") + match field_name_1: case "hosts": return self.__OneOfClass_hosts_spec_hosts__(self) case "hosts_dynamic_allocation": @@ -1239,7 +1239,7 @@ def hosts_spec(self) -> __OneOfClass_hosts_spec_hosts__|__OneOfClass_hosts_spec_ case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1479,8 +1479,8 @@ def runtime_config(self) -> __OneOfClass_runtime_config_python__|__OneOfClass_ru Runtime-specific job config """ - field_name: str|None = super().which_field_in_oneof("runtime_config") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("runtime_config") + match field_name_1: case "python": return self.__OneOfClass_runtime_config_python__(self) case "java": @@ -1488,7 +1488,7 @@ def runtime_config(self) -> __OneOfClass_runtime_config_python__|__OneOfClass_ru case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) class __OneOfClass__description__(pb_classes.OneOf): name: builtins.str= "_description" @@ -1508,14 +1508,14 @@ def value(self) -> "builtins.str": @builtins.property def _description(self) -> __OneOfClass__description_description__|None: - field_name: str|None = super().which_field_in_oneof("_description") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_description") + match field_name_1: case "description": return self.__OneOfClass__description_description__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1806,14 +1806,14 @@ def value(self) -> "builtins.str": @builtins.property def _driver_endpoint(self) -> __OneOfClass__driver_endpoint_driver_endpoint__|None: - field_name: str|None = super().which_field_in_oneof("_driver_endpoint") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_driver_endpoint") + match field_name_1: case "driver_endpoint": return self.__OneOfClass__driver_endpoint_driver_endpoint__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2081,14 +2081,14 @@ def value(self) -> "builtins.str": @builtins.property def _next_page_token(self) -> __OneOfClass__next_page_token_next_page_token__|None: - field_name: str|None = super().which_field_in_oneof("_next_page_token") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_next_page_token") + match field_name_1: case "next_page_token": return self.__OneOfClass__next_page_token_next_page_token__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2493,14 +2493,14 @@ def value(self) -> "builtins.str": @builtins.property def _description(self) -> __OneOfClass__description_description__|None: - field_name: str|None = super().which_field_in_oneof("_description") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_description") + match field_name_1: case "description": return self.__OneOfClass__description_description__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2701,14 +2701,14 @@ def value(self) -> "builtins.str": @builtins.property def _spark_connect_endpoint(self) -> __OneOfClass__spark_connect_endpoint_spark_connect_endpoint__|None: - field_name: str|None = super().which_field_in_oneof("_spark_connect_endpoint") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_spark_connect_endpoint") + match field_name_1: case "spark_connect_endpoint": return self.__OneOfClass__spark_connect_endpoint_spark_connect_endpoint__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -3013,14 +3013,14 @@ def value(self) -> "builtins.str": @builtins.property def _next_page_token(self) -> __OneOfClass__next_page_token_next_page_token__|None: - field_name: str|None = super().which_field_in_oneof("_next_page_token") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_next_page_token") + match field_name_1: case "next_page_token": return self.__OneOfClass__next_page_token_next_page_token__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/storage/v1/__init__.py b/src/nebius/api/nebius/storage/v1/__init__.py index d3b6770f..ad95740a 100644 --- a/src/nebius/api/nebius/storage/v1/__init__.py +++ b/src/nebius/api/nebius/storage/v1/__init__.py @@ -609,8 +609,8 @@ def value(self) -> "builtins.int": @builtins.property def expired_with(self) -> __OneOfClass_expired_with_date__|__OneOfClass_expired_with_days__|None: - field_name: str|None = super().which_field_in_oneof("expired_with") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("expired_with") + match field_name_1: case "date": return self.__OneOfClass_expired_with_date__(self) case "days": @@ -618,7 +618,7 @@ def expired_with(self) -> __OneOfClass_expired_with_date__|__OneOfClass_expired_ case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -720,14 +720,14 @@ def value(self) -> "builtins.int": @builtins.property def _newer_noncurrent_versions(self) -> __OneOfClass__newer_noncurrent_versions_newer_noncurrent_versions__|None: - field_name: str|None = super().which_field_in_oneof("_newer_noncurrent_versions") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("_newer_noncurrent_versions") + match field_name_1: case "newer_noncurrent_versions": return self.__OneOfClass__newer_noncurrent_versions_newer_noncurrent_versions__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1388,8 +1388,8 @@ def purge(self) -> __OneOfClass_purge_purge_at__|__OneOfClass_purge_ttl__|None: Otherwise, default ttl of 7 days will be applied. """ - field_name: str|None = super().which_field_in_oneof("purge") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("purge") + match field_name_1: case "purge_at": return self.__OneOfClass_purge_purge_at__(self) case "ttl": @@ -1397,7 +1397,7 @@ def purge(self) -> __OneOfClass_purge_purge_at__|__OneOfClass_purge_ttl__|None: case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/vpc/v1/__init__.py b/src/nebius/api/nebius/vpc/v1/__init__.py index 51ce8534..42925b6f 100644 --- a/src/nebius/api/nebius/vpc/v1/__init__.py +++ b/src/nebius/api/nebius/vpc/v1/__init__.py @@ -631,8 +631,8 @@ def ip_spec(self) -> __OneOfClass_ip_spec_ipv4_private__|__OneOfClass_ip_spec_ip Holds the IP specifications for the allocation, including the type of IP (IPv4 or IPv6) and its corresponding configuration. """ - field_name: str|None = super().which_field_in_oneof("ip_spec") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("ip_spec") + match field_name_1: case "ipv4_private": return self.__OneOfClass_ip_spec_ipv4_private__(self) case "ipv4_public": @@ -640,7 +640,7 @@ def ip_spec(self) -> __OneOfClass_ip_spec_ipv4_private__|__OneOfClass_ip_spec_ip case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -721,8 +721,8 @@ def value(self) -> "builtins.str": @builtins.property def pool(self) -> __OneOfClass_pool_subnet_id__|__OneOfClass_pool_pool_id__|None: - field_name: str|None = super().which_field_in_oneof("pool") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("pool") + match field_name_1: case "subnet_id": return self.__OneOfClass_pool_subnet_id__(self) case "pool_id": @@ -730,7 +730,7 @@ def pool(self) -> __OneOfClass_pool_subnet_id__|__OneOfClass_pool_pool_id__|None case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -839,8 +839,8 @@ def value(self) -> "builtins.str": @builtins.property def pool(self) -> __OneOfClass_pool_subnet_id__|__OneOfClass_pool_pool_id__|None: - field_name: str|None = super().which_field_in_oneof("pool") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("pool") + match field_name_1: case "subnet_id": return self.__OneOfClass_pool_subnet_id__(self) case "pool_id": @@ -848,7 +848,7 @@ def pool(self) -> __OneOfClass_pool_subnet_id__|__OneOfClass_pool_pool_id__|None case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1156,8 +1156,8 @@ def type(self) -> __OneOfClass_type_network_interface__|__OneOfClass_type_load_b which could be a network interface or load balancer assignment. """ - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "network_interface": return self.__OneOfClass_type_network_interface__(self) case "load_balancer": @@ -1165,7 +1165,7 @@ def type(self) -> __OneOfClass_type_network_interface__|__OneOfClass_type_load_b case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, diff --git a/src/nebius/api/nebius/vpc/v1alpha1/__init__.py b/src/nebius/api/nebius/vpc/v1alpha1/__init__.py index d5c4ec68..2e88e9ab 100644 --- a/src/nebius/api/nebius/vpc/v1alpha1/__init__.py +++ b/src/nebius/api/nebius/vpc/v1alpha1/__init__.py @@ -181,8 +181,8 @@ def value(self) -> "builtins.str": @builtins.property def source(self) -> __OneOfClass_source_source_pool_id__|__OneOfClass_source_source_scope_id__|None: - field_name: str|None = super().which_field_in_oneof("source") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("source") + match field_name_1: case "source_pool_id": return self.__OneOfClass_source_source_pool_id__(self) case "source_scope_id": @@ -190,7 +190,7 @@ def source(self) -> __OneOfClass_source_source_pool_id__|__OneOfClass_source_sou case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -580,8 +580,8 @@ def ip_spec(self) -> __OneOfClass_ip_spec_ipv4_private__|__OneOfClass_ip_spec_ip Holds the IP specifications for the allocation, including the type of IP (IPv4 or IPv6) and its corresponding configuration. """ - field_name: str|None = super().which_field_in_oneof("ip_spec") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("ip_spec") + match field_name_1: case "ipv4_private": return self.__OneOfClass_ip_spec_ipv4_private__(self) case "ipv4_public": @@ -589,7 +589,7 @@ def ip_spec(self) -> __OneOfClass_ip_spec_ipv4_private__|__OneOfClass_ip_spec_ip case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -670,8 +670,8 @@ def value(self) -> "builtins.str": @builtins.property def pool(self) -> __OneOfClass_pool_subnet_id__|__OneOfClass_pool_pool_id__|None: - field_name: str|None = super().which_field_in_oneof("pool") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("pool") + match field_name_1: case "subnet_id": return self.__OneOfClass_pool_subnet_id__(self) case "pool_id": @@ -679,7 +679,7 @@ def pool(self) -> __OneOfClass_pool_subnet_id__|__OneOfClass_pool_pool_id__|None case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -1046,8 +1046,8 @@ def type(self) -> __OneOfClass_type_network_interface__|__OneOfClass_type_load_b which could be a network interface or load balancer assignment. """ - field_name: str|None = super().which_field_in_oneof("type") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("type") + match field_name_1: case "network_interface": return self.__OneOfClass_type_network_interface__(self) case "load_balancer": @@ -1055,7 +1055,7 @@ def type(self) -> __OneOfClass_type_network_interface__|__OneOfClass_type_load_b case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -2097,14 +2097,14 @@ def allocation(self) -> __OneOfClass_allocation_allocation_id__|None: Describes different methods of public IP address allocation. """ - field_name: str|None = super().which_field_in_oneof("allocation") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("allocation") + match field_name_1: case "allocation_id": return self.__OneOfClass_allocation_allocation_id__(self) case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self, @@ -3631,8 +3631,8 @@ def value(self) -> "builtins.str": @builtins.property def pool(self) -> __OneOfClass_pool_spec__|__OneOfClass_pool_pool_id__|None: - field_name: str|None = super().which_field_in_oneof("pool") - match field_name: + field_name_1: str|None = super().which_field_in_oneof("pool") + match field_name_1: case "spec": return self.__OneOfClass_pool_spec__(self) case "pool_id": @@ -3640,7 +3640,7 @@ def pool(self) -> __OneOfClass_pool_spec__|__OneOfClass_pool_pool_id__|None: case None: return None case _: - raise pb_classes.OneOfMatchError(field_name) + raise pb_classes.OneOfMatchError(field_name_1) def __init__( self,