From 06259caa7e4f6260ebae0f4d92b5324cc09c6393 Mon Sep 17 00:00:00 2001 From: VDaaS org Date: Mon, 8 Apr 2024 04:54:51 +0000 Subject: [PATCH] Update [vald sha: 989b7990fa80e7025c1b8a1eb12591803bc1a50d] --- VALD_CLIENT_PYTHON_VERSION | 2 +- VALD_SHA | 2 +- setup.cfg | 2 +- src/buf/validate/expression_pb2.py | 6 +- src/buf/validate/priv/private_pb2.py | 6 +- src/buf/validate/validate_pb2.py | 312 ++++---- src/google/api/annotations_pb2.py | 6 +- src/google/api/http_pb2.py | 6 +- src/google/rpc/status_pb2.py | 6 +- src/vald/v1/agent/core/agent_pb2.py | 16 +- .../v1/filter/egress/egress_filter_pb2.py | 10 +- .../v1/filter/ingress/ingress_filter_pb2.py | 10 +- src/vald/v1/payload/payload_pb2.py | 238 ++++--- src/vald/v1/vald/filter_pb2.py | 22 +- src/vald/v1/vald/insert_pb2.py | 10 +- src/vald/v1/vald/object_pb2.py | 12 +- src/vald/v1/vald/remove_pb2.py | 12 +- src/vald/v1/vald/search_pb2.py | 22 +- src/vald/v1/vald/update_pb2.py | 10 +- src/vald/v1/vald/upsert_pb2.py | 10 +- vald-origin | 1 + vald/buf.lock | 13 + vald/buf.yaml | 25 + vald/vald/v1/agent/core/agent.proto | 55 ++ .../vald/v1/filter/egress/egress_filter.proto | 46 ++ .../v1/filter/ingress/ingress_filter.proto | 46 ++ vald/vald/v1/payload/payload.proto | 667 ++++++++++++++++++ vald/vald/v1/vald/filter.proto | 106 +++ vald/vald/v1/vald/insert.proto | 49 ++ vald/vald/v1/vald/object.proto | 48 ++ vald/vald/v1/vald/remove.proto | 57 ++ vald/vald/v1/vald/search.proto | 108 +++ vald/vald/v1/vald/update.proto | 49 ++ vald/vald/v1/vald/upsert.proto | 49 ++ 34 files changed, 1681 insertions(+), 358 deletions(-) create mode 160000 vald-origin create mode 100644 vald/buf.lock create mode 100644 vald/buf.yaml create mode 100644 vald/vald/v1/agent/core/agent.proto create mode 100644 vald/vald/v1/filter/egress/egress_filter.proto create mode 100644 vald/vald/v1/filter/ingress/ingress_filter.proto create mode 100644 vald/vald/v1/payload/payload.proto create mode 100644 vald/vald/v1/vald/filter.proto create mode 100644 vald/vald/v1/vald/insert.proto create mode 100644 vald/vald/v1/vald/object.proto create mode 100644 vald/vald/v1/vald/remove.proto create mode 100644 vald/vald/v1/vald/search.proto create mode 100644 vald/vald/v1/vald/update.proto create mode 100644 vald/vald/v1/vald/upsert.proto diff --git a/VALD_CLIENT_PYTHON_VERSION b/VALD_CLIENT_PYTHON_VERSION index e6a68e91..3994cb7a 100644 --- a/VALD_CLIENT_PYTHON_VERSION +++ b/VALD_CLIENT_PYTHON_VERSION @@ -1 +1 @@ -1.7.12 +1.7.12.post1 diff --git a/VALD_SHA b/VALD_SHA index 2c65e91b..f564d3a0 100644 --- a/VALD_SHA +++ b/VALD_SHA @@ -1 +1 @@ -18786bf03a1a47d7c24afae496ad1c839c1aca1e \ No newline at end of file +989b7990fa80e7025c1b8a1eb12591803bc1a50d \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 78dd09ac..37ac7d91 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = vald-client-python -version = 1.7.12 +version = 1.7.12.post1 url = https://github.com/vdaas/vald-client-python description = a client library for Vald (https://github.com/vdaas/vald). long_description = file: README.md diff --git a/src/buf/validate/expression_pb2.py b/src/buf/validate/expression_pb2.py index 20c0bdb9..e3287fdc 100644 --- a/src/buf/validate/expression_pb2.py +++ b/src/buf/validate/expression_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: buf/validate/expression.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -19,8 +19,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.expression_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\022build.buf.validateB\017ExpressionProtoP\001ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate' _globals['_CONSTRAINT']._serialized_start=47 _globals['_CONSTRAINT']._serialized_end=133 diff --git a/src/buf/validate/priv/private_pb2.py b/src/buf/validate/priv/private_pb2.py index 1da13c3e..0bab1bc2 100644 --- a/src/buf/validate/priv/private_pb2.py +++ b/src/buf/validate/priv/private_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: buf/validate/priv/private.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,8 +20,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.priv.private_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\027build.buf.validate.privB\014PrivateProtoP\001ZLbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate/priv' _globals['_FIELDCONSTRAINTS']._serialized_start=88 _globals['_FIELDCONSTRAINTS']._serialized_end=155 diff --git a/src/buf/validate/validate_pb2.py b/src/buf/validate/validate_pb2.py index a8b2cda9..1ea72c83 100644 --- a/src/buf/validate/validate_pb2.py +++ b/src/buf/validate/validate_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: buf/validate/validate.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -24,314 +24,314 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.validate_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\022build.buf.validateB\rValidateProtoP\001ZGbuf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate' - _globals['_FLOATRULES'].fields_by_name['const']._options = None + _globals['_FLOATRULES'].fields_by_name['const']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['const']._serialized_options = b'\302HW\nU\n\013float.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['lt']._options = None + _globals['_FLOATRULES'].fields_by_name['lt']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['lt']._serialized_options = b'\302H\214\001\n\211\001\n\010float.lt\032}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['lte']._options = None + _globals['_FLOATRULES'].fields_by_name['lte']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['lte']._serialized_options = b'\302H\233\001\n\230\001\n\tfloat.lte\032\212\001!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['gt']._options = None + _globals['_FLOATRULES'].fields_by_name['gt']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['gt']._serialized_options = b'\302H\334\007\n\215\001\n\010float.gt\032\200\001!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\303\001\n\013float.gt_lt\032\263\001has(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\315\001\n\025float.gt_lt_exclusive\032\263\001has(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\323\001\n\014float.gt_lte\032\302\001has(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\335\001\n\026float.gt_lte_exclusive\032\302\001has(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]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['gte']._options = None + _globals['_FLOATRULES'].fields_by_name['gte']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['gte']._serialized_options = b'\302H\246\010\n\233\001\n\tfloat.gte\032\215\001!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\322\001\n\014float.gte_lt\032\301\001has(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\334\001\n\026float.gte_lt_exclusive\032\301\001has(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\342\001\n\rfloat.gte_lte\032\320\001has(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\354\001\n\027float.gte_lte_exclusive\032\320\001has(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]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['in']._options = None + _globals['_FLOATRULES'].fields_by_name['in']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['in']._serialized_options = b'\302Hf\nd\n\010float.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['not_in']._options = None + _globals['_FLOATRULES'].fields_by_name['not_in']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['not_in']._serialized_options = b'\302Hc\na\n\014float.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_FLOATRULES'].fields_by_name['finite']._options = None + _globals['_FLOATRULES'].fields_by_name['finite']._loaded_options = None _globals['_FLOATRULES'].fields_by_name['finite']._serialized_options = b'\302HL\nJ\n\014float.finite\032:this.isNan() || this.isInf() ? \'value must be finite\' : \'\'' - _globals['_DOUBLERULES'].fields_by_name['const']._options = None + _globals['_DOUBLERULES'].fields_by_name['const']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014double.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['lt']._options = None + _globals['_DOUBLERULES'].fields_by_name['lt']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['lt']._serialized_options = b'\302H\215\001\n\212\001\n\tdouble.lt\032}!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['lte']._options = None + _globals['_DOUBLERULES'].fields_by_name['lte']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['lte']._serialized_options = b'\302H\234\001\n\231\001\n\ndouble.lte\032\212\001!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['gt']._options = None + _globals['_DOUBLERULES'].fields_by_name['gt']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['gt']._serialized_options = b'\302H\341\007\n\216\001\n\tdouble.gt\032\200\001!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\304\001\n\014double.gt_lt\032\263\001has(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\316\001\n\026double.gt_lt_exclusive\032\263\001has(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\324\001\n\rdouble.gt_lte\032\302\001has(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\336\001\n\027double.gt_lte_exclusive\032\302\001has(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]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['gte']._options = None + _globals['_DOUBLERULES'].fields_by_name['gte']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['gte']._serialized_options = b'\302H\253\010\n\234\001\n\ndouble.gte\032\215\001!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\323\001\n\rdouble.gte_lt\032\301\001has(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\335\001\n\027double.gte_lt_exclusive\032\301\001has(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\343\001\n\016double.gte_lte\032\320\001has(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\355\001\n\030double.gte_lte_exclusive\032\320\001has(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]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['in']._options = None + _globals['_DOUBLERULES'].fields_by_name['in']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tdouble.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['not_in']._options = None + _globals['_DOUBLERULES'].fields_by_name['not_in']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\rdouble.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_DOUBLERULES'].fields_by_name['finite']._options = None + _globals['_DOUBLERULES'].fields_by_name['finite']._loaded_options = None _globals['_DOUBLERULES'].fields_by_name['finite']._serialized_options = b'\302HM\nK\n\rdouble.finite\032:this.isNan() || this.isInf() ? \'value must be finite\' : \'\'' - _globals['_INT32RULES'].fields_by_name['const']._options = None + _globals['_INT32RULES'].fields_by_name['const']._loaded_options = None _globals['_INT32RULES'].fields_by_name['const']._serialized_options = b'\302HW\nU\n\013int32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_INT32RULES'].fields_by_name['lt']._options = None + _globals['_INT32RULES'].fields_by_name['lt']._loaded_options = None _globals['_INT32RULES'].fields_by_name['lt']._serialized_options = b'\302Hy\nw\n\010int32.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_INT32RULES'].fields_by_name['lte']._options = None + _globals['_INT32RULES'].fields_by_name['lte']._loaded_options = None _globals['_INT32RULES'].fields_by_name['lte']._serialized_options = b'\302H\210\001\n\205\001\n\tint32.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_INT32RULES'].fields_by_name['gt']._options = None + _globals['_INT32RULES'].fields_by_name['gt']._loaded_options = None _globals['_INT32RULES'].fields_by_name['gt']._serialized_options = b'\302H\204\007\nz\n\010int32.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\263\001\n\013int32.gt_lt\032\243\001has(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\273\001\n\025int32.gt_lt_exclusive\032\241\001has(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\303\001\n\014int32.gt_lte\032\262\001has(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\313\001\n\026int32.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_INT32RULES'].fields_by_name['gte']._options = None + _globals['_INT32RULES'].fields_by_name['gte']._loaded_options = None _globals['_INT32RULES'].fields_by_name['gte']._serialized_options = b'\302H\317\007\n\210\001\n\tint32.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\302\001\n\014int32.gte_lt\032\261\001has(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\312\001\n\026int32.gte_lt_exclusive\032\257\001has(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\322\001\n\rint32.gte_lte\032\300\001has(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\332\001\n\027int32.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_INT32RULES'].fields_by_name['in']._options = None + _globals['_INT32RULES'].fields_by_name['in']._loaded_options = None _globals['_INT32RULES'].fields_by_name['in']._serialized_options = b'\302Hf\nd\n\010int32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_INT32RULES'].fields_by_name['not_in']._options = None + _globals['_INT32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_INT32RULES'].fields_by_name['not_in']._serialized_options = b'\302Hc\na\n\014int32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_INT64RULES'].fields_by_name['const']._options = None + _globals['_INT64RULES'].fields_by_name['const']._loaded_options = None _globals['_INT64RULES'].fields_by_name['const']._serialized_options = b'\302HW\nU\n\013int64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_INT64RULES'].fields_by_name['lt']._options = None + _globals['_INT64RULES'].fields_by_name['lt']._loaded_options = None _globals['_INT64RULES'].fields_by_name['lt']._serialized_options = b'\302Hy\nw\n\010int64.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_INT64RULES'].fields_by_name['lte']._options = None + _globals['_INT64RULES'].fields_by_name['lte']._loaded_options = None _globals['_INT64RULES'].fields_by_name['lte']._serialized_options = b'\302H\210\001\n\205\001\n\tint64.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_INT64RULES'].fields_by_name['gt']._options = None + _globals['_INT64RULES'].fields_by_name['gt']._loaded_options = None _globals['_INT64RULES'].fields_by_name['gt']._serialized_options = b'\302H\204\007\nz\n\010int64.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\263\001\n\013int64.gt_lt\032\243\001has(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\273\001\n\025int64.gt_lt_exclusive\032\241\001has(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\303\001\n\014int64.gt_lte\032\262\001has(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\313\001\n\026int64.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_INT64RULES'].fields_by_name['gte']._options = None + _globals['_INT64RULES'].fields_by_name['gte']._loaded_options = None _globals['_INT64RULES'].fields_by_name['gte']._serialized_options = b'\302H\317\007\n\210\001\n\tint64.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\302\001\n\014int64.gte_lt\032\261\001has(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\312\001\n\026int64.gte_lt_exclusive\032\257\001has(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\322\001\n\rint64.gte_lte\032\300\001has(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\332\001\n\027int64.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_INT64RULES'].fields_by_name['in']._options = None + _globals['_INT64RULES'].fields_by_name['in']._loaded_options = None _globals['_INT64RULES'].fields_by_name['in']._serialized_options = b'\302Hf\nd\n\010int64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_INT64RULES'].fields_by_name['not_in']._options = None + _globals['_INT64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_INT64RULES'].fields_by_name['not_in']._serialized_options = b'\302Hc\na\n\014int64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['const']._options = None + _globals['_UINT32RULES'].fields_by_name['const']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014uint32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['lt']._options = None + _globals['_UINT32RULES'].fields_by_name['lt']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['lt']._serialized_options = b'\302Hz\nx\n\tuint32.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['lte']._options = None + _globals['_UINT32RULES'].fields_by_name['lte']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['lte']._serialized_options = b'\302H\211\001\n\206\001\n\nuint32.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['gt']._options = None + _globals['_UINT32RULES'].fields_by_name['gt']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['gt']._serialized_options = b'\302H\211\007\n{\n\tuint32.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\264\001\n\014uint32.gt_lt\032\243\001has(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\274\001\n\026uint32.gt_lt_exclusive\032\241\001has(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\304\001\n\ruint32.gt_lte\032\262\001has(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\314\001\n\027uint32.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['gte']._options = None + _globals['_UINT32RULES'].fields_by_name['gte']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['gte']._serialized_options = b'\302H\324\007\n\211\001\n\nuint32.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\303\001\n\ruint32.gte_lt\032\261\001has(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\313\001\n\027uint32.gte_lt_exclusive\032\257\001has(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\323\001\n\016uint32.gte_lte\032\300\001has(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\333\001\n\030uint32.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['in']._options = None + _globals['_UINT32RULES'].fields_by_name['in']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tuint32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_UINT32RULES'].fields_by_name['not_in']._options = None + _globals['_UINT32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_UINT32RULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\ruint32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['const']._options = None + _globals['_UINT64RULES'].fields_by_name['const']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014uint64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['lt']._options = None + _globals['_UINT64RULES'].fields_by_name['lt']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['lt']._serialized_options = b'\302Hz\nx\n\tuint64.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['lte']._options = None + _globals['_UINT64RULES'].fields_by_name['lte']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['lte']._serialized_options = b'\302H\211\001\n\206\001\n\nuint64.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['gt']._options = None + _globals['_UINT64RULES'].fields_by_name['gt']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['gt']._serialized_options = b'\302H\211\007\n{\n\tuint64.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\264\001\n\014uint64.gt_lt\032\243\001has(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\274\001\n\026uint64.gt_lt_exclusive\032\241\001has(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\304\001\n\ruint64.gt_lte\032\262\001has(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\314\001\n\027uint64.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['gte']._options = None + _globals['_UINT64RULES'].fields_by_name['gte']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['gte']._serialized_options = b'\302H\324\007\n\211\001\n\nuint64.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\303\001\n\ruint64.gte_lt\032\261\001has(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\313\001\n\027uint64.gte_lt_exclusive\032\257\001has(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\323\001\n\016uint64.gte_lte\032\300\001has(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\333\001\n\030uint64.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['in']._options = None + _globals['_UINT64RULES'].fields_by_name['in']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tuint64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_UINT64RULES'].fields_by_name['not_in']._options = None + _globals['_UINT64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_UINT64RULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\ruint64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['const']._options = None + _globals['_SINT32RULES'].fields_by_name['const']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014sint32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['lt']._options = None + _globals['_SINT32RULES'].fields_by_name['lt']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['lt']._serialized_options = b'\302Hz\nx\n\tsint32.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['lte']._options = None + _globals['_SINT32RULES'].fields_by_name['lte']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['lte']._serialized_options = b'\302H\211\001\n\206\001\n\nsint32.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['gt']._options = None + _globals['_SINT32RULES'].fields_by_name['gt']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['gt']._serialized_options = b'\302H\211\007\n{\n\tsint32.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\264\001\n\014sint32.gt_lt\032\243\001has(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\274\001\n\026sint32.gt_lt_exclusive\032\241\001has(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\304\001\n\rsint32.gt_lte\032\262\001has(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\314\001\n\027sint32.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['gte']._options = None + _globals['_SINT32RULES'].fields_by_name['gte']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['gte']._serialized_options = b'\302H\324\007\n\211\001\n\nsint32.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\303\001\n\rsint32.gte_lt\032\261\001has(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\313\001\n\027sint32.gte_lt_exclusive\032\257\001has(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\323\001\n\016sint32.gte_lte\032\300\001has(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\333\001\n\030sint32.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['in']._options = None + _globals['_SINT32RULES'].fields_by_name['in']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tsint32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_SINT32RULES'].fields_by_name['not_in']._options = None + _globals['_SINT32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_SINT32RULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\rsint32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['const']._options = None + _globals['_SINT64RULES'].fields_by_name['const']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['const']._serialized_options = b'\302HX\nV\n\014sint64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['lt']._options = None + _globals['_SINT64RULES'].fields_by_name['lt']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['lt']._serialized_options = b'\302Hz\nx\n\tsint64.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['lte']._options = None + _globals['_SINT64RULES'].fields_by_name['lte']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['lte']._serialized_options = b'\302H\211\001\n\206\001\n\nsint64.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['gt']._options = None + _globals['_SINT64RULES'].fields_by_name['gt']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['gt']._serialized_options = b'\302H\211\007\n{\n\tsint64.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\264\001\n\014sint64.gt_lt\032\243\001has(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\274\001\n\026sint64.gt_lt_exclusive\032\241\001has(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\304\001\n\rsint64.gt_lte\032\262\001has(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\314\001\n\027sint64.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['gte']._options = None + _globals['_SINT64RULES'].fields_by_name['gte']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['gte']._serialized_options = b'\302H\324\007\n\211\001\n\nsint64.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\303\001\n\rsint64.gte_lt\032\261\001has(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\313\001\n\027sint64.gte_lt_exclusive\032\257\001has(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\323\001\n\016sint64.gte_lte\032\300\001has(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\333\001\n\030sint64.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['in']._options = None + _globals['_SINT64RULES'].fields_by_name['in']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tsint64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_SINT64RULES'].fields_by_name['not_in']._options = None + _globals['_SINT64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_SINT64RULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\rsint64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['const']._options = None + _globals['_FIXED32RULES'].fields_by_name['const']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['const']._serialized_options = b'\302HY\nW\n\rfixed32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['lt']._options = None + _globals['_FIXED32RULES'].fields_by_name['lt']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['lt']._serialized_options = b'\302H{\ny\n\nfixed32.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['lte']._options = None + _globals['_FIXED32RULES'].fields_by_name['lte']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['lte']._serialized_options = b'\302H\212\001\n\207\001\n\013fixed32.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['gt']._options = None + _globals['_FIXED32RULES'].fields_by_name['gt']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['gt']._serialized_options = b'\302H\216\007\n|\n\nfixed32.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\265\001\n\rfixed32.gt_lt\032\243\001has(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\275\001\n\027fixed32.gt_lt_exclusive\032\241\001has(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\305\001\n\016fixed32.gt_lte\032\262\001has(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\315\001\n\030fixed32.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['gte']._options = None + _globals['_FIXED32RULES'].fields_by_name['gte']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['gte']._serialized_options = b'\302H\331\007\n\212\001\n\013fixed32.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\304\001\n\016fixed32.gte_lt\032\261\001has(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\314\001\n\030fixed32.gte_lt_exclusive\032\257\001has(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\324\001\n\017fixed32.gte_lte\032\300\001has(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\334\001\n\031fixed32.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['in']._options = None + _globals['_FIXED32RULES'].fields_by_name['in']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['in']._serialized_options = b'\302Hh\nf\n\nfixed32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_FIXED32RULES'].fields_by_name['not_in']._options = None + _globals['_FIXED32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_FIXED32RULES'].fields_by_name['not_in']._serialized_options = b'\302He\nc\n\016fixed32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['const']._options = None + _globals['_FIXED64RULES'].fields_by_name['const']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['const']._serialized_options = b'\302HY\nW\n\rfixed64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['lt']._options = None + _globals['_FIXED64RULES'].fields_by_name['lt']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['lt']._serialized_options = b'\302H{\ny\n\nfixed64.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['lte']._options = None + _globals['_FIXED64RULES'].fields_by_name['lte']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['lte']._serialized_options = b'\302H\212\001\n\207\001\n\013fixed64.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['gt']._options = None + _globals['_FIXED64RULES'].fields_by_name['gt']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['gt']._serialized_options = b'\302H\216\007\n|\n\nfixed64.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\265\001\n\rfixed64.gt_lt\032\243\001has(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\275\001\n\027fixed64.gt_lt_exclusive\032\241\001has(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\305\001\n\016fixed64.gt_lte\032\262\001has(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\315\001\n\030fixed64.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['gte']._options = None + _globals['_FIXED64RULES'].fields_by_name['gte']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['gte']._serialized_options = b'\302H\331\007\n\212\001\n\013fixed64.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\304\001\n\016fixed64.gte_lt\032\261\001has(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\314\001\n\030fixed64.gte_lt_exclusive\032\257\001has(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\324\001\n\017fixed64.gte_lte\032\300\001has(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\334\001\n\031fixed64.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['in']._options = None + _globals['_FIXED64RULES'].fields_by_name['in']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['in']._serialized_options = b'\302Hh\nf\n\nfixed64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_FIXED64RULES'].fields_by_name['not_in']._options = None + _globals['_FIXED64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_FIXED64RULES'].fields_by_name['not_in']._serialized_options = b'\302He\nc\n\016fixed64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['const']._options = None + _globals['_SFIXED32RULES'].fields_by_name['const']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['const']._serialized_options = b'\302HZ\nX\n\016sfixed32.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['lt']._options = None + _globals['_SFIXED32RULES'].fields_by_name['lt']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['lt']._serialized_options = b'\302H|\nz\n\013sfixed32.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['lte']._options = None + _globals['_SFIXED32RULES'].fields_by_name['lte']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['lte']._serialized_options = b'\302H\213\001\n\210\001\n\014sfixed32.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['gt']._options = None + _globals['_SFIXED32RULES'].fields_by_name['gt']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['gt']._serialized_options = b'\302H\223\007\n}\n\013sfixed32.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\266\001\n\016sfixed32.gt_lt\032\243\001has(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\276\001\n\030sfixed32.gt_lt_exclusive\032\241\001has(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\306\001\n\017sfixed32.gt_lte\032\262\001has(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\316\001\n\031sfixed32.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['gte']._options = None + _globals['_SFIXED32RULES'].fields_by_name['gte']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['gte']._serialized_options = b'\302H\336\007\n\213\001\n\014sfixed32.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\305\001\n\017sfixed32.gte_lt\032\261\001has(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\315\001\n\031sfixed32.gte_lt_exclusive\032\257\001has(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\325\001\n\020sfixed32.gte_lte\032\300\001has(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\335\001\n\032sfixed32.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['in']._options = None + _globals['_SFIXED32RULES'].fields_by_name['in']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['in']._serialized_options = b'\302Hi\ng\n\013sfixed32.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_SFIXED32RULES'].fields_by_name['not_in']._options = None + _globals['_SFIXED32RULES'].fields_by_name['not_in']._loaded_options = None _globals['_SFIXED32RULES'].fields_by_name['not_in']._serialized_options = b'\302Hf\nd\n\017sfixed32.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['const']._options = None + _globals['_SFIXED64RULES'].fields_by_name['const']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['const']._serialized_options = b'\302HZ\nX\n\016sfixed64.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['lt']._options = None + _globals['_SFIXED64RULES'].fields_by_name['lt']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['lt']._serialized_options = b'\302H|\nz\n\013sfixed64.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['lte']._options = None + _globals['_SFIXED64RULES'].fields_by_name['lte']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['lte']._serialized_options = b'\302H\213\001\n\210\001\n\014sfixed64.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['gt']._options = None + _globals['_SFIXED64RULES'].fields_by_name['gt']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['gt']._serialized_options = b'\302H\223\007\n}\n\013sfixed64.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\266\001\n\016sfixed64.gt_lt\032\243\001has(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\276\001\n\030sfixed64.gt_lt_exclusive\032\241\001has(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\306\001\n\017sfixed64.gt_lte\032\262\001has(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\316\001\n\031sfixed64.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['gte']._options = None + _globals['_SFIXED64RULES'].fields_by_name['gte']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['gte']._serialized_options = b'\302H\336\007\n\213\001\n\014sfixed64.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\305\001\n\017sfixed64.gte_lt\032\261\001has(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\315\001\n\031sfixed64.gte_lt_exclusive\032\257\001has(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\325\001\n\020sfixed64.gte_lte\032\300\001has(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\335\001\n\032sfixed64.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['in']._options = None + _globals['_SFIXED64RULES'].fields_by_name['in']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['in']._serialized_options = b'\302Hi\ng\n\013sfixed64.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_SFIXED64RULES'].fields_by_name['not_in']._options = None + _globals['_SFIXED64RULES'].fields_by_name['not_in']._loaded_options = None _globals['_SFIXED64RULES'].fields_by_name['not_in']._serialized_options = b'\302Hf\nd\n\017sfixed64.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_BOOLRULES'].fields_by_name['const']._options = None + _globals['_BOOLRULES'].fields_by_name['const']._loaded_options = None _globals['_BOOLRULES'].fields_by_name['const']._serialized_options = b'\302HV\nT\n\nbool.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['const']._options = None + _globals['_STRINGRULES'].fields_by_name['const']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['const']._serialized_options = b'\302HZ\nX\n\014string.const\032Hthis != rules.const ? \'value must equal `%s`\'.format([rules.const]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['len']._options = None + _globals['_STRINGRULES'].fields_by_name['len']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['len']._serialized_options = b'\302Hn\nl\n\nstring.len\032^uint(this.size()) != rules.len ? \'value length must be %s characters\'.format([rules.len]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['min_len']._options = None + _globals['_STRINGRULES'].fields_by_name['min_len']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['min_len']._serialized_options = b'\302H\203\001\n\200\001\n\016string.min_len\032nuint(this.size()) < rules.min_len ? \'value length must be at least %s characters\'.format([rules.min_len]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['max_len']._options = None + _globals['_STRINGRULES'].fields_by_name['max_len']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['max_len']._serialized_options = b'\302H\201\001\n\177\n\016string.max_len\032muint(this.size()) > rules.max_len ? \'value length must be at most %s characters\'.format([rules.max_len]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['len_bytes']._options = None + _globals['_STRINGRULES'].fields_by_name['len_bytes']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['len_bytes']._serialized_options = b'\302H\203\001\n\200\001\n\020string.len_bytes\032luint(bytes(this).size()) != rules.len_bytes ? \'value length must be %s bytes\'.format([rules.len_bytes]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['min_bytes']._options = None + _globals['_STRINGRULES'].fields_by_name['min_bytes']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['min_bytes']._serialized_options = b'\302H\213\001\n\210\001\n\020string.min_bytes\032tuint(bytes(this).size()) < rules.min_bytes ? \'value length must be at least %s bytes\'.format([rules.min_bytes]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['max_bytes']._options = None + _globals['_STRINGRULES'].fields_by_name['max_bytes']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['max_bytes']._serialized_options = b'\302H\212\001\n\207\001\n\020string.max_bytes\032suint(bytes(this).size()) > rules.max_bytes ? \'value length must be at most %s bytes\'.format([rules.max_bytes]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['pattern']._options = None + _globals['_STRINGRULES'].fields_by_name['pattern']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['pattern']._serialized_options = b'\302Hy\nw\n\016string.pattern\032e!this.matches(rules.pattern) ? \'value does not match regex pattern `%s`\'.format([rules.pattern]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['prefix']._options = None + _globals['_STRINGRULES'].fields_by_name['prefix']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['prefix']._serialized_options = b'\302Hq\no\n\rstring.prefix\032^!this.startsWith(rules.prefix) ? \'value does not have prefix `%s`\'.format([rules.prefix]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['suffix']._options = None + _globals['_STRINGRULES'].fields_by_name['suffix']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['suffix']._serialized_options = b'\302Ho\nm\n\rstring.suffix\032\\!this.endsWith(rules.suffix) ? \'value does not have suffix `%s`\'.format([rules.suffix]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['contains']._options = None + _globals['_STRINGRULES'].fields_by_name['contains']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['contains']._serialized_options = b'\302H{\ny\n\017string.contains\032f!this.contains(rules.contains) ? \'value does not contain substring `%s`\'.format([rules.contains]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['not_contains']._options = None + _globals['_STRINGRULES'].fields_by_name['not_contains']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['not_contains']._serialized_options = b'\302H~\n|\n\023string.not_contains\032ethis.contains(rules.not_contains) ? \'value contains substring `%s`\'.format([rules.not_contains]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['in']._options = None + _globals['_STRINGRULES'].fields_by_name['in']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['in']._serialized_options = b'\302Hg\ne\n\tstring.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['not_in']._options = None + _globals['_STRINGRULES'].fields_by_name['not_in']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['not_in']._serialized_options = b'\302Hd\nb\n\rstring.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_STRINGRULES'].fields_by_name['email']._options = None + _globals['_STRINGRULES'].fields_by_name['email']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['email']._serialized_options = b'\302HE\nC\n\014string.email\022#value must be a valid email address\032\016this.isEmail()' - _globals['_STRINGRULES'].fields_by_name['hostname']._options = None + _globals['_STRINGRULES'].fields_by_name['hostname']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['hostname']._serialized_options = b'\302HF\nD\n\017string.hostname\022\036value must be a valid hostname\032\021this.isHostname()' - _globals['_STRINGRULES'].fields_by_name['ip']._options = None + _globals['_STRINGRULES'].fields_by_name['ip']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ip']._serialized_options = b'\302H<\n:\n\tstring.ip\022 value must be a valid IP address\032\013this.isIp()' - _globals['_STRINGRULES'].fields_by_name['ipv4']._options = None + _globals['_STRINGRULES'].fields_by_name['ipv4']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ipv4']._serialized_options = b'\302HA\n?\n\013string.ipv4\022\"value must be a valid IPv4 address\032\014this.isIp(4)' - _globals['_STRINGRULES'].fields_by_name['ipv6']._options = None + _globals['_STRINGRULES'].fields_by_name['ipv6']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ipv6']._serialized_options = b'\302HA\n?\n\013string.ipv6\022\"value must be a valid IPv6 address\032\014this.isIp(6)' - _globals['_STRINGRULES'].fields_by_name['uri']._options = None + _globals['_STRINGRULES'].fields_by_name['uri']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['uri']._serialized_options = b'\302H7\n5\n\nstring.uri\022\031value must be a valid URI\032\014this.isUri()' - _globals['_STRINGRULES'].fields_by_name['uri_ref']._options = None + _globals['_STRINGRULES'].fields_by_name['uri_ref']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['uri_ref']._serialized_options = b'\302H>\n<\n\016string.uri_ref\022\031value must be a valid URI\032\017this.isUriRef()' - _globals['_STRINGRULES'].fields_by_name['address']._options = None + _globals['_STRINGRULES'].fields_by_name['address']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['address']._serialized_options = b'\302Hc\na\n\016string.address\022-value must be a valid hostname, or ip address\032 this.isHostname() || this.isIp()' - _globals['_STRINGRULES'].fields_by_name['uuid']._options = None + _globals['_STRINGRULES'].fields_by_name['uuid']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['uuid']._serialized_options = b'\302H\225\001\n\222\001\n\013string.uuid\032\202\001!this.matches(\'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\') ? \'value must be a valid UUID\' : \'\'' - _globals['_STRINGRULES'].fields_by_name['ip_with_prefixlen']._options = None + _globals['_STRINGRULES'].fields_by_name['ip_with_prefixlen']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ip_with_prefixlen']._serialized_options = b'\302HP\nN\n\030string.ip_with_prefixlen\022\037value must be a valid IP prefix\032\021this.isIpPrefix()' - _globals['_STRINGRULES'].fields_by_name['ipv4_with_prefixlen']._options = None + _globals['_STRINGRULES'].fields_by_name['ipv4_with_prefixlen']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ipv4_with_prefixlen']._serialized_options = b'\302Hi\ng\n\032string.ipv4_with_prefixlen\0225value must be a valid IPv4 address with prefix length\032\022this.isIpPrefix(4)' - _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._options = None + _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ipv6_with_prefixlen']._serialized_options = b'\302Hi\ng\n\032string.ipv6_with_prefixlen\0225value must be a valid IPv6 address with prefix length\032\022this.isIpPrefix(6)' - _globals['_STRINGRULES'].fields_by_name['ip_prefix']._options = None + _globals['_STRINGRULES'].fields_by_name['ip_prefix']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ip_prefix']._serialized_options = b'\302HL\nJ\n\020string.ip_prefix\022\037value must be a valid IP prefix\032\025this.isIpPrefix(true)' - _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._options = None + _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ipv4_prefix']._serialized_options = b'\302HS\nQ\n\022string.ipv4_prefix\022!value must be a valid IPv4 prefix\032\030this.isIpPrefix(4, true)' - _globals['_STRINGRULES'].fields_by_name['ipv6_prefix']._options = None + _globals['_STRINGRULES'].fields_by_name['ipv6_prefix']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['ipv6_prefix']._serialized_options = b'\302HS\nQ\n\022string.ipv6_prefix\022!value must be a valid IPv6 prefix\032\030this.isIpPrefix(6, true)' - _globals['_STRINGRULES'].fields_by_name['well_known_regex']._options = None + _globals['_STRINGRULES'].fields_by_name['well_known_regex']._loaded_options = None _globals['_STRINGRULES'].fields_by_name['well_known_regex']._serialized_options = b'\302H\341\003\n\353\001\n#string.well_known_regex.header_name\032\303\001rules.well_known_regex == 1 && !this.matches(!has(rules.strict) || rules.strict ?\'^:?[0-9a-zA-Z!#$%&\\\'*+-.^_|~\\x60]+$\' :\'^[^\\u0000\\u000A\\u000D]+$\') ? \'value must be a valid HTTP header name\' : \'\'\n\360\001\n$string.well_known_regex.header_value\032\307\001rules.well_known_regex == 2 && !this.matches(!has(rules.strict) || rules.strict ?\'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$\' :\'^[^\\u0000\\u000A\\u000D]*$\') ? \'value must be a valid HTTP header value\' : \'\'' - _globals['_BYTESRULES'].fields_by_name['const']._options = None + _globals['_BYTESRULES'].fields_by_name['const']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['const']._serialized_options = b'\302HT\nR\n\013bytes.const\032Cthis != rules.const ? \'value must be %x\'.format([rules.const]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['len']._options = None + _globals['_BYTESRULES'].fields_by_name['len']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['len']._serialized_options = b'\302Hh\nf\n\tbytes.len\032Yuint(this.size()) != rules.len ? \'value length must be %s bytes\'.format([rules.len]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['min_len']._options = None + _globals['_BYTESRULES'].fields_by_name['min_len']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['min_len']._serialized_options = b'\302H|\nz\n\rbytes.min_len\032iuint(this.size()) < rules.min_len ? \'value length must be at least %s bytes\'.format([rules.min_len]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['max_len']._options = None + _globals['_BYTESRULES'].fields_by_name['max_len']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['max_len']._serialized_options = b'\302Ht\nr\n\rbytes.max_len\032auint(this.size()) > rules.max_len ? \'value must be at most %s bytes\'.format([rules.max_len]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['pattern']._options = None + _globals['_BYTESRULES'].fields_by_name['pattern']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['pattern']._serialized_options = b'\302H|\nz\n\rbytes.pattern\032i!string(this).matches(rules.pattern) ? \'value must match regex pattern `%s`\'.format([rules.pattern]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['prefix']._options = None + _globals['_BYTESRULES'].fields_by_name['prefix']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['prefix']._serialized_options = b'\302Hn\nl\n\014bytes.prefix\032\\!this.startsWith(rules.prefix) ? \'value does not have prefix %x\'.format([rules.prefix]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['suffix']._options = None + _globals['_BYTESRULES'].fields_by_name['suffix']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['suffix']._serialized_options = b'\302Hl\nj\n\014bytes.suffix\032Z!this.endsWith(rules.suffix) ? \'value does not have suffix %x\'.format([rules.suffix]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['contains']._options = None + _globals['_BYTESRULES'].fields_by_name['contains']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['contains']._serialized_options = b'\302Hn\nl\n\016bytes.contains\032Z!this.contains(rules.contains) ? \'value does not contain %x\'.format([rules.contains]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['in']._options = None + _globals['_BYTESRULES'].fields_by_name['in']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['in']._serialized_options = b'\302H\206\001\n\203\001\n\010bytes.in\032wdyn(rules)[\'in\'].size() > 0 && !(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['not_in']._options = None + _globals['_BYTESRULES'].fields_by_name['not_in']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['not_in']._serialized_options = b'\302Hc\na\n\014bytes.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_BYTESRULES'].fields_by_name['ip']._options = None + _globals['_BYTESRULES'].fields_by_name['ip']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['ip']._serialized_options = b'\302H]\n[\n\010bytes.ip\032Othis.size() != 4 && this.size() != 16 ? \'value must be a valid IP address\' : \'\'' - _globals['_BYTESRULES'].fields_by_name['ipv4']._options = None + _globals['_BYTESRULES'].fields_by_name['ipv4']._loaded_options = None _globals['_BYTESRULES'].fields_by_name['ipv4']._serialized_options = b'\302HL\nJ\n\nbytes.ipv4\032 rules.max_items ? \'value must contain no more than %s item(s)\'.format([rules.max_items]) : \'\'' - _globals['_REPEATEDRULES'].fields_by_name['unique']._options = None + _globals['_REPEATEDRULES'].fields_by_name['unique']._loaded_options = None _globals['_REPEATEDRULES'].fields_by_name['unique']._serialized_options = b'\302HL\nJ\n\017repeated.unique\022(repeated value must contain unique items\032\rthis.unique()' - _globals['_MAPRULES'].fields_by_name['min_pairs']._options = None + _globals['_MAPRULES'].fields_by_name['min_pairs']._loaded_options = None _globals['_MAPRULES'].fields_by_name['min_pairs']._serialized_options = b'\302Hy\nw\n\rmap.min_pairs\032fuint(this.size()) < rules.min_pairs ? \'map must be at least %d entries\'.format([rules.min_pairs]) : \'\'' - _globals['_MAPRULES'].fields_by_name['max_pairs']._options = None + _globals['_MAPRULES'].fields_by_name['max_pairs']._loaded_options = None _globals['_MAPRULES'].fields_by_name['max_pairs']._serialized_options = b'\302Hx\nv\n\rmap.max_pairs\032euint(this.size()) > rules.max_pairs ? \'map must be at most %d entries\'.format([rules.max_pairs]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['const']._options = None + _globals['_DURATIONRULES'].fields_by_name['const']._loaded_options = None _globals['_DURATIONRULES'].fields_by_name['const']._serialized_options = b'\302HZ\nX\n\016duration.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['lt']._options = None + _globals['_DURATIONRULES'].fields_by_name['lt']._loaded_options = None _globals['_DURATIONRULES'].fields_by_name['lt']._serialized_options = b'\302H|\nz\n\013duration.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['lte']._options = None + _globals['_DURATIONRULES'].fields_by_name['lte']._loaded_options = None _globals['_DURATIONRULES'].fields_by_name['lte']._serialized_options = b'\302H\213\001\n\210\001\n\014duration.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['gt']._options = None + _globals['_DURATIONRULES'].fields_by_name['gt']._loaded_options = None _globals['_DURATIONRULES'].fields_by_name['gt']._serialized_options = b'\302H\223\007\n}\n\013duration.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\266\001\n\016duration.gt_lt\032\243\001has(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\276\001\n\030duration.gt_lt_exclusive\032\241\001has(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\306\001\n\017duration.gt_lte\032\262\001has(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\316\001\n\031duration.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['gte']._options = None + _globals['_DURATIONRULES'].fields_by_name['gte']._loaded_options = None _globals['_DURATIONRULES'].fields_by_name['gte']._serialized_options = b'\302H\336\007\n\213\001\n\014duration.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\305\001\n\017duration.gte_lt\032\261\001has(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\315\001\n\031duration.gte_lt_exclusive\032\257\001has(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\325\001\n\020duration.gte_lte\032\300\001has(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\335\001\n\032duration.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['in']._options = None + _globals['_DURATIONRULES'].fields_by_name['in']._loaded_options = None _globals['_DURATIONRULES'].fields_by_name['in']._serialized_options = b'\302Hi\ng\n\013duration.in\032X!(this in dyn(rules)[\'in\']) ? \'value must be in list %s\'.format([dyn(rules)[\'in\']]) : \'\'' - _globals['_DURATIONRULES'].fields_by_name['not_in']._options = None + _globals['_DURATIONRULES'].fields_by_name['not_in']._loaded_options = None _globals['_DURATIONRULES'].fields_by_name['not_in']._serialized_options = b'\302Hf\nd\n\017duration.not_in\032Qthis in rules.not_in ? \'value must not be in list %s\'.format([rules.not_in]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['const']._options = None + _globals['_TIMESTAMPRULES'].fields_by_name['const']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['const']._serialized_options = b'\302H[\nY\n\017timestamp.const\032Fthis != rules.const ? \'value must equal %s\'.format([rules.const]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['lt']._options = None + _globals['_TIMESTAMPRULES'].fields_by_name['lt']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['lt']._serialized_options = b'\302H}\n{\n\014timestamp.lt\032k!has(rules.gte) && !has(rules.gt) && this >= rules.lt? \'value must be less than %s\'.format([rules.lt]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['lte']._options = None + _globals['_TIMESTAMPRULES'].fields_by_name['lte']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['lte']._serialized_options = b'\302H\214\001\n\211\001\n\rtimestamp.lte\032x!has(rules.gte) && !has(rules.gt) && this > rules.lte? \'value must be less than or equal to %s\'.format([rules.lte]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._options = None + _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['lt_now']._serialized_options = b'\302HE\nC\n\020timestamp.lt_now\032/this > now ? \'value must be less than now\' : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['gt']._options = None + _globals['_TIMESTAMPRULES'].fields_by_name['gt']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['gt']._serialized_options = b'\302H\230\007\n~\n\014timestamp.gt\032n!has(rules.lt) && !has(rules.lte) && this <= rules.gt? \'value must be greater than %s\'.format([rules.gt]) : \'\'\n\267\001\n\017timestamp.gt_lt\032\243\001has(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\277\001\n\031timestamp.gt_lt_exclusive\032\241\001has(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\307\001\n\020timestamp.gt_lte\032\262\001has(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\317\001\n\032timestamp.gt_lte_exclusive\032\260\001has(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]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['gte']._options = None + _globals['_TIMESTAMPRULES'].fields_by_name['gte']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['gte']._serialized_options = b'\302H\343\007\n\214\001\n\rtimestamp.gte\032{!has(rules.lt) && !has(rules.lte) && this < rules.gte? \'value must be greater than or equal to %s\'.format([rules.gte]) : \'\'\n\306\001\n\020timestamp.gte_lt\032\261\001has(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\316\001\n\032timestamp.gte_lt_exclusive\032\257\001has(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\326\001\n\021timestamp.gte_lte\032\300\001has(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\336\001\n\033timestamp.gte_lte_exclusive\032\276\001has(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]) : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._options = None + _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._loaded_options = None _globals['_TIMESTAMPRULES'].fields_by_name['gt_now']._serialized_options = b'\302HH\nF\n\020timestamp.gt_now\0322this < now ? \'value must be greater than now\' : \'\'' - _globals['_TIMESTAMPRULES'].fields_by_name['within']._options = None + _globals['_TIMESTAMPRULES'].fields_by_name['within']._loaded_options = None _globals['_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]) : \'\'' _globals['_KNOWNREGEX']._serialized_start=48727 _globals['_KNOWNREGEX']._serialized_end=48837 diff --git a/src/google/api/annotations_pb2.py b/src/google/api/annotations_pb2.py index 1ee2e417..7c169667 100644 --- a/src/google/api/annotations_pb2.py +++ b/src/google/api/annotations_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/api/annotations.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,7 +21,7 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.annotations_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\020AnnotationsProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPI' # @@protoc_insertion_point(module_scope) diff --git a/src/google/api/http_pb2.py b/src/google/api/http_pb2.py index 919c4242..30ab21d2 100644 --- a/src/google/api/http_pb2.py +++ b/src/google/api/http_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/api/http.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -19,8 +19,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.http_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\tHttpProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\370\001\001\242\002\004GAPI' _globals['_HTTP']._serialized_start=37 _globals['_HTTP']._serialized_end=158 diff --git a/src/google/rpc/status_pb2.py b/src/google/rpc/status_pb2.py index bfa4ca19..126e0f51 100644 --- a/src/google/rpc/status_pb2.py +++ b/src/google/rpc/status_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/rpc/status.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -20,8 +20,8 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.status_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\370\001\001\242\002\003RPC' _globals['_STATUS']._serialized_start=66 _globals['_STATUS']._serialized_end=168 diff --git a/src/vald/v1/agent/core/agent_pb2.py b/src/vald/v1/agent/core/agent_pb2.py index 17b9e027..ae0941a9 100644 --- a/src/vald/v1/agent/core/agent_pb2.py +++ b/src/vald/v1/agent/core/agent_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/agent/core/agent.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,18 +21,18 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.agent.core.agent_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n org.vdaas.vald.api.v1.agent.coreB\tValdAgentP\001Z2github.com/vdaas/vald/apis/grpc/v1/agent/core;core' - _globals['_AGENT'].methods_by_name['CreateIndex']._options = None + _globals['_AGENT'].methods_by_name['CreateIndex']._loaded_options = None _globals['_AGENT'].methods_by_name['CreateIndex']._serialized_options = b'\202\323\344\223\002\017\022\r/index/create' - _globals['_AGENT'].methods_by_name['SaveIndex']._options = None + _globals['_AGENT'].methods_by_name['SaveIndex']._loaded_options = None _globals['_AGENT'].methods_by_name['SaveIndex']._serialized_options = b'\202\323\344\223\002\r\022\013/index/save' - _globals['_AGENT'].methods_by_name['CreateAndSaveIndex']._options = None + _globals['_AGENT'].methods_by_name['CreateAndSaveIndex']._loaded_options = None _globals['_AGENT'].methods_by_name['CreateAndSaveIndex']._serialized_options = b'\202\323\344\223\002\026\022\024/index/createandsave' - _globals['_AGENT'].methods_by_name['IndexInfo']._options = None + _globals['_AGENT'].methods_by_name['IndexInfo']._loaded_options = None _globals['_AGENT'].methods_by_name['IndexInfo']._serialized_options = b'\202\323\344\223\002\r\022\013/index/info' - _globals['_AGENT'].methods_by_name['GetTimestamp']._options = None + _globals['_AGENT'].methods_by_name['GetTimestamp']._loaded_options = None _globals['_AGENT'].methods_by_name['GetTimestamp']._serialized_options = b'\202\323\344\223\002\016\022\014/object/meta' _globals['_AGENT']._serialized_start=105 _globals['_AGENT']._serialized_end=583 diff --git a/src/vald/v1/filter/egress/egress_filter_pb2.py b/src/vald/v1/filter/egress/egress_filter_pb2.py index 15adc96f..5ec7a320 100644 --- a/src/vald/v1/filter/egress/egress_filter_pb2.py +++ b/src/vald/v1/filter/egress/egress_filter_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/filter/egress/egress_filter.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,12 +21,12 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.filter.egress.egress_filter_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n#org.vdaas.vald.api.v1.filter.egressB\020ValdEgressFilterP\001Z0github.com/vdaas/vald/apis/grpc/v1/filter/egress' - _globals['_FILTER'].methods_by_name['FilterDistance']._options = None + _globals['_FILTER'].methods_by_name['FilterDistance']._loaded_options = None _globals['_FILTER'].methods_by_name['FilterDistance']._serialized_options = b'\202\323\344\223\002\034\"\027/filter/egress/distance:\001*' - _globals['_FILTER'].methods_by_name['FilterVector']._options = None + _globals['_FILTER'].methods_by_name['FilterVector']._loaded_options = None _globals['_FILTER'].methods_by_name['FilterVector']._serialized_options = b'\202\323\344\223\002\032\"\025/filter/egress/vector:\001*' _globals['_FILTER']._serialized_start=125 _globals['_FILTER']._serialized_end=349 diff --git a/src/vald/v1/filter/ingress/ingress_filter_pb2.py b/src/vald/v1/filter/ingress/ingress_filter_pb2.py index ff15168d..fb9031f8 100644 --- a/src/vald/v1/filter/ingress/ingress_filter_pb2.py +++ b/src/vald/v1/filter/ingress/ingress_filter_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/filter/ingress/ingress_filter.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,12 +21,12 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.filter.ingress.ingress_filter_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n$org.vdaas.vald.api.v1.filter.ingressB\021ValdIngressFilterP\001Z1github.com/vdaas/vald/apis/grpc/v1/filter/ingress' - _globals['_FILTER'].methods_by_name['GenVector']._options = None + _globals['_FILTER'].methods_by_name['GenVector']._loaded_options = None _globals['_FILTER'].methods_by_name['GenVector']._serialized_options = b'\202\323\344\223\002\033\"\026/filter/ingress/object:\001*' - _globals['_FILTER'].methods_by_name['FilterVector']._options = None + _globals['_FILTER'].methods_by_name['FilterVector']._loaded_options = None _globals['_FILTER'].methods_by_name['FilterVector']._serialized_options = b'\202\323\344\223\002\033\"\026/filter/ingress/vector:\001*' _globals['_FILTER']._serialized_start=128 _globals['_FILTER']._serialized_end=341 diff --git a/src/vald/v1/payload/payload_pb2.py b/src/vald/v1/payload/payload_pb2.py index 9f24809d..1038aff9 100644 --- a/src/vald/v1/payload/payload_pb2.py +++ b/src/vald/v1/payload/payload_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/payload/payload.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -16,55 +16,55 @@ from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dvald/v1/payload/payload.proto\x12\npayload.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x17google/rpc/status.proto\"\xed\n\n\x06Search\x1a^\n\x07Request\x12 \n\x06vector\x18\x01 \x03(\x02\x42\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Search.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Search.RequestR\x08requests\x1aN\n\tIDRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Search.ConfigR\x06\x63onfig\x1aJ\n\x0eMultiIDRequest\x12\x38\n\x08requests\x18\x01 \x03(\x0b\x32\x1c.payload.v1.Search.IDRequestR\x08requests\x1a\x95\x01\n\rObjectRequest\x12\x16\n\x06object\x18\x01 \x01(\x0cR\x06object\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Search.ConfigR\x06\x63onfig\x12\x39\n\nvectorizer\x18\x03 \x01(\x0b\x32\x19.payload.v1.Filter.TargetR\nvectorizer\x1aR\n\x12MultiObjectRequest\x12<\n\x08requests\x18\x01 \x03(\x0b\x32 .payload.v1.Search.ObjectRequestR\x08requests\x1a\x94\x03\n\x06\x43onfig\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12\x19\n\x03num\x18\x02 \x01(\rB\x07\xbaH\x04*\x02(\x01R\x03num\x12\x16\n\x06radius\x18\x03 \x01(\x02R\x06radius\x12\x18\n\x07\x65psilon\x18\x04 \x01(\x02R\x07\x65psilon\x12\x18\n\x07timeout\x18\x05 \x01(\x03R\x07timeout\x12\x42\n\x0fingress_filters\x18\x06 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x0eingressFilters\x12@\n\x0e\x65gress_filters\x18\x07 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\regressFilters\x12 \n\x07min_num\x18\x08 \x01(\rB\x07\xbaH\x04*\x02(\x00R\x06minNum\x12\\\n\x15\x61ggregation_algorithm\x18\t \x01(\x0e\x32\'.payload.v1.Search.AggregationAlgorithmR\x14\x61ggregationAlgorithm\x1a`\n\x08Response\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12\x35\n\x07results\x18\x02 \x03(\x0b\x32\x1b.payload.v1.Object.DistanceR\x07results\x1a\x46\n\tResponses\x12\x39\n\tresponses\x18\x01 \x03(\x0b\x32\x1b.payload.v1.Search.ResponseR\tresponses\x1a\x84\x01\n\x0eStreamResponse\x12\x39\n\x08response\x18\x01 \x01(\x0b\x32\x1b.payload.v1.Search.ResponseH\x00R\x08response\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\"k\n\x14\x41ggregationAlgorithm\x12\x0b\n\x07Unknown\x10\x00\x12\x13\n\x0f\x43oncurrentQueue\x10\x01\x12\r\n\tSortSlice\x10\x02\x12\x11\n\rSortPoolSlice\x10\x03\x12\x0f\n\x0bPairingHeap\x10\x04\"y\n\x06\x46ilter\x1a\x30\n\x06Target\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\rR\x04port\x1a=\n\x06\x43onfig\x12\x33\n\x07targets\x18\x01 \x03(\x0b\x32\x19.payload.v1.Filter.TargetR\x07targets\"\xe5\x04\n\x06Insert\x1ay\n\x07Request\x12;\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Insert.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Insert.RequestR\x08requests\x1a\xae\x01\n\rObjectRequest\x12/\n\x06object\x18\x01 \x01(\x0b\x32\x17.payload.v1.Object.BlobR\x06object\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Insert.ConfigR\x06\x63onfig\x12\x39\n\nvectorizer\x18\x03 \x01(\x0b\x32\x19.payload.v1.Filter.TargetR\nvectorizer\x1aR\n\x12MultiObjectRequest\x12<\n\x08requests\x18\x01 \x03(\x0b\x32 .payload.v1.Insert.ObjectRequestR\x08requests\x1a\x92\x01\n\x06\x43onfig\x12\x35\n\x17skip_strict_exist_check\x18\x01 \x01(\x08R\x14skipStrictExistCheck\x12\x33\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x07\x66ilters\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"\x9d\x05\n\x06Update\x1ay\n\x07Request\x12;\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Update.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Update.RequestR\x08requests\x1a\xae\x01\n\rObjectRequest\x12/\n\x06object\x18\x01 \x01(\x0b\x32\x17.payload.v1.Object.BlobR\x06object\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Update.ConfigR\x06\x63onfig\x12\x39\n\nvectorizer\x18\x03 \x01(\x0b\x32\x19.payload.v1.Filter.TargetR\nvectorizer\x1aR\n\x12MultiObjectRequest\x12<\n\x08requests\x18\x01 \x03(\x0b\x32 .payload.v1.Update.ObjectRequestR\x08requests\x1a\xca\x01\n\x06\x43onfig\x12\x35\n\x17skip_strict_exist_check\x18\x01 \x01(\x08R\x14skipStrictExistCheck\x12\x33\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x07\x66ilters\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x12\x36\n\x17\x64isable_balanced_update\x18\x04 \x01(\x08R\x15\x64isableBalancedUpdate\"\x9d\x05\n\x06Upsert\x1ay\n\x07Request\x12;\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Upsert.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Upsert.RequestR\x08requests\x1a\xae\x01\n\rObjectRequest\x12/\n\x06object\x18\x01 \x01(\x0b\x32\x17.payload.v1.Object.BlobR\x06object\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Upsert.ConfigR\x06\x63onfig\x12\x39\n\nvectorizer\x18\x03 \x01(\x0b\x32\x19.payload.v1.Filter.TargetR\nvectorizer\x1aR\n\x12MultiObjectRequest\x12<\n\x08requests\x18\x01 \x03(\x0b\x32 .payload.v1.Upsert.ObjectRequestR\x08requests\x1a\xca\x01\n\x06\x43onfig\x12\x35\n\x17skip_strict_exist_check\x18\x01 \x01(\x08R\x14skipStrictExistCheck\x12\x33\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x07\x66ilters\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x12\x36\n\x17\x64isable_balanced_update\x18\x04 \x01(\x08R\x15\x64isableBalancedUpdate\"\x91\x04\n\x06Remove\x1a\x63\n\x07Request\x12%\n\x02id\x18\x01 \x01(\x0b\x32\x15.payload.v1.Object.IDR\x02id\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Remove.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Remove.RequestR\x08requests\x1aP\n\x10TimestampRequest\x12<\n\ntimestamps\x18\x01 \x03(\x0b\x32\x1c.payload.v1.Remove.TimestampR\ntimestamps\x1a\xa8\x01\n\tTimestamp\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x41\n\x08operator\x18\x02 \x01(\x0e\x32%.payload.v1.Remove.Timestamp.OperatorR\x08operator\":\n\x08Operator\x12\x06\n\x02\x45q\x10\x00\x12\x06\n\x02Ne\x10\x01\x12\x06\n\x02Ge\x10\x02\x12\x06\n\x02Gt\x10\x03\x12\x06\n\x02Le\x10\x04\x12\x06\n\x02Lt\x10\x05\x1a]\n\x06\x43onfig\x12\x35\n\x17skip_strict_exist_check\x18\x01 \x01(\x08R\x14skipStrictExistCheck\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"\xb4\x0b\n\x06Object\x1au\n\rVectorRequest\x12/\n\x02id\x18\x01 \x01(\x0b\x32\x15.payload.v1.Object.IDB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x02id\x12\x33\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x07\x66ilters\x1a\x36\n\x08\x44istance\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n\x08\x64istance\x18\x02 \x01(\x02R\x08\x64istance\x1a\x84\x01\n\x0eStreamDistance\x12\x39\n\x08\x64istance\x18\x01 \x01(\x0b\x32\x1b.payload.v1.Object.DistanceH\x00R\x08\x64istance\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\x1a\x1d\n\x02ID\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x1a\x17\n\x03IDs\x12\x10\n\x03ids\x18\x01 \x03(\tR\x03ids\x1a\x61\n\x06Vector\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12 \n\x06vector\x18\x02 \x03(\x02\x42\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x1a\x46\n\x13GetTimestampRequest\x12/\n\x02id\x18\x01 \x01(\x0b\x32\x15.payload.v1.Object.IDB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x02id\x1a\x42\n\tTimestamp\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\x1c\n\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x1a>\n\x07Vectors\x12\x33\n\x07vectors\x18\x01 \x03(\x0b\x32\x19.payload.v1.Object.VectorR\x07vectors\x1a|\n\x0cStreamVector\x12\x33\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorH\x00R\x06vector\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\x1a=\n\rReshapeVector\x12\x16\n\x06object\x18\x01 \x01(\x0cR\x06object\x12\x14\n\x05shape\x18\x02 \x03(\x05R\x05shape\x1a\x37\n\x04\x42lob\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\x16\n\x06object\x18\x02 \x01(\x0cR\x06object\x1at\n\nStreamBlob\x12-\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x17.payload.v1.Object.BlobH\x00R\x04\x62lob\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\x1a\x44\n\x08Location\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04uuid\x18\x02 \x01(\tR\x04uuid\x12\x10\n\x03ips\x18\x03 \x03(\tR\x03ips\x1a\x84\x01\n\x0eStreamLocation\x12\x39\n\x08location\x18\x01 \x01(\x0b\x32\x1b.payload.v1.Object.LocationH\x00R\x08location\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\x1a\x46\n\tLocations\x12\x39\n\tlocations\x18\x01 \x03(\x0b\x32\x1b.payload.v1.Object.LocationR\tlocations\x1a\x8b\x01\n\x04List\x1a\t\n\x07Request\x1ax\n\x08Response\x12\x33\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorH\x00R\x06vector\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\"E\n\x07\x43ontrol\x1a:\n\x12\x43reateIndexRequest\x12$\n\tpool_size\x18\x01 \x01(\rB\x07\xbaH\x04*\x02(\x00R\x08poolSize\"f\n\nDiscoverer\x1aX\n\x07Request\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04node\x18\x03 \x01(\tR\x04node\"\x8c\r\n\x04Info\x1a\xca\x01\n\x05Index\x1au\n\x05\x43ount\x12\x16\n\x06stored\x18\x01 \x01(\rR\x06stored\x12 \n\x0buncommitted\x18\x02 \x01(\rR\x0buncommitted\x12\x1a\n\x08indexing\x18\x03 \x01(\x08R\x08indexing\x12\x16\n\x06saving\x18\x04 \x01(\x08R\x06saving\x1aJ\n\x04UUID\x1a\x1f\n\tCommitted\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x1a!\n\x0bUncommitted\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x1a\xef\x01\n\x03Pod\x12\x19\n\x08\x61pp_name\x18\x01 \x01(\tR\x07\x61ppName\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x17\n\x02ip\x18\x04 \x01(\tB\x07\xbaH\x04r\x02x\x01R\x02ip\x12&\n\x03\x63pu\x18\x05 \x01(\x0b\x32\x14.payload.v1.Info.CPUR\x03\x63pu\x12/\n\x06memory\x18\x06 \x01(\x0b\x32\x17.payload.v1.Info.MemoryR\x06memory\x12)\n\x04node\x18\x07 \x01(\x0b\x32\x15.payload.v1.Info.NodeR\x04node\x1a\xe8\x01\n\x04Node\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12#\n\rinternal_addr\x18\x02 \x01(\tR\x0cinternalAddr\x12#\n\rexternal_addr\x18\x03 \x01(\tR\x0c\x65xternalAddr\x12&\n\x03\x63pu\x18\x04 \x01(\x0b\x32\x14.payload.v1.Info.CPUR\x03\x63pu\x12/\n\x06memory\x18\x05 \x01(\x0b\x32\x17.payload.v1.Info.MemoryR\x06memory\x12)\n\x04Pods\x18\x06 \x01(\x0b\x32\x15.payload.v1.Info.PodsR\x04Pods\x1a\x82\x02\n\x07Service\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\ncluster_ip\x18\x02 \x01(\tR\tclusterIp\x12\x1f\n\x0b\x63luster_ips\x18\x03 \x03(\tR\nclusterIps\x12\x32\n\x05ports\x18\x04 \x03(\x0b\x32\x1c.payload.v1.Info.ServicePortR\x05ports\x12/\n\x06labels\x18\x05 \x01(\x0b\x32\x17.payload.v1.Info.LabelsR\x06labels\x12>\n\x0b\x61nnotations\x18\x06 \x01(\x0b\x32\x1c.payload.v1.Info.AnnotationsR\x0b\x61nnotations\x1a\x35\n\x0bServicePort\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x1a\x80\x01\n\x06Labels\x12;\n\x06labels\x18\x01 \x03(\x0b\x32#.payload.v1.Info.Labels.LabelsEntryR\x06labels\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x9e\x01\n\x0b\x41nnotations\x12O\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32-.payload.v1.Info.Annotations.AnnotationsEntryR\x0b\x61nnotations\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aK\n\x03\x43PU\x12\x14\n\x05limit\x18\x01 \x01(\x01R\x05limit\x12\x18\n\x07request\x18\x02 \x01(\x01R\x07request\x12\x14\n\x05usage\x18\x03 \x01(\x01R\x05usage\x1aN\n\x06Memory\x12\x14\n\x05limit\x18\x01 \x01(\x01R\x05limit\x12\x18\n\x07request\x18\x02 \x01(\x01R\x07request\x12\x14\n\x05usage\x18\x03 \x01(\x01R\x05usage\x1a:\n\x04Pods\x12\x32\n\x04pods\x18\x01 \x03(\x0b\x32\x14.payload.v1.Info.PodB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x04pods\x1a>\n\x05Nodes\x12\x35\n\x05nodes\x18\x01 \x03(\x0b\x32\x15.payload.v1.Info.NodeB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x05nodes\x1aJ\n\x08Services\x12>\n\x08services\x18\x01 \x03(\x0b\x32\x18.payload.v1.Info.ServiceB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x08services\x1a\x15\n\x03IPs\x12\x0e\n\x02ip\x18\x01 \x03(\tR\x02ip\"z\n\x06Mirror\x1a\x30\n\x06Target\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\rR\x04port\x1a>\n\x07Targets\x12\x33\n\x07targets\x18\x01 \x03(\x0b\x32\x19.payload.v1.Mirror.TargetR\x07targets\"\x07\n\x05\x45mptyBd\n\x1dorg.vdaas.vald.api.v1.payloadB\x0bValdPayloadP\x01Z*github.com/vdaas/vald/apis/grpc/v1/payload\xa2\x02\x07Payloadb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dvald/v1/payload/payload.proto\x12\npayload.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x17google/rpc/status.proto\"\xed\n\n\x06Search\x1a^\n\x07Request\x12 \n\x06vector\x18\x01 \x03(\x02\x42\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Search.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Search.RequestR\x08requests\x1aN\n\tIDRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Search.ConfigR\x06\x63onfig\x1aJ\n\x0eMultiIDRequest\x12\x38\n\x08requests\x18\x01 \x03(\x0b\x32\x1c.payload.v1.Search.IDRequestR\x08requests\x1a\x95\x01\n\rObjectRequest\x12\x16\n\x06object\x18\x01 \x01(\x0cR\x06object\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Search.ConfigR\x06\x63onfig\x12\x39\n\nvectorizer\x18\x03 \x01(\x0b\x32\x19.payload.v1.Filter.TargetR\nvectorizer\x1aR\n\x12MultiObjectRequest\x12<\n\x08requests\x18\x01 \x03(\x0b\x32 .payload.v1.Search.ObjectRequestR\x08requests\x1a\x94\x03\n\x06\x43onfig\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12\x19\n\x03num\x18\x02 \x01(\rB\x07\xbaH\x04*\x02(\x01R\x03num\x12\x16\n\x06radius\x18\x03 \x01(\x02R\x06radius\x12\x18\n\x07\x65psilon\x18\x04 \x01(\x02R\x07\x65psilon\x12\x18\n\x07timeout\x18\x05 \x01(\x03R\x07timeout\x12\x42\n\x0fingress_filters\x18\x06 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x0eingressFilters\x12@\n\x0e\x65gress_filters\x18\x07 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\regressFilters\x12 \n\x07min_num\x18\x08 \x01(\rB\x07\xbaH\x04*\x02(\x00R\x06minNum\x12\\\n\x15\x61ggregation_algorithm\x18\t \x01(\x0e\x32\'.payload.v1.Search.AggregationAlgorithmR\x14\x61ggregationAlgorithm\x1a`\n\x08Response\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\x12\x35\n\x07results\x18\x02 \x03(\x0b\x32\x1b.payload.v1.Object.DistanceR\x07results\x1a\x46\n\tResponses\x12\x39\n\tresponses\x18\x01 \x03(\x0b\x32\x1b.payload.v1.Search.ResponseR\tresponses\x1a\x84\x01\n\x0eStreamResponse\x12\x39\n\x08response\x18\x01 \x01(\x0b\x32\x1b.payload.v1.Search.ResponseH\x00R\x08response\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\"k\n\x14\x41ggregationAlgorithm\x12\x0b\n\x07Unknown\x10\x00\x12\x13\n\x0f\x43oncurrentQueue\x10\x01\x12\r\n\tSortSlice\x10\x02\x12\x11\n\rSortPoolSlice\x10\x03\x12\x0f\n\x0bPairingHeap\x10\x04\"y\n\x06\x46ilter\x1a\x30\n\x06Target\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\rR\x04port\x1a=\n\x06\x43onfig\x12\x33\n\x07targets\x18\x01 \x03(\x0b\x32\x19.payload.v1.Filter.TargetR\x07targets\"\xe5\x04\n\x06Insert\x1ay\n\x07Request\x12;\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Insert.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Insert.RequestR\x08requests\x1a\xae\x01\n\rObjectRequest\x12/\n\x06object\x18\x01 \x01(\x0b\x32\x17.payload.v1.Object.BlobR\x06object\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Insert.ConfigR\x06\x63onfig\x12\x39\n\nvectorizer\x18\x03 \x01(\x0b\x32\x19.payload.v1.Filter.TargetR\nvectorizer\x1aR\n\x12MultiObjectRequest\x12<\n\x08requests\x18\x01 \x03(\x0b\x32 .payload.v1.Insert.ObjectRequestR\x08requests\x1a\x92\x01\n\x06\x43onfig\x12\x35\n\x17skip_strict_exist_check\x18\x01 \x01(\x08R\x14skipStrictExistCheck\x12\x33\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x07\x66ilters\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"\x9d\x05\n\x06Update\x1ay\n\x07Request\x12;\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Update.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Update.RequestR\x08requests\x1a\xae\x01\n\rObjectRequest\x12/\n\x06object\x18\x01 \x01(\x0b\x32\x17.payload.v1.Object.BlobR\x06object\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Update.ConfigR\x06\x63onfig\x12\x39\n\nvectorizer\x18\x03 \x01(\x0b\x32\x19.payload.v1.Filter.TargetR\nvectorizer\x1aR\n\x12MultiObjectRequest\x12<\n\x08requests\x18\x01 \x03(\x0b\x32 .payload.v1.Update.ObjectRequestR\x08requests\x1a\xca\x01\n\x06\x43onfig\x12\x35\n\x17skip_strict_exist_check\x18\x01 \x01(\x08R\x14skipStrictExistCheck\x12\x33\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x07\x66ilters\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x12\x36\n\x17\x64isable_balanced_update\x18\x04 \x01(\x08R\x15\x64isableBalancedUpdate\"\x9d\x05\n\x06Upsert\x1ay\n\x07Request\x12;\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Upsert.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Upsert.RequestR\x08requests\x1a\xae\x01\n\rObjectRequest\x12/\n\x06object\x18\x01 \x01(\x0b\x32\x17.payload.v1.Object.BlobR\x06object\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Upsert.ConfigR\x06\x63onfig\x12\x39\n\nvectorizer\x18\x03 \x01(\x0b\x32\x19.payload.v1.Filter.TargetR\nvectorizer\x1aR\n\x12MultiObjectRequest\x12<\n\x08requests\x18\x01 \x03(\x0b\x32 .payload.v1.Upsert.ObjectRequestR\x08requests\x1a\xca\x01\n\x06\x43onfig\x12\x35\n\x17skip_strict_exist_check\x18\x01 \x01(\x08R\x14skipStrictExistCheck\x12\x33\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x07\x66ilters\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x12\x36\n\x17\x64isable_balanced_update\x18\x04 \x01(\x08R\x15\x64isableBalancedUpdate\"\x91\x04\n\x06Remove\x1a\x63\n\x07Request\x12%\n\x02id\x18\x01 \x01(\x0b\x32\x15.payload.v1.Object.IDR\x02id\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x19.payload.v1.Remove.ConfigR\x06\x63onfig\x1a\x46\n\x0cMultiRequest\x12\x36\n\x08requests\x18\x01 \x03(\x0b\x32\x1a.payload.v1.Remove.RequestR\x08requests\x1aP\n\x10TimestampRequest\x12<\n\ntimestamps\x18\x01 \x03(\x0b\x32\x1c.payload.v1.Remove.TimestampR\ntimestamps\x1a\xa8\x01\n\tTimestamp\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x41\n\x08operator\x18\x02 \x01(\x0e\x32%.payload.v1.Remove.Timestamp.OperatorR\x08operator\":\n\x08Operator\x12\x06\n\x02\x45q\x10\x00\x12\x06\n\x02Ne\x10\x01\x12\x06\n\x02Ge\x10\x02\x12\x06\n\x02Gt\x10\x03\x12\x06\n\x02Le\x10\x04\x12\x06\n\x02Lt\x10\x05\x1a]\n\x06\x43onfig\x12\x35\n\x17skip_strict_exist_check\x18\x01 \x01(\x08R\x14skipStrictExistCheck\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\"\x12\n\x05\x46lush\x1a\t\n\x07Request\"\xb4\x0b\n\x06Object\x1au\n\rVectorRequest\x12/\n\x02id\x18\x01 \x01(\x0b\x32\x15.payload.v1.Object.IDB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x02id\x12\x33\n\x07\x66ilters\x18\x02 \x01(\x0b\x32\x19.payload.v1.Filter.ConfigR\x07\x66ilters\x1a\x36\n\x08\x44istance\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n\x08\x64istance\x18\x02 \x01(\x02R\x08\x64istance\x1a\x84\x01\n\x0eStreamDistance\x12\x39\n\x08\x64istance\x18\x01 \x01(\x0b\x32\x1b.payload.v1.Object.DistanceH\x00R\x08\x64istance\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\x1a\x1d\n\x02ID\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x1a\x17\n\x03IDs\x12\x10\n\x03ids\x18\x01 \x03(\tR\x03ids\x1a\x61\n\x06Vector\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12 \n\x06vector\x18\x02 \x03(\x02\x42\x08\xbaH\x05\x92\x01\x02\x08\x02R\x06vector\x12\x1c\n\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x1a\x46\n\x13GetTimestampRequest\x12/\n\x02id\x18\x01 \x01(\x0b\x32\x15.payload.v1.Object.IDB\x08\xbaH\x05\x92\x01\x02\x08\x02R\x02id\x1a\x42\n\tTimestamp\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\x1c\n\ttimestamp\x18\x02 \x01(\x03R\ttimestamp\x1a>\n\x07Vectors\x12\x33\n\x07vectors\x18\x01 \x03(\x0b\x32\x19.payload.v1.Object.VectorR\x07vectors\x1a|\n\x0cStreamVector\x12\x33\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorH\x00R\x06vector\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\x1a=\n\rReshapeVector\x12\x16\n\x06object\x18\x01 \x01(\x0cR\x06object\x12\x14\n\x05shape\x18\x02 \x03(\x05R\x05shape\x1a\x37\n\x04\x42lob\x12\x17\n\x02id\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x02id\x12\x16\n\x06object\x18\x02 \x01(\x0cR\x06object\x1at\n\nStreamBlob\x12-\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x17.payload.v1.Object.BlobH\x00R\x04\x62lob\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\x1a\x44\n\x08Location\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04uuid\x18\x02 \x01(\tR\x04uuid\x12\x10\n\x03ips\x18\x03 \x03(\tR\x03ips\x1a\x84\x01\n\x0eStreamLocation\x12\x39\n\x08location\x18\x01 \x01(\x0b\x32\x1b.payload.v1.Object.LocationH\x00R\x08location\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\x1a\x46\n\tLocations\x12\x39\n\tlocations\x18\x01 \x03(\x0b\x32\x1b.payload.v1.Object.LocationR\tlocations\x1a\x8b\x01\n\x04List\x1a\t\n\x07Request\x1ax\n\x08Response\x12\x33\n\x06vector\x18\x01 \x01(\x0b\x32\x19.payload.v1.Object.VectorH\x00R\x06vector\x12,\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x06statusB\t\n\x07payload\"E\n\x07\x43ontrol\x1a:\n\x12\x43reateIndexRequest\x12$\n\tpool_size\x18\x01 \x01(\rB\x07\xbaH\x04*\x02(\x00R\x08poolSize\"f\n\nDiscoverer\x1aX\n\x07Request\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04node\x18\x03 \x01(\tR\x04node\"\x8c\r\n\x04Info\x1a\xca\x01\n\x05Index\x1au\n\x05\x43ount\x12\x16\n\x06stored\x18\x01 \x01(\rR\x06stored\x12 \n\x0buncommitted\x18\x02 \x01(\rR\x0buncommitted\x12\x1a\n\x08indexing\x18\x03 \x01(\x08R\x08indexing\x12\x16\n\x06saving\x18\x04 \x01(\x08R\x06saving\x1aJ\n\x04UUID\x1a\x1f\n\tCommitted\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x1a!\n\x0bUncommitted\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x1a\xef\x01\n\x03Pod\x12\x19\n\x08\x61pp_name\x18\x01 \x01(\tR\x07\x61ppName\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x17\n\x02ip\x18\x04 \x01(\tB\x07\xbaH\x04r\x02x\x01R\x02ip\x12&\n\x03\x63pu\x18\x05 \x01(\x0b\x32\x14.payload.v1.Info.CPUR\x03\x63pu\x12/\n\x06memory\x18\x06 \x01(\x0b\x32\x17.payload.v1.Info.MemoryR\x06memory\x12)\n\x04node\x18\x07 \x01(\x0b\x32\x15.payload.v1.Info.NodeR\x04node\x1a\xe8\x01\n\x04Node\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12#\n\rinternal_addr\x18\x02 \x01(\tR\x0cinternalAddr\x12#\n\rexternal_addr\x18\x03 \x01(\tR\x0c\x65xternalAddr\x12&\n\x03\x63pu\x18\x04 \x01(\x0b\x32\x14.payload.v1.Info.CPUR\x03\x63pu\x12/\n\x06memory\x18\x05 \x01(\x0b\x32\x17.payload.v1.Info.MemoryR\x06memory\x12)\n\x04Pods\x18\x06 \x01(\x0b\x32\x15.payload.v1.Info.PodsR\x04Pods\x1a\x82\x02\n\x07Service\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\ncluster_ip\x18\x02 \x01(\tR\tclusterIp\x12\x1f\n\x0b\x63luster_ips\x18\x03 \x03(\tR\nclusterIps\x12\x32\n\x05ports\x18\x04 \x03(\x0b\x32\x1c.payload.v1.Info.ServicePortR\x05ports\x12/\n\x06labels\x18\x05 \x01(\x0b\x32\x17.payload.v1.Info.LabelsR\x06labels\x12>\n\x0b\x61nnotations\x18\x06 \x01(\x0b\x32\x1c.payload.v1.Info.AnnotationsR\x0b\x61nnotations\x1a\x35\n\x0bServicePort\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04port\x18\x02 \x01(\x05R\x04port\x1a\x80\x01\n\x06Labels\x12;\n\x06labels\x18\x01 \x03(\x0b\x32#.payload.v1.Info.Labels.LabelsEntryR\x06labels\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x9e\x01\n\x0b\x41nnotations\x12O\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32-.payload.v1.Info.Annotations.AnnotationsEntryR\x0b\x61nnotations\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aK\n\x03\x43PU\x12\x14\n\x05limit\x18\x01 \x01(\x01R\x05limit\x12\x18\n\x07request\x18\x02 \x01(\x01R\x07request\x12\x14\n\x05usage\x18\x03 \x01(\x01R\x05usage\x1aN\n\x06Memory\x12\x14\n\x05limit\x18\x01 \x01(\x01R\x05limit\x12\x18\n\x07request\x18\x02 \x01(\x01R\x07request\x12\x14\n\x05usage\x18\x03 \x01(\x01R\x05usage\x1a:\n\x04Pods\x12\x32\n\x04pods\x18\x01 \x03(\x0b\x32\x14.payload.v1.Info.PodB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x04pods\x1a>\n\x05Nodes\x12\x35\n\x05nodes\x18\x01 \x03(\x0b\x32\x15.payload.v1.Info.NodeB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x05nodes\x1aJ\n\x08Services\x12>\n\x08services\x18\x01 \x03(\x0b\x32\x18.payload.v1.Info.ServiceB\x08\xbaH\x05\x92\x01\x02\x08\x01R\x08services\x1a\x15\n\x03IPs\x12\x0e\n\x02ip\x18\x01 \x03(\tR\x02ip\"z\n\x06Mirror\x1a\x30\n\x06Target\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n\x04port\x18\x02 \x01(\rR\x04port\x1a>\n\x07Targets\x12\x33\n\x07targets\x18\x01 \x03(\x0b\x32\x19.payload.v1.Mirror.TargetR\x07targets\"\x07\n\x05\x45mptyBd\n\x1dorg.vdaas.vald.api.v1.payloadB\x0bValdPayloadP\x01Z*github.com/vdaas/vald/apis/grpc/v1/payload\xa2\x02\x07Payloadb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.payload.payload_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\035org.vdaas.vald.api.v1.payloadB\013ValdPayloadP\001Z*github.com/vdaas/vald/apis/grpc/v1/payload\242\002\007Payload' - _globals['_SEARCH_REQUEST'].fields_by_name['vector']._options = None + _globals['_SEARCH_REQUEST'].fields_by_name['vector']._loaded_options = None _globals['_SEARCH_REQUEST'].fields_by_name['vector']._serialized_options = b'\272H\005\222\001\002\010\002' - _globals['_SEARCH_CONFIG'].fields_by_name['num']._options = None + _globals['_SEARCH_CONFIG'].fields_by_name['num']._loaded_options = None _globals['_SEARCH_CONFIG'].fields_by_name['num']._serialized_options = b'\272H\004*\002(\001' - _globals['_SEARCH_CONFIG'].fields_by_name['min_num']._options = None + _globals['_SEARCH_CONFIG'].fields_by_name['min_num']._loaded_options = None _globals['_SEARCH_CONFIG'].fields_by_name['min_num']._serialized_options = b'\272H\004*\002(\000' - _globals['_INSERT_REQUEST'].fields_by_name['vector']._options = None + _globals['_INSERT_REQUEST'].fields_by_name['vector']._loaded_options = None _globals['_INSERT_REQUEST'].fields_by_name['vector']._serialized_options = b'\272H\005\222\001\002\010\002' - _globals['_UPDATE_REQUEST'].fields_by_name['vector']._options = None + _globals['_UPDATE_REQUEST'].fields_by_name['vector']._loaded_options = None _globals['_UPDATE_REQUEST'].fields_by_name['vector']._serialized_options = b'\272H\005\222\001\002\010\002' - _globals['_UPSERT_REQUEST'].fields_by_name['vector']._options = None + _globals['_UPSERT_REQUEST'].fields_by_name['vector']._loaded_options = None _globals['_UPSERT_REQUEST'].fields_by_name['vector']._serialized_options = b'\272H\005\222\001\002\010\002' - _globals['_OBJECT_VECTORREQUEST'].fields_by_name['id']._options = None + _globals['_OBJECT_VECTORREQUEST'].fields_by_name['id']._loaded_options = None _globals['_OBJECT_VECTORREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005\222\001\002\010\002' - _globals['_OBJECT_ID'].fields_by_name['id']._options = None + _globals['_OBJECT_ID'].fields_by_name['id']._loaded_options = None _globals['_OBJECT_ID'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_OBJECT_VECTOR'].fields_by_name['id']._options = None + _globals['_OBJECT_VECTOR'].fields_by_name['id']._loaded_options = None _globals['_OBJECT_VECTOR'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_OBJECT_VECTOR'].fields_by_name['vector']._options = None + _globals['_OBJECT_VECTOR'].fields_by_name['vector']._loaded_options = None _globals['_OBJECT_VECTOR'].fields_by_name['vector']._serialized_options = b'\272H\005\222\001\002\010\002' - _globals['_OBJECT_GETTIMESTAMPREQUEST'].fields_by_name['id']._options = None + _globals['_OBJECT_GETTIMESTAMPREQUEST'].fields_by_name['id']._loaded_options = None _globals['_OBJECT_GETTIMESTAMPREQUEST'].fields_by_name['id']._serialized_options = b'\272H\005\222\001\002\010\002' - _globals['_OBJECT_TIMESTAMP'].fields_by_name['id']._options = None + _globals['_OBJECT_TIMESTAMP'].fields_by_name['id']._loaded_options = None _globals['_OBJECT_TIMESTAMP'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_OBJECT_BLOB'].fields_by_name['id']._options = None + _globals['_OBJECT_BLOB'].fields_by_name['id']._loaded_options = None _globals['_OBJECT_BLOB'].fields_by_name['id']._serialized_options = b'\272H\004r\002\020\001' - _globals['_CONTROL_CREATEINDEXREQUEST'].fields_by_name['pool_size']._options = None + _globals['_CONTROL_CREATEINDEXREQUEST'].fields_by_name['pool_size']._loaded_options = None _globals['_CONTROL_CREATEINDEXREQUEST'].fields_by_name['pool_size']._serialized_options = b'\272H\004*\002(\000' - _globals['_DISCOVERER_REQUEST'].fields_by_name['name']._options = None + _globals['_DISCOVERER_REQUEST'].fields_by_name['name']._loaded_options = None _globals['_DISCOVERER_REQUEST'].fields_by_name['name']._serialized_options = b'\272H\004r\002\020\001' - _globals['_INFO_POD'].fields_by_name['ip']._options = None + _globals['_INFO_POD'].fields_by_name['ip']._loaded_options = None _globals['_INFO_POD'].fields_by_name['ip']._serialized_options = b'\272H\004r\002x\001' - _globals['_INFO_LABELS_LABELSENTRY']._options = None + _globals['_INFO_LABELS_LABELSENTRY']._loaded_options = None _globals['_INFO_LABELS_LABELSENTRY']._serialized_options = b'8\001' - _globals['_INFO_ANNOTATIONS_ANNOTATIONSENTRY']._options = None + _globals['_INFO_ANNOTATIONS_ANNOTATIONSENTRY']._loaded_options = None _globals['_INFO_ANNOTATIONS_ANNOTATIONSENTRY']._serialized_options = b'8\001' - _globals['_INFO_PODS'].fields_by_name['pods']._options = None + _globals['_INFO_PODS'].fields_by_name['pods']._loaded_options = None _globals['_INFO_PODS'].fields_by_name['pods']._serialized_options = b'\272H\005\222\001\002\010\001' - _globals['_INFO_NODES'].fields_by_name['nodes']._options = None + _globals['_INFO_NODES'].fields_by_name['nodes']._loaded_options = None _globals['_INFO_NODES'].fields_by_name['nodes']._serialized_options = b'\272H\005\222\001\002\010\001' - _globals['_INFO_SERVICES'].fields_by_name['services']._options = None + _globals['_INFO_SERVICES'].fields_by_name['services']._loaded_options = None _globals['_INFO_SERVICES'].fields_by_name['services']._serialized_options = b'\272H\005\222\001\002\010\001' _globals['_SEARCH']._serialized_start=100 _globals['_SEARCH']._serialized_end=1489 @@ -146,100 +146,104 @@ _globals['_REMOVE_TIMESTAMP_OPERATOR']._serialized_end=4009 _globals['_REMOVE_CONFIG']._serialized_start=4011 _globals['_REMOVE_CONFIG']._serialized_end=4104 - _globals['_OBJECT']._serialized_start=4107 - _globals['_OBJECT']._serialized_end=5567 - _globals['_OBJECT_VECTORREQUEST']._serialized_start=4117 - _globals['_OBJECT_VECTORREQUEST']._serialized_end=4234 - _globals['_OBJECT_DISTANCE']._serialized_start=4236 - _globals['_OBJECT_DISTANCE']._serialized_end=4290 - _globals['_OBJECT_STREAMDISTANCE']._serialized_start=4293 - _globals['_OBJECT_STREAMDISTANCE']._serialized_end=4425 - _globals['_OBJECT_ID']._serialized_start=4427 - _globals['_OBJECT_ID']._serialized_end=4456 - _globals['_OBJECT_IDS']._serialized_start=4458 - _globals['_OBJECT_IDS']._serialized_end=4481 - _globals['_OBJECT_VECTOR']._serialized_start=4483 - _globals['_OBJECT_VECTOR']._serialized_end=4580 - _globals['_OBJECT_GETTIMESTAMPREQUEST']._serialized_start=4582 - _globals['_OBJECT_GETTIMESTAMPREQUEST']._serialized_end=4652 - _globals['_OBJECT_TIMESTAMP']._serialized_start=4654 - _globals['_OBJECT_TIMESTAMP']._serialized_end=4720 - _globals['_OBJECT_VECTORS']._serialized_start=4722 - _globals['_OBJECT_VECTORS']._serialized_end=4784 - _globals['_OBJECT_STREAMVECTOR']._serialized_start=4786 - _globals['_OBJECT_STREAMVECTOR']._serialized_end=4910 - _globals['_OBJECT_RESHAPEVECTOR']._serialized_start=4912 - _globals['_OBJECT_RESHAPEVECTOR']._serialized_end=4973 - _globals['_OBJECT_BLOB']._serialized_start=4975 - _globals['_OBJECT_BLOB']._serialized_end=5030 - _globals['_OBJECT_STREAMBLOB']._serialized_start=5032 - _globals['_OBJECT_STREAMBLOB']._serialized_end=5148 - _globals['_OBJECT_LOCATION']._serialized_start=5150 - _globals['_OBJECT_LOCATION']._serialized_end=5218 - _globals['_OBJECT_STREAMLOCATION']._serialized_start=5221 - _globals['_OBJECT_STREAMLOCATION']._serialized_end=5353 - _globals['_OBJECT_LOCATIONS']._serialized_start=5355 - _globals['_OBJECT_LOCATIONS']._serialized_end=5425 - _globals['_OBJECT_LIST']._serialized_start=5428 - _globals['_OBJECT_LIST']._serialized_end=5567 + _globals['_FLUSH']._serialized_start=4106 + _globals['_FLUSH']._serialized_end=4124 + _globals['_FLUSH_REQUEST']._serialized_start=110 + _globals['_FLUSH_REQUEST']._serialized_end=119 + _globals['_OBJECT']._serialized_start=4127 + _globals['_OBJECT']._serialized_end=5587 + _globals['_OBJECT_VECTORREQUEST']._serialized_start=4137 + _globals['_OBJECT_VECTORREQUEST']._serialized_end=4254 + _globals['_OBJECT_DISTANCE']._serialized_start=4256 + _globals['_OBJECT_DISTANCE']._serialized_end=4310 + _globals['_OBJECT_STREAMDISTANCE']._serialized_start=4313 + _globals['_OBJECT_STREAMDISTANCE']._serialized_end=4445 + _globals['_OBJECT_ID']._serialized_start=4447 + _globals['_OBJECT_ID']._serialized_end=4476 + _globals['_OBJECT_IDS']._serialized_start=4478 + _globals['_OBJECT_IDS']._serialized_end=4501 + _globals['_OBJECT_VECTOR']._serialized_start=4503 + _globals['_OBJECT_VECTOR']._serialized_end=4600 + _globals['_OBJECT_GETTIMESTAMPREQUEST']._serialized_start=4602 + _globals['_OBJECT_GETTIMESTAMPREQUEST']._serialized_end=4672 + _globals['_OBJECT_TIMESTAMP']._serialized_start=4674 + _globals['_OBJECT_TIMESTAMP']._serialized_end=4740 + _globals['_OBJECT_VECTORS']._serialized_start=4742 + _globals['_OBJECT_VECTORS']._serialized_end=4804 + _globals['_OBJECT_STREAMVECTOR']._serialized_start=4806 + _globals['_OBJECT_STREAMVECTOR']._serialized_end=4930 + _globals['_OBJECT_RESHAPEVECTOR']._serialized_start=4932 + _globals['_OBJECT_RESHAPEVECTOR']._serialized_end=4993 + _globals['_OBJECT_BLOB']._serialized_start=4995 + _globals['_OBJECT_BLOB']._serialized_end=5050 + _globals['_OBJECT_STREAMBLOB']._serialized_start=5052 + _globals['_OBJECT_STREAMBLOB']._serialized_end=5168 + _globals['_OBJECT_LOCATION']._serialized_start=5170 + _globals['_OBJECT_LOCATION']._serialized_end=5238 + _globals['_OBJECT_STREAMLOCATION']._serialized_start=5241 + _globals['_OBJECT_STREAMLOCATION']._serialized_end=5373 + _globals['_OBJECT_LOCATIONS']._serialized_start=5375 + _globals['_OBJECT_LOCATIONS']._serialized_end=5445 + _globals['_OBJECT_LIST']._serialized_start=5448 + _globals['_OBJECT_LIST']._serialized_end=5587 _globals['_OBJECT_LIST_REQUEST']._serialized_start=110 _globals['_OBJECT_LIST_REQUEST']._serialized_end=119 - _globals['_OBJECT_LIST_RESPONSE']._serialized_start=5447 - _globals['_OBJECT_LIST_RESPONSE']._serialized_end=5567 - _globals['_CONTROL']._serialized_start=5569 - _globals['_CONTROL']._serialized_end=5638 - _globals['_CONTROL_CREATEINDEXREQUEST']._serialized_start=5580 - _globals['_CONTROL_CREATEINDEXREQUEST']._serialized_end=5638 - _globals['_DISCOVERER']._serialized_start=5640 - _globals['_DISCOVERER']._serialized_end=5742 - _globals['_DISCOVERER_REQUEST']._serialized_start=5654 - _globals['_DISCOVERER_REQUEST']._serialized_end=5742 - _globals['_INFO']._serialized_start=5745 - _globals['_INFO']._serialized_end=7421 - _globals['_INFO_INDEX']._serialized_start=5754 - _globals['_INFO_INDEX']._serialized_end=5956 - _globals['_INFO_INDEX_COUNT']._serialized_start=5763 - _globals['_INFO_INDEX_COUNT']._serialized_end=5880 - _globals['_INFO_INDEX_UUID']._serialized_start=5882 - _globals['_INFO_INDEX_UUID']._serialized_end=5956 - _globals['_INFO_INDEX_UUID_COMMITTED']._serialized_start=5890 - _globals['_INFO_INDEX_UUID_COMMITTED']._serialized_end=5921 - _globals['_INFO_INDEX_UUID_UNCOMMITTED']._serialized_start=5923 - _globals['_INFO_INDEX_UUID_UNCOMMITTED']._serialized_end=5956 - _globals['_INFO_POD']._serialized_start=5959 - _globals['_INFO_POD']._serialized_end=6198 - _globals['_INFO_NODE']._serialized_start=6201 - _globals['_INFO_NODE']._serialized_end=6433 - _globals['_INFO_SERVICE']._serialized_start=6436 - _globals['_INFO_SERVICE']._serialized_end=6694 - _globals['_INFO_SERVICEPORT']._serialized_start=6696 - _globals['_INFO_SERVICEPORT']._serialized_end=6749 - _globals['_INFO_LABELS']._serialized_start=6752 - _globals['_INFO_LABELS']._serialized_end=6880 - _globals['_INFO_LABELS_LABELSENTRY']._serialized_start=6823 - _globals['_INFO_LABELS_LABELSENTRY']._serialized_end=6880 - _globals['_INFO_ANNOTATIONS']._serialized_start=6883 - _globals['_INFO_ANNOTATIONS']._serialized_end=7041 - _globals['_INFO_ANNOTATIONS_ANNOTATIONSENTRY']._serialized_start=6979 - _globals['_INFO_ANNOTATIONS_ANNOTATIONSENTRY']._serialized_end=7041 - _globals['_INFO_CPU']._serialized_start=7043 - _globals['_INFO_CPU']._serialized_end=7118 - _globals['_INFO_MEMORY']._serialized_start=7120 - _globals['_INFO_MEMORY']._serialized_end=7198 - _globals['_INFO_PODS']._serialized_start=7200 - _globals['_INFO_PODS']._serialized_end=7258 - _globals['_INFO_NODES']._serialized_start=7260 - _globals['_INFO_NODES']._serialized_end=7322 - _globals['_INFO_SERVICES']._serialized_start=7324 - _globals['_INFO_SERVICES']._serialized_end=7398 - _globals['_INFO_IPS']._serialized_start=7400 - _globals['_INFO_IPS']._serialized_end=7421 - _globals['_MIRROR']._serialized_start=7423 - _globals['_MIRROR']._serialized_end=7545 + _globals['_OBJECT_LIST_RESPONSE']._serialized_start=5467 + _globals['_OBJECT_LIST_RESPONSE']._serialized_end=5587 + _globals['_CONTROL']._serialized_start=5589 + _globals['_CONTROL']._serialized_end=5658 + _globals['_CONTROL_CREATEINDEXREQUEST']._serialized_start=5600 + _globals['_CONTROL_CREATEINDEXREQUEST']._serialized_end=5658 + _globals['_DISCOVERER']._serialized_start=5660 + _globals['_DISCOVERER']._serialized_end=5762 + _globals['_DISCOVERER_REQUEST']._serialized_start=5674 + _globals['_DISCOVERER_REQUEST']._serialized_end=5762 + _globals['_INFO']._serialized_start=5765 + _globals['_INFO']._serialized_end=7441 + _globals['_INFO_INDEX']._serialized_start=5774 + _globals['_INFO_INDEX']._serialized_end=5976 + _globals['_INFO_INDEX_COUNT']._serialized_start=5783 + _globals['_INFO_INDEX_COUNT']._serialized_end=5900 + _globals['_INFO_INDEX_UUID']._serialized_start=5902 + _globals['_INFO_INDEX_UUID']._serialized_end=5976 + _globals['_INFO_INDEX_UUID_COMMITTED']._serialized_start=5910 + _globals['_INFO_INDEX_UUID_COMMITTED']._serialized_end=5941 + _globals['_INFO_INDEX_UUID_UNCOMMITTED']._serialized_start=5943 + _globals['_INFO_INDEX_UUID_UNCOMMITTED']._serialized_end=5976 + _globals['_INFO_POD']._serialized_start=5979 + _globals['_INFO_POD']._serialized_end=6218 + _globals['_INFO_NODE']._serialized_start=6221 + _globals['_INFO_NODE']._serialized_end=6453 + _globals['_INFO_SERVICE']._serialized_start=6456 + _globals['_INFO_SERVICE']._serialized_end=6714 + _globals['_INFO_SERVICEPORT']._serialized_start=6716 + _globals['_INFO_SERVICEPORT']._serialized_end=6769 + _globals['_INFO_LABELS']._serialized_start=6772 + _globals['_INFO_LABELS']._serialized_end=6900 + _globals['_INFO_LABELS_LABELSENTRY']._serialized_start=6843 + _globals['_INFO_LABELS_LABELSENTRY']._serialized_end=6900 + _globals['_INFO_ANNOTATIONS']._serialized_start=6903 + _globals['_INFO_ANNOTATIONS']._serialized_end=7061 + _globals['_INFO_ANNOTATIONS_ANNOTATIONSENTRY']._serialized_start=6999 + _globals['_INFO_ANNOTATIONS_ANNOTATIONSENTRY']._serialized_end=7061 + _globals['_INFO_CPU']._serialized_start=7063 + _globals['_INFO_CPU']._serialized_end=7138 + _globals['_INFO_MEMORY']._serialized_start=7140 + _globals['_INFO_MEMORY']._serialized_end=7218 + _globals['_INFO_PODS']._serialized_start=7220 + _globals['_INFO_PODS']._serialized_end=7278 + _globals['_INFO_NODES']._serialized_start=7280 + _globals['_INFO_NODES']._serialized_end=7342 + _globals['_INFO_SERVICES']._serialized_start=7344 + _globals['_INFO_SERVICES']._serialized_end=7418 + _globals['_INFO_IPS']._serialized_start=7420 + _globals['_INFO_IPS']._serialized_end=7441 + _globals['_MIRROR']._serialized_start=7443 + _globals['_MIRROR']._serialized_end=7565 _globals['_MIRROR_TARGET']._serialized_start=1501 _globals['_MIRROR_TARGET']._serialized_end=1549 - _globals['_MIRROR_TARGETS']._serialized_start=7483 - _globals['_MIRROR_TARGETS']._serialized_end=7545 - _globals['_EMPTY']._serialized_start=7547 - _globals['_EMPTY']._serialized_end=7554 + _globals['_MIRROR_TARGETS']._serialized_start=7503 + _globals['_MIRROR_TARGETS']._serialized_end=7565 + _globals['_EMPTY']._serialized_start=7567 + _globals['_EMPTY']._serialized_end=7574 # @@protoc_insertion_point(module_scope) diff --git a/src/vald/v1/vald/filter_pb2.py b/src/vald/v1/vald/filter_pb2.py index 1ccd4a26..a2754777 100644 --- a/src/vald/v1/vald/filter_pb2.py +++ b/src/vald/v1/vald/filter_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/vald/filter.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,24 +21,24 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.vald.filter_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\032org.vdaas.vald.api.v1.valdB\nValdFilterP\001Z\'github.com/vdaas/vald/apis/grpc/v1/vald' - _globals['_FILTER'].methods_by_name['SearchObject']._options = None + _globals['_FILTER'].methods_by_name['SearchObject']._loaded_options = None _globals['_FILTER'].methods_by_name['SearchObject']._serialized_options = b'\202\323\344\223\002\023\"\016/search/object:\001*' - _globals['_FILTER'].methods_by_name['MultiSearchObject']._options = None + _globals['_FILTER'].methods_by_name['MultiSearchObject']._loaded_options = None _globals['_FILTER'].methods_by_name['MultiSearchObject']._serialized_options = b'\202\323\344\223\002\034\"\027/search/object/multiple:\001*' - _globals['_FILTER'].methods_by_name['InsertObject']._options = None + _globals['_FILTER'].methods_by_name['InsertObject']._loaded_options = None _globals['_FILTER'].methods_by_name['InsertObject']._serialized_options = b'\202\323\344\223\002\023\"\016/insert/object:\001*' - _globals['_FILTER'].methods_by_name['MultiInsertObject']._options = None + _globals['_FILTER'].methods_by_name['MultiInsertObject']._loaded_options = None _globals['_FILTER'].methods_by_name['MultiInsertObject']._serialized_options = b'\202\323\344\223\002\034\"\027/insert/object/multiple:\001*' - _globals['_FILTER'].methods_by_name['UpdateObject']._options = None + _globals['_FILTER'].methods_by_name['UpdateObject']._loaded_options = None _globals['_FILTER'].methods_by_name['UpdateObject']._serialized_options = b'\202\323\344\223\002\023\"\016/update/object:\001*' - _globals['_FILTER'].methods_by_name['MultiUpdateObject']._options = None + _globals['_FILTER'].methods_by_name['MultiUpdateObject']._loaded_options = None _globals['_FILTER'].methods_by_name['MultiUpdateObject']._serialized_options = b'\202\323\344\223\002\034\"\027/update/object/multiple:\001*' - _globals['_FILTER'].methods_by_name['UpsertObject']._options = None + _globals['_FILTER'].methods_by_name['UpsertObject']._loaded_options = None _globals['_FILTER'].methods_by_name['UpsertObject']._serialized_options = b'\202\323\344\223\002\023\"\016/upsert/object:\001*' - _globals['_FILTER'].methods_by_name['MultiUpsertObject']._options = None + _globals['_FILTER'].methods_by_name['MultiUpsertObject']._loaded_options = None _globals['_FILTER'].methods_by_name['MultiUpsertObject']._serialized_options = b'\202\323\344\223\002\034\"\027/upsert/object/multiple:\001*' _globals['_FILTER']._serialized_start=100 _globals['_FILTER']._serialized_end=1424 diff --git a/src/vald/v1/vald/insert_pb2.py b/src/vald/v1/vald/insert_pb2.py index 710694ae..89f96d43 100644 --- a/src/vald/v1/vald/insert_pb2.py +++ b/src/vald/v1/vald/insert_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/vald/insert.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,12 +21,12 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.vald.insert_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\032org.vdaas.vald.api.v1.valdB\nValdInsertP\001Z\'github.com/vdaas/vald/apis/grpc/v1/vald' - _globals['_INSERT'].methods_by_name['Insert']._options = None + _globals['_INSERT'].methods_by_name['Insert']._loaded_options = None _globals['_INSERT'].methods_by_name['Insert']._serialized_options = b'\202\323\344\223\002\014\"\007/insert:\001*' - _globals['_INSERT'].methods_by_name['MultiInsert']._options = None + _globals['_INSERT'].methods_by_name['MultiInsert']._loaded_options = None _globals['_INSERT'].methods_by_name['MultiInsert']._serialized_options = b'\202\323\344\223\002\025\"\020/insert/multiple:\001*' _globals['_INSERT']._serialized_start=100 _globals['_INSERT']._serialized_end=387 diff --git a/src/vald/v1/vald/object_pb2.py b/src/vald/v1/vald/object_pb2.py index 016005f3..9179c9d8 100644 --- a/src/vald/v1/vald/object_pb2.py +++ b/src/vald/v1/vald/object_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/vald/object.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,14 +21,14 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.vald.object_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\032org.vdaas.vald.api.v1.valdB\nValdObjectP\001Z\'github.com/vdaas/vald/apis/grpc/v1/vald' - _globals['_OBJECT'].methods_by_name['Exists']._options = None + _globals['_OBJECT'].methods_by_name['Exists']._loaded_options = None _globals['_OBJECT'].methods_by_name['Exists']._serialized_options = b'\202\323\344\223\002\016\022\014/exists/{id}' - _globals['_OBJECT'].methods_by_name['GetObject']._options = None + _globals['_OBJECT'].methods_by_name['GetObject']._loaded_options = None _globals['_OBJECT'].methods_by_name['GetObject']._serialized_options = b'\202\323\344\223\002\021\022\017/object/{id.id}' - _globals['_OBJECT'].methods_by_name['StreamListObject']._options = None + _globals['_OBJECT'].methods_by_name['StreamListObject']._loaded_options = None _globals['_OBJECT'].methods_by_name['StreamListObject']._serialized_options = b'\202\323\344\223\002\016\022\014/object/list' _globals['_OBJECT']._serialized_start=100 _globals['_OBJECT']._serialized_end=488 diff --git a/src/vald/v1/vald/remove_pb2.py b/src/vald/v1/vald/remove_pb2.py index 87e7a57b..8bba0535 100644 --- a/src/vald/v1/vald/remove_pb2.py +++ b/src/vald/v1/vald/remove_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/vald/remove.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,14 +21,14 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.vald.remove_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\032org.vdaas.vald.api.v1.valdB\nValdRemoveP\001Z\'github.com/vdaas/vald/apis/grpc/v1/vald' - _globals['_REMOVE'].methods_by_name['Remove']._options = None + _globals['_REMOVE'].methods_by_name['Remove']._loaded_options = None _globals['_REMOVE'].methods_by_name['Remove']._serialized_options = b'\202\323\344\223\002\014\"\007/remove:\001*' - _globals['_REMOVE'].methods_by_name['RemoveByTimestamp']._options = None + _globals['_REMOVE'].methods_by_name['RemoveByTimestamp']._loaded_options = None _globals['_REMOVE'].methods_by_name['RemoveByTimestamp']._serialized_options = b'\202\323\344\223\002\026\"\021/remove/timestamp:\001*' - _globals['_REMOVE'].methods_by_name['MultiRemove']._options = None + _globals['_REMOVE'].methods_by_name['MultiRemove']._loaded_options = None _globals['_REMOVE'].methods_by_name['MultiRemove']._serialized_options = b'\202\323\344\223\002\025\"\020/remove/multiple:\001*' _globals['_REMOVE']._serialized_start=100 _globals['_REMOVE']._serialized_end=505 diff --git a/src/vald/v1/vald/search_pb2.py b/src/vald/v1/vald/search_pb2.py index a84c2645..aaab9cbf 100644 --- a/src/vald/v1/vald/search_pb2.py +++ b/src/vald/v1/vald/search_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/vald/search.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,24 +21,24 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.vald.search_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\032org.vdaas.vald.api.v1.valdB\nValdSearchP\001Z\'github.com/vdaas/vald/apis/grpc/v1/vald' - _globals['_SEARCH'].methods_by_name['Search']._options = None + _globals['_SEARCH'].methods_by_name['Search']._loaded_options = None _globals['_SEARCH'].methods_by_name['Search']._serialized_options = b'\202\323\344\223\002\014\"\007/search:\001*' - _globals['_SEARCH'].methods_by_name['SearchByID']._options = None + _globals['_SEARCH'].methods_by_name['SearchByID']._loaded_options = None _globals['_SEARCH'].methods_by_name['SearchByID']._serialized_options = b'\202\323\344\223\002\017\"\n/search/id:\001*' - _globals['_SEARCH'].methods_by_name['MultiSearch']._options = None + _globals['_SEARCH'].methods_by_name['MultiSearch']._loaded_options = None _globals['_SEARCH'].methods_by_name['MultiSearch']._serialized_options = b'\202\323\344\223\002\025\"\020/search/multiple:\001*' - _globals['_SEARCH'].methods_by_name['MultiSearchByID']._options = None + _globals['_SEARCH'].methods_by_name['MultiSearchByID']._loaded_options = None _globals['_SEARCH'].methods_by_name['MultiSearchByID']._serialized_options = b'\202\323\344\223\002\030\"\023/search/id/multiple:\001*' - _globals['_SEARCH'].methods_by_name['LinearSearch']._options = None + _globals['_SEARCH'].methods_by_name['LinearSearch']._loaded_options = None _globals['_SEARCH'].methods_by_name['LinearSearch']._serialized_options = b'\202\323\344\223\002\022\"\r/linearsearch:\001*' - _globals['_SEARCH'].methods_by_name['LinearSearchByID']._options = None + _globals['_SEARCH'].methods_by_name['LinearSearchByID']._loaded_options = None _globals['_SEARCH'].methods_by_name['LinearSearchByID']._serialized_options = b'\202\323\344\223\002\025\"\020/linearsearch/id:\001*' - _globals['_SEARCH'].methods_by_name['MultiLinearSearch']._options = None + _globals['_SEARCH'].methods_by_name['MultiLinearSearch']._loaded_options = None _globals['_SEARCH'].methods_by_name['MultiLinearSearch']._serialized_options = b'\202\323\344\223\002\033\"\026/linearsearch/multiple:\001*' - _globals['_SEARCH'].methods_by_name['MultiLinearSearchByID']._options = None + _globals['_SEARCH'].methods_by_name['MultiLinearSearchByID']._loaded_options = None _globals['_SEARCH'].methods_by_name['MultiLinearSearchByID']._serialized_options = b'\202\323\344\223\002\036\"\031/linearsearch/id/multiple:\001*' _globals['_SEARCH']._serialized_start=100 _globals['_SEARCH']._serialized_end=1332 diff --git a/src/vald/v1/vald/update_pb2.py b/src/vald/v1/vald/update_pb2.py index f552da4a..c72047ce 100644 --- a/src/vald/v1/vald/update_pb2.py +++ b/src/vald/v1/vald/update_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/vald/update.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,12 +21,12 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.vald.update_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\032org.vdaas.vald.api.v1.valdB\nValdUpdateP\001Z\'github.com/vdaas/vald/apis/grpc/v1/vald' - _globals['_UPDATE'].methods_by_name['Update']._options = None + _globals['_UPDATE'].methods_by_name['Update']._loaded_options = None _globals['_UPDATE'].methods_by_name['Update']._serialized_options = b'\202\323\344\223\002\014\"\007/update:\001*' - _globals['_UPDATE'].methods_by_name['MultiUpdate']._options = None + _globals['_UPDATE'].methods_by_name['MultiUpdate']._loaded_options = None _globals['_UPDATE'].methods_by_name['MultiUpdate']._serialized_options = b'\202\323\344\223\002\025\"\020/update/multiple:\001*' _globals['_UPDATE']._serialized_start=100 _globals['_UPDATE']._serialized_end=387 diff --git a/src/vald/v1/vald/upsert_pb2.py b/src/vald/v1/vald/upsert_pb2.py index 3beb4256..35a6eb8d 100644 --- a/src/vald/v1/vald/upsert_pb2.py +++ b/src/vald/v1/vald/upsert_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: vald/v1/vald/upsert.proto -# Protobuf Python Version: 4.25.3 +# Protobuf Python Version: 5.26.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool @@ -21,12 +21,12 @@ _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vald.v1.vald.upsert_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\032org.vdaas.vald.api.v1.valdB\nValdUpsertP\001Z\'github.com/vdaas/vald/apis/grpc/v1/vald' - _globals['_UPSERT'].methods_by_name['Upsert']._options = None + _globals['_UPSERT'].methods_by_name['Upsert']._loaded_options = None _globals['_UPSERT'].methods_by_name['Upsert']._serialized_options = b'\202\323\344\223\002\014\"\007/upsert:\001*' - _globals['_UPSERT'].methods_by_name['MultiUpsert']._options = None + _globals['_UPSERT'].methods_by_name['MultiUpsert']._loaded_options = None _globals['_UPSERT'].methods_by_name['MultiUpsert']._serialized_options = b'\202\323\344\223\002\025\"\020/upsert/multiple:\001*' _globals['_UPSERT']._serialized_start=100 _globals['_UPSERT']._serialized_end=387 diff --git a/vald-origin b/vald-origin new file mode 160000 index 00000000..63b53ea4 --- /dev/null +++ b/vald-origin @@ -0,0 +1 @@ +Subproject commit 63b53ea424fa2ef388b244182735dab83348f49c diff --git a/vald/buf.lock b/vald/buf.lock new file mode 100644 index 00000000..4666efd5 --- /dev/null +++ b/vald/buf.lock @@ -0,0 +1,13 @@ +# Generated by buf. DO NOT EDIT. +version: v1 +deps: + - remote: buf.build + owner: bufbuild + repository: protovalidate + commit: 1baebb0a15184714854fa1ddfd22a29b + digest: shake256:ecd24ac37ca4f1ea65d816ae98e2a977e5004076ac957de9aedc0d4b517c66eaf3b7c8d6c7669ffd6e2eca5e8a5705372bed339ba47a608b37183ef1ee4f8baf + - remote: buf.build + owner: googleapis + repository: googleapis + commit: 28151c0d0a1641bf938a7672c500e01d + digest: shake256:49215edf8ef57f7863004539deff8834cfb2195113f0b890dd1f67815d9353e28e668019165b9d872395871eeafcbab3ccfdb2b5f11734d3cca95be9e8d139de diff --git a/vald/buf.yaml b/vald/buf.yaml new file mode 100644 index 00000000..afeb16b0 --- /dev/null +++ b/vald/buf.yaml @@ -0,0 +1,25 @@ +# +# Copyright (C) 2019-2024 vdaas.org vald team +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# You may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +version: v1 +breaking: + use: + - FILE +lint: + use: + - DEFAULT +deps: + - buf.build/bufbuild/protovalidate + - buf.build/googleapis/googleapis diff --git a/vald/vald/v1/agent/core/agent.proto b/vald/vald/v1/agent/core/agent.proto new file mode 100644 index 00000000..18ce335e --- /dev/null +++ b/vald/vald/v1/agent/core/agent.proto @@ -0,0 +1,55 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package core.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/agent/core;core"; +option java_multiple_files = true; +option java_outer_classname = "ValdAgent"; +option java_package = "org.vdaas.vald.api.v1.agent.core"; + +// Represent the agent service. +service Agent { + // Represent the creating index RPC. + rpc CreateIndex(payload.v1.Control.CreateIndexRequest) returns (payload.v1.Empty) { + option (google.api.http).get = "/index/create"; + } + + // Represent the saving index RPC. + rpc SaveIndex(payload.v1.Empty) returns (payload.v1.Empty) { + option (google.api.http).get = "/index/save"; + } + + // Represent the creating and saving index RPC. + rpc CreateAndSaveIndex(payload.v1.Control.CreateIndexRequest) returns (payload.v1.Empty) { + option (google.api.http).get = "/index/createandsave"; + } + + // Represent the RPC to get the agent index information. + rpc IndexInfo(payload.v1.Empty) returns (payload.v1.Info.Index.Count) { + option (google.api.http).get = "/index/info"; + } + + // Represent the RPC to get the vector metadata. This RPC is mainly used for index correction process + rpc GetTimestamp(payload.v1.Object.GetTimestampRequest) returns (payload.v1.Object.Timestamp) { + option (google.api.http).get = "/object/meta"; + } +} diff --git a/vald/vald/v1/filter/egress/egress_filter.proto b/vald/vald/v1/filter/egress/egress_filter.proto new file mode 100644 index 00000000..6f7d93cb --- /dev/null +++ b/vald/vald/v1/filter/egress/egress_filter.proto @@ -0,0 +1,46 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package filter.egress.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/filter/egress"; +option java_multiple_files = true; +option java_outer_classname = "ValdEgressFilter"; +option java_package = "org.vdaas.vald.api.v1.filter.egress"; + +// Represent the egress filter service. +service Filter { + // Represent the RPC to filter the distance. + rpc FilterDistance(payload.v1.Object.Distance) returns (payload.v1.Object.Distance) { + option (google.api.http) = { + post: "/filter/egress/distance" + body: "*" + }; + } + + // Represent the RPC to filter the vector. + rpc FilterVector(payload.v1.Object.Vector) returns (payload.v1.Object.Vector) { + option (google.api.http) = { + post: "/filter/egress/vector" + body: "*" + }; + } +} diff --git a/vald/vald/v1/filter/ingress/ingress_filter.proto b/vald/vald/v1/filter/ingress/ingress_filter.proto new file mode 100644 index 00000000..83ffcf2d --- /dev/null +++ b/vald/vald/v1/filter/ingress/ingress_filter.proto @@ -0,0 +1,46 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package filter.ingress.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/filter/ingress"; +option java_multiple_files = true; +option java_outer_classname = "ValdIngressFilter"; +option java_package = "org.vdaas.vald.api.v1.filter.ingress"; + +// Represent the ingress filter service. +service Filter { + // Represent the RPC to generate the vector. + rpc GenVector(payload.v1.Object.Blob) returns (payload.v1.Object.Vector) { + option (google.api.http) = { + post: "/filter/ingress/object" + body: "*" + }; + } + + // Represent the RPC to filter the vector. + rpc FilterVector(payload.v1.Object.Vector) returns (payload.v1.Object.Vector) { + option (google.api.http) = { + post: "/filter/ingress/vector" + body: "*" + }; + } +} diff --git a/vald/vald/v1/payload/payload.proto b/vald/vald/v1/payload/payload.proto new file mode 100644 index 00000000..60cefdaa --- /dev/null +++ b/vald/vald/v1/payload/payload.proto @@ -0,0 +1,667 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package payload.v1; + +import "buf/validate/validate.proto"; +import "google/rpc/status.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/payload"; +option java_multiple_files = true; +option java_outer_classname = "ValdPayload"; +option java_package = "org.vdaas.vald.api.v1.payload"; +option objc_class_prefix = "Payload"; + +// Search related messages. +message Search { + // Represent a search request. + message Request { + // The vector to be searched. + repeated float vector = 1 [(buf.validate.field).repeated.min_items = 2]; + // The configuration of the search request. + Config config = 2; + } + + // Represent the multiple search request. + message MultiRequest { + // Represent the multiple search request content. + repeated Request requests = 1; + } + + // Represent a search by ID request. + message IDRequest { + // The vector ID to be searched. + string id = 1; + // The configuration of the search request. + Config config = 2; + } + + // Represent the multiple search by ID request. + message MultiIDRequest { + // Represent the multiple search by ID request content. + repeated IDRequest requests = 1; + } + + // Represent a search by binary object request. + message ObjectRequest { + // The binary object to be searched. + bytes object = 1; + // The configuration of the search request. + Config config = 2; + // Filter configuration. + Filter.Target vectorizer = 3; + } + + // Represent the multiple search by binary object request. + message MultiObjectRequest { + // Represent the multiple search by binary object request content. + repeated ObjectRequest requests = 1; + } + + // Represent search configuration. + message Config { + // Unique request ID. + string request_id = 1; + // Maximum number of result to be returned. + uint32 num = 2 [(buf.validate.field).uint32.gte = 1]; + // Search radius. + float radius = 3; + // Search coefficient. + float epsilon = 4; + // Search timeout in nanoseconds. + int64 timeout = 5; + // Ingress filter configurations. + Filter.Config ingress_filters = 6; + // Egress filter configurations. + Filter.Config egress_filters = 7; + // Minimum number of result to be returned. + uint32 min_num = 8 [(buf.validate.field).uint32.gte = 0]; + // Aggregation Algorithm + AggregationAlgorithm aggregation_algorithm = 9; + } + + // AggregationAlgorithm is enum of each aggregation algorithms + enum AggregationAlgorithm { + Unknown = 0; + ConcurrentQueue = 1; + SortSlice = 2; + SortPoolSlice = 3; + PairingHeap = 4; + } + + // Represent a search response. + message Response { + // The unique request ID. + string request_id = 1; + // Search results. + repeated Object.Distance results = 2; + } + + // Represent multiple search responses. + message Responses { + // Represent the multiple search response content. + repeated Response responses = 1; + } + + // Represent stream search response. + message StreamResponse { + oneof payload { + // Represent the search response. + Response response = 1; + // The RPC error status. + google.rpc.Status status = 2; + } + } +} + +// Filter related messages. +message Filter { + // Represent the target filter server. + message Target { + // The target hostname. + string host = 1; + // The target port. + uint32 port = 2; + } + + // Represent filter configuration. + message Config { + // Represent the filter target configuration. + repeated Target targets = 1; + } +} + +// Insert related messages. +message Insert { + // Represent the insert request. + message Request { + // The vector to be inserted. + Object.Vector vector = 1 [(buf.validate.field).repeated.min_items = 2]; + // The configuration of the insert request. + Config config = 2; + } + + // Represent the multiple insert request. + message MultiRequest { + // Represent multiple insert request content. + repeated Request requests = 1; + } + + // Represent the insert by binary object request. + message ObjectRequest { + // The binary object to be inserted. + Object.Blob object = 1; + // The configuration of the insert request. + Config config = 2; + // Filter configurations. + Filter.Target vectorizer = 3; + } + + // Represent the multiple insert by binary object request. + message MultiObjectRequest { + // Represent multiple insert by object content. + repeated ObjectRequest requests = 1; + } + + // Represent insert configurations. + message Config { + // A flag to skip exist check during insert operation. + bool skip_strict_exist_check = 1; + // Filter configurations. + Filter.Config filters = 2; + // Insert timestamp. + int64 timestamp = 3; + } +} + +// Update related messages +message Update { + // Represent the update request. + message Request { + // The vector to be updated. + Object.Vector vector = 1 [(buf.validate.field).repeated.min_items = 2]; + // The configuration of the update request. + Config config = 2; + } + + // Represent the multiple update request. + message MultiRequest { + // Represent the multiple update request content. + repeated Request requests = 1; + } + + // Represent the update binary object request. + message ObjectRequest { + // The binary object to be updated. + Object.Blob object = 1; + // The configuration of the update request. + Config config = 2; + // Filter target. + Filter.Target vectorizer = 3; + } + + // Represent the multiple update binary object request. + message MultiObjectRequest { + // Represent the multiple update object request content. + repeated ObjectRequest requests = 1; + } + + // Represent the update configuration. + message Config { + // A flag to skip exist check during update operation. + bool skip_strict_exist_check = 1; + // Filter configuration. + Filter.Config filters = 2; + // Update timestamp. + int64 timestamp = 3; + // A flag to disable balanced update (split remove -> insert operation) + // during update operation. + bool disable_balanced_update = 4; + } +} + +// Upsert related messages. +message Upsert { + // Represent the upsert request. + message Request { + // The vector to be upserted. + Object.Vector vector = 1 [(buf.validate.field).repeated.min_items = 2]; + // The configuration of the upsert request. + Config config = 2; + } + + // Represent mthe ultiple upsert request. + message MultiRequest { + // Represent the multiple upsert request content. + repeated Request requests = 1; + } + + // Represent the upsert binary object request. + message ObjectRequest { + // The binary object to be upserted. + Object.Blob object = 1; + // The configuration of the upsert request. + Config config = 2; + // Filter target. + Filter.Target vectorizer = 3; + } + + // Represent the multiple upsert binary object request. + message MultiObjectRequest { + // Represent the multiple upsert object request content. + repeated ObjectRequest requests = 1; + } + + // Represent the upsert configuration. + message Config { + // A flag to skip exist check during upsert operation. + bool skip_strict_exist_check = 1; + // Filter configuration. + Filter.Config filters = 2; + // Upsert timestamp. + int64 timestamp = 3; + // A flag to disable balanced update (split remove -> insert operation) + // during update operation. + bool disable_balanced_update = 4; + } +} + +// Remove related messages. +message Remove { + // Represent the remove request. + message Request { + // The object ID to be removed. + Object.ID id = 1; + // The configuration of the remove request. + Config config = 2; + } + + // Represent the multiple remove request. + message MultiRequest { + // Represent the multiple remove request content. + repeated Request requests = 1; + } + + // Represent the remove request based on timestamp. + message TimestampRequest { + // The timestamp comparison list. If more than one is specified, the `AND` search is applied. + repeated Timestamp timestamps = 1; + } + + // Represent the timestamp comparison. + message Timestamp { + // Operator is enum of each conditional operator. + enum Operator { + // The timestamp is equal to the specified value in the request. + Eq = 0; + // The timestamp is not equal to the specified value in the request. + Ne = 1; + // The timestamp is greater than or equal to the specified value in the request. + Ge = 2; + // The timestamp is greater than the specified value in the request. + Gt = 3; + // The timestamp is less than or equal to the specified value in the request. + Le = 4; + // The timestamp is less than the specified value in the request. + Lt = 5; + } + // The timestamp. + int64 timestamp = 1; + // The conditional operator. + Operator operator = 2; + } + + // Represent the remove configuration. + message Config { + // A flag to skip exist check during upsert operation. + bool skip_strict_exist_check = 1; + // Remove timestamp. + int64 timestamp = 3; + } +} + +// Flush related messages. +message Flush { + message Request {} +} + +// Common messages. +message Object { + // Represent a request to fetch raw vector. + message VectorRequest { + // The vector ID to be fetched. + ID id = 1 [(buf.validate.field).repeated.min_items = 2]; + // Filter configurations. + Filter.Config filters = 2; + } + + // Represent the ID and distance pair. + message Distance { + // The vector ID. + string id = 1; + // The distance. + float distance = 2; + } + + // Represent stream response of distances. + message StreamDistance { + oneof payload { + // The distance. + Distance distance = 1; + // The RPC error status. + google.rpc.Status status = 2; + } + } + + // Represent the vector ID. + message ID { + string id = 1 [(buf.validate.field).string.min_len = 1]; + } + + // Represent multiple vector IDs. + message IDs { + repeated string ids = 1; + } + + // Represent a vector. + message Vector { + // The vector ID. + string id = 1 [(buf.validate.field).string.min_len = 1]; + // The vector. + repeated float vector = 2 [(buf.validate.field).repeated.min_items = 2]; + // timestamp represents when this vector inserted. + int64 timestamp = 3; + } + + // Represent a request to fetch vector meta data. + message GetTimestampRequest { + // The vector ID to be fetched. + ID id = 1 [(buf.validate.field).repeated.min_items = 2]; + } + + // Represent a vector meta data. + message Timestamp { + // The vector ID. + string id = 1 [(buf.validate.field).string.min_len = 1]; + // timestamp represents when this vector inserted. + int64 timestamp = 2; + } + + // Represent multiple vectors. + message Vectors { + repeated Vector vectors = 1; + } + + // Represent stream response of the vector. + message StreamVector { + oneof payload { + // The vector. + Vector vector = 1; + // The RPC error status. + google.rpc.Status status = 2; + } + } + + // Represent reshape vector. + message ReshapeVector { + // The binary object. + bytes object = 1; + // The new shape. + repeated int32 shape = 2; + } + + // Represent the binary object. + message Blob { + // The object ID. + string id = 1 [(buf.validate.field).string.min_len = 1]; + // The binary object. + bytes object = 2; + } + + // Represent stream response of binary objects. + message StreamBlob { + oneof payload { + // The binary object. + Blob blob = 1; + // The RPC error status. + google.rpc.Status status = 2; + } + } + + // Represent the vector location. + message Location { + // The name of the location. + string name = 1; + // The UUID of the vector. + string uuid = 2; + // The IP list. + repeated string ips = 3; + } + + // Represent the stream response of the vector location. + message StreamLocation { + oneof payload { + // The vector location. + Location location = 1; + // The RPC error status. + google.rpc.Status status = 2; + } + } + + // Represent multiple vector locations. + message Locations { + repeated Location locations = 1; + } + + // Represent the list object vector stream request and response. + message List { + message Request {} + + message Response { + oneof payload { + // The vector + Vector vector = 1; + // The RPC error status. + google.rpc.Status status = 2; + } + } + } +} + +// Control related messages. +message Control { + // Represent the create index request. + message CreateIndexRequest { + // The pool size of the create index operation. + uint32 pool_size = 1 [(buf.validate.field).uint32.gte = 0]; + } +} + +// Discoverer related messages. +message Discoverer { + // Represent the dicoverer request. + message Request { + // The agent name to be discovered. + string name = 1 [(buf.validate.field).string.min_len = 1]; + // The namespace to be discovered. + string namespace = 2; + // The node to be discovered. + string node = 3; + } +} + +// Info related messages. +message Info { + // Represent the index information messages. + message Index { + // Represent the index count message. + message Count { + // The stored index count. + uint32 stored = 1; + // The uncommitted index count. + uint32 uncommitted = 2; + // The indexing index count. + bool indexing = 3; + // The saving index count. + bool saving = 4; + } + + // Represent the UUID message. + message UUID { + // The committed UUID. + message Committed { + string uuid = 1; + } + // The uncommitted UUID. + message Uncommitted { + string uuid = 1; + } + } + } + + // Represent the pod information message. + message Pod { + // The app name of the pod on the label. + string app_name = 1; + // The name of the pod. + string name = 2; + // The namespace of the pod. + string namespace = 3; + // The IP of the pod. + string ip = 4 [(buf.validate.field).string.ipv4 = true]; + // The CPU information of the pod. + CPU cpu = 5; + // The memory information of the pod. + Memory memory = 6; + // The node information of the pod. + Node node = 7; + } + + // Represent the node information message. + message Node { + // The name of the node. + string name = 1; + // The internal IP address of the node. + string internal_addr = 2; + // The external IP address of the node. + string external_addr = 3; + // The CPU information of the node. + CPU cpu = 4; + // The memory information of the node. + Memory memory = 5; + // The pod information of the node. + Pods Pods = 6; + } + + // Represent the service information message. + message Service { + // The name of the svc. + string name = 1; + // The cluster ip of the svc. + string cluster_ip = 2; + // The cluster ips of the svc. + repeated string cluster_ips = 3; + // The port of the svc. + repeated ServicePort ports = 4; + // The labels of the service. + Labels labels = 5; + // The annotations of the service. + Annotations annotations = 6; + } + + // Represets the service port information message. + message ServicePort { + // The name of the port. + string name = 1; + // The port number + int32 port = 2; + } + + // Represent the kubernetes labels. + message Labels { + map labels = 1; + } + + // Represent the kubernetes annotations. + message Annotations { + map annotations = 1; + } + + // Represent the CPU information message. + message CPU { + // The CPU resource limit. + double limit = 1; + // The CPU resource requested. + double request = 2; + // The CPU usage. + double usage = 3; + } + + // Represent the memory information message. + message Memory { + // The memory limit. + double limit = 1; + // The memory requested. + double request = 2; + // The memory usage. + double usage = 3; + } + + // Represent the multiple pod information message. + message Pods { + // The multiple pod information. + repeated Pod pods = 1 [(buf.validate.field).repeated.min_items = 1]; + } + + // Represent the multiple node information message. + message Nodes { + // The multiple node information. + repeated Node nodes = 1 [(buf.validate.field).repeated.min_items = 1]; + } + + // Represent the multiple service information message. + message Services { + // The multiple service information. + repeated Service services = 1 [(buf.validate.field).repeated.min_items = 1]; + } + + // Represent the multiple IP message. + message IPs { + repeated string ip = 1; + } +} + +// Mirror related messages. +message Mirror { + // Represent server information. + message Target { + // The target hostname. + string host = 1; + // The target port. + uint32 port = 2; + } + + // Represent the multiple Target message. + message Targets { + // The multiple target information. + repeated Target targets = 1; + } +} + +// Represent an empty message. +message Empty {} diff --git a/vald/vald/v1/vald/filter.proto b/vald/vald/v1/vald/filter.proto new file mode 100644 index 00000000..6e4d31ec --- /dev/null +++ b/vald/vald/v1/vald/filter.proto @@ -0,0 +1,106 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package vald.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/vald"; +option java_multiple_files = true; +option java_outer_classname = "ValdFilter"; +option java_package = "org.vdaas.vald.api.v1.vald"; + +// Filter service provides ways to connect to Vald through filter. +service Filter { + // A method to search object. + rpc SearchObject(payload.v1.Search.ObjectRequest) returns (payload.v1.Search.Response) { + option (google.api.http) = { + post: "/search/object" + body: "*" + }; + } + + // A method to search multiple objects. + rpc MultiSearchObject(payload.v1.Search.MultiObjectRequest) returns (payload.v1.Search.Responses) { + option (google.api.http) = { + post: "/search/object/multiple" + body: "*" + }; + } + + // A method to search object by bidirectional streaming. + rpc StreamSearchObject(stream payload.v1.Search.ObjectRequest) returns (stream payload.v1.Search.StreamResponse) {} + + // A method insert object. + rpc InsertObject(payload.v1.Insert.ObjectRequest) returns (payload.v1.Object.Location) { + option (google.api.http) = { + post: "/insert/object" + body: "*" + }; + } + + // Represent the streaming RPC to insert object by bidirectional streaming. + rpc StreamInsertObject(stream payload.v1.Insert.ObjectRequest) returns (stream payload.v1.Object.StreamLocation) {} + + // A method to insert multiple objects. + rpc MultiInsertObject(payload.v1.Insert.MultiObjectRequest) returns (payload.v1.Object.Locations) { + option (google.api.http) = { + post: "/insert/object/multiple" + body: "*" + }; + } + + // A method to update object. + rpc UpdateObject(payload.v1.Update.ObjectRequest) returns (payload.v1.Object.Location) { + option (google.api.http) = { + post: "/update/object" + body: "*" + }; + } + + // A method to update object by bidirectional streaming. + rpc StreamUpdateObject(stream payload.v1.Update.ObjectRequest) returns (stream payload.v1.Object.StreamLocation) {} + + // A method to update multiple objects. + rpc MultiUpdateObject(payload.v1.Update.MultiObjectRequest) returns (payload.v1.Object.Locations) { + option (google.api.http) = { + post: "/update/object/multiple" + body: "*" + }; + } + + // A method to upsert object. + rpc UpsertObject(payload.v1.Upsert.ObjectRequest) returns (payload.v1.Object.Location) { + option (google.api.http) = { + post: "/upsert/object" + body: "*" + }; + } + + // A method to upsert object by bidirectional streaming. + rpc StreamUpsertObject(stream payload.v1.Upsert.ObjectRequest) returns (stream payload.v1.Object.StreamLocation) {} + + // A method to upsert multiple objects. + rpc MultiUpsertObject(payload.v1.Upsert.MultiObjectRequest) returns (payload.v1.Object.Locations) { + option (google.api.http) = { + post: "/upsert/object/multiple" + body: "*" + }; + } +} diff --git a/vald/vald/v1/vald/insert.proto b/vald/vald/v1/vald/insert.proto new file mode 100644 index 00000000..727da2ec --- /dev/null +++ b/vald/vald/v1/vald/insert.proto @@ -0,0 +1,49 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package vald.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/vald"; +option java_multiple_files = true; +option java_outer_classname = "ValdInsert"; +option java_package = "org.vdaas.vald.api.v1.vald"; + +// Insert service provides ways to add new vectors. +service Insert { + // A method to add a new single vector. + rpc Insert(payload.v1.Insert.Request) returns (payload.v1.Object.Location) { + option (google.api.http) = { + post: "/insert" + body: "*" + }; + } + + // A method to add new multiple vectors by bidirectional streaming. + rpc StreamInsert(stream payload.v1.Insert.Request) returns (stream payload.v1.Object.StreamLocation) {} + + // A method to add new multiple vectors in a single request. + rpc MultiInsert(payload.v1.Insert.MultiRequest) returns (payload.v1.Object.Locations) { + option (google.api.http) = { + post: "/insert/multiple" + body: "*" + }; + } +} diff --git a/vald/vald/v1/vald/object.proto b/vald/vald/v1/vald/object.proto new file mode 100644 index 00000000..3007dcec --- /dev/null +++ b/vald/vald/v1/vald/object.proto @@ -0,0 +1,48 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package vald.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/vald"; +option java_multiple_files = true; +option java_outer_classname = "ValdObject"; +option java_package = "org.vdaas.vald.api.v1.vald"; + +// Object service provides ways to fetch indexed vectors. +service Object { + // A method to check whether a specified ID is indexed or not. + rpc Exists(payload.v1.Object.ID) returns (payload.v1.Object.ID) { + option (google.api.http).get = "/exists/{id}"; + } + + // A method to fetch a vector. + rpc GetObject(payload.v1.Object.VectorRequest) returns (payload.v1.Object.Vector) { + option (google.api.http).get = "/object/{id.id}"; + } + + // A method to fetch vectors by bidirectional streaming. + rpc StreamGetObject(stream payload.v1.Object.VectorRequest) returns (stream payload.v1.Object.StreamVector) {} + + // A method to get all the vectors with server streaming + rpc StreamListObject(payload.v1.Object.List.Request) returns (stream payload.v1.Object.List.Response) { + option (google.api.http).get = "/object/list"; + } +} diff --git a/vald/vald/v1/vald/remove.proto b/vald/vald/v1/vald/remove.proto new file mode 100644 index 00000000..e3101b04 --- /dev/null +++ b/vald/vald/v1/vald/remove.proto @@ -0,0 +1,57 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package vald.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/vald"; +option java_multiple_files = true; +option java_outer_classname = "ValdRemove"; +option java_package = "org.vdaas.vald.api.v1.vald"; + +// Remove service provides ways to remove indexed vectors. +service Remove { + // A method to remove an indexed vector. + rpc Remove(payload.v1.Remove.Request) returns (payload.v1.Object.Location) { + option (google.api.http) = { + post: "/remove" + body: "*" + }; + } + + // A method to remove an indexed vector based on timestamp. + rpc RemoveByTimestamp(payload.v1.Remove.TimestampRequest) returns (payload.v1.Object.Locations) { + option (google.api.http) = { + post: "/remove/timestamp" + body: "*" + }; + } + + // A method to remove multiple indexed vectors by bidirectional streaming. + rpc StreamRemove(stream payload.v1.Remove.Request) returns (stream payload.v1.Object.StreamLocation) {} + + // A method to remove multiple indexed vectors in a single request. + rpc MultiRemove(payload.v1.Remove.MultiRequest) returns (payload.v1.Object.Locations) { + option (google.api.http) = { + post: "/remove/multiple" + body: "*" + }; + } +} diff --git a/vald/vald/v1/vald/search.proto b/vald/vald/v1/vald/search.proto new file mode 100644 index 00000000..aeac3d30 --- /dev/null +++ b/vald/vald/v1/vald/search.proto @@ -0,0 +1,108 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package vald.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/vald"; +option java_multiple_files = true; +option java_outer_classname = "ValdSearch"; +option java_package = "org.vdaas.vald.api.v1.vald"; + +// Search service provides ways to search indexed vectors. +service Search { + // A method to search indexed vectors by a raw vector. + rpc Search(payload.v1.Search.Request) returns (payload.v1.Search.Response) { + option (google.api.http) = { + post: "/search" + body: "*" + }; + } + + // A method to search indexed vectors by ID. + rpc SearchByID(payload.v1.Search.IDRequest) returns (payload.v1.Search.Response) { + option (google.api.http) = { + post: "/search/id" + body: "*" + }; + } + + // A method to search indexed vectors by multiple vectors. + rpc StreamSearch(stream payload.v1.Search.Request) returns (stream payload.v1.Search.StreamResponse) {} + + // A method to search indexed vectors by multiple IDs. + rpc StreamSearchByID(stream payload.v1.Search.IDRequest) returns (stream payload.v1.Search.StreamResponse) {} + + // A method to search indexed vectors by multiple vectors in a single request. + rpc MultiSearch(payload.v1.Search.MultiRequest) returns (payload.v1.Search.Responses) { + option (google.api.http) = { + post: "/search/multiple" + body: "*" + }; + } + + // A method to search indexed vectors by multiple IDs in a single request. + rpc MultiSearchByID(payload.v1.Search.MultiIDRequest) returns (payload.v1.Search.Responses) { + option (google.api.http) = { + post: "/search/id/multiple" + body: "*" + }; + } + + // A method to linear search indexed vectors by a raw vector. + rpc LinearSearch(payload.v1.Search.Request) returns (payload.v1.Search.Response) { + option (google.api.http) = { + post: "/linearsearch" + body: "*" + }; + } + + // A method to linear search indexed vectors by ID. + rpc LinearSearchByID(payload.v1.Search.IDRequest) returns (payload.v1.Search.Response) { + option (google.api.http) = { + post: "/linearsearch/id" + body: "*" + }; + } + + // A method to linear search indexed vectors by multiple vectors. + rpc StreamLinearSearch(stream payload.v1.Search.Request) returns (stream payload.v1.Search.StreamResponse) {} + + // A method to linear search indexed vectors by multiple IDs. + rpc StreamLinearSearchByID(stream payload.v1.Search.IDRequest) returns (stream payload.v1.Search.StreamResponse) {} + + // A method to linear search indexed vectors by multiple vectors in a single + // request. + rpc MultiLinearSearch(payload.v1.Search.MultiRequest) returns (payload.v1.Search.Responses) { + option (google.api.http) = { + post: "/linearsearch/multiple" + body: "*" + }; + } + + // A method to linear search indexed vectors by multiple IDs in a single + // request. + rpc MultiLinearSearchByID(payload.v1.Search.MultiIDRequest) returns (payload.v1.Search.Responses) { + option (google.api.http) = { + post: "/linearsearch/id/multiple" + body: "*" + }; + } +} diff --git a/vald/vald/v1/vald/update.proto b/vald/vald/v1/vald/update.proto new file mode 100644 index 00000000..a5424205 --- /dev/null +++ b/vald/vald/v1/vald/update.proto @@ -0,0 +1,49 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package vald.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/vald"; +option java_multiple_files = true; +option java_outer_classname = "ValdUpdate"; +option java_package = "org.vdaas.vald.api.v1.vald"; + +// Update service provides ways to update indexed vectors. +service Update { + // A method to update an indexed vector. + rpc Update(payload.v1.Update.Request) returns (payload.v1.Object.Location) { + option (google.api.http) = { + post: "/update" + body: "*" + }; + } + + // A method to update multiple indexed vectors by bidirectional streaming. + rpc StreamUpdate(stream payload.v1.Update.Request) returns (stream payload.v1.Object.StreamLocation) {} + + // A method to update multiple indexed vectors in a single request. + rpc MultiUpdate(payload.v1.Update.MultiRequest) returns (payload.v1.Object.Locations) { + option (google.api.http) = { + post: "/update/multiple" + body: "*" + }; + } +} diff --git a/vald/vald/v1/vald/upsert.proto b/vald/vald/v1/vald/upsert.proto new file mode 100644 index 00000000..4d8417a4 --- /dev/null +++ b/vald/vald/v1/vald/upsert.proto @@ -0,0 +1,49 @@ +// +// Copyright (C) 2019-2024 vdaas.org vald team +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// You may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package vald.v1; + +import "google/api/annotations.proto"; +import "vald/v1/payload/payload.proto"; + +option go_package = "github.com/vdaas/vald/apis/grpc/v1/vald"; +option java_multiple_files = true; +option java_outer_classname = "ValdUpsert"; +option java_package = "org.vdaas.vald.api.v1.vald"; + +// Upsert service provides ways to insert/update vectors. +service Upsert { + // A method to insert/update a vector. + rpc Upsert(payload.v1.Upsert.Request) returns (payload.v1.Object.Location) { + option (google.api.http) = { + post: "/upsert" + body: "*" + }; + } + + // A method to insert/update multiple vectors by bidirectional streaming. + rpc StreamUpsert(stream payload.v1.Upsert.Request) returns (stream payload.v1.Object.StreamLocation) {} + + // A method to insert/update multiple vectors in a single request. + rpc MultiUpsert(payload.v1.Upsert.MultiRequest) returns (payload.v1.Object.Locations) { + option (google.api.http) = { + post: "/upsert/multiple" + body: "*" + }; + } +}